This project has declared the following modules:
|The Core module (ks-core) contains core abstractions and basic functionalities shared by the KnowledgeStore Frontend Server and the Java Client. It also defines the Java version of the KnowledgeStore API.
|KnowledgeStore Java Client
|The HTTP server module (ks-server-http) implements the Web API of the KnowledgeStore, which includes the two CRUD and SPARQL endpoints. The CRUD Endpoint supports the retrieval and manipulation of semi-structured data about resource, mention, entity and axiom records (encoded in RDF, possibly using JSONLD), and the upload / download of resource representation. The SPARQL Endpoint supports SPARQL SELECT, CONSTRUCT, DESCRIBE and ASK queries according to the W3C SPARQL protocol. The two endpoints are implemented on top of a component implementing the KnowledgeStore Java API (the Store interface), which can be either the the KnowledgeStore frontend (ks-frontend) or the Java Client. The implementation of the module is based on the Jetty Web sever (run in embedded mode) and the Jersey JAX-RS implementation. Reference documentation of the Web API is automatically generated using the Enunciate tool.
|The Virtuoso server module (ks-server-virtuoso) provides an implementation of the Triple Store server-side component (API in ks-triplestore) on top of the OpenLink Virtuoso triple store, a scalable native code triple store that is accessed as an external service. The Virtuoso Sesame driver, which builds on the Virtuoso JDBC driver, is used to remotely access the Virtuoso server for writing data and performing SPARQL queries. For performance reasons, data modification is performed in a non-transactional way, with the module managing possible failures in a way that trigger the external repopulation of the Virtuoso triple store starting from the master copy of data stored in the Data Store component.
|The HBase server module (ks-server-hbase) provides an implementation of the Data Store internal sub-component of the Knowledgestore based on the Apache HBase no-sql store, exploiting OMID and Apache Avro to support, respectively, operation transactionality and serialization of efficient serialization of structured data in byte strings.
|KnowledgeStore NAF Populator
|KnowledgeStore RDF Populator
|A collection of command line tools for interacting with a KnowledgeStore server, including benchmarking tools to create and perform a performance test of KS retrieval methods as well as a tool for dumping the contents of a KS instance to RDF files.