Versioning for Comunica
Learn more about Comunica on our website.
This is a monorepo that contains packages for allowing Comunica to query over RDF archives that contain multiple versions of a dataset. If you want to use an versioning-enabled Comunica engine, have a look at Comunica SPARQL OSTRICH.
Concretely, versioning is enabled in the following engines:
- Query engine configurations:
- Comunica SPARQL OSTRICH: A Comunica query engine that enables versioned querying over OSTRICH archives.
These engines make use of the following packages:
- Quad Pattern Resolving:
- OSTRICH: Resolves quad patterns to OSTRICH stores.
- Query Operation:
- Contextify Version: Rewrites queries by assuming named graphs references to versions.
- Other:
- Context entries: Reusable context key definitions for versioning.
- Types: Reusable Typescript interfaces and types for versioning.
Warning: All packages in this repo should be considered unstable, and breaking changes may occur at any time.
Click here to learn more about versioning in Comunica.
(JSDoc: https://comunica.github.io/comunica-feature-versioning/)
This repository should be used by Comunica module developers as it contains multiple Comunica modules that can be composed. This repository is managed as a monorepo using Lerna.
If you want to develop new features or use the (potentially unstable) in-development version, you can set up a development environment for Comunica.
Comunica requires Node.JS 8.0 or higher and the Yarn package manager. Comunica is tested on OSX, Linux and Windows.
This project can be setup by cloning and installing it as follows:
$ git clone https://github.com/comunica/comunica.git
$ cd comunica
$ yarn install
Note: npm install
is not supported at the moment, as this project makes use of Yarn's workspaces functionality
This will install the dependencies of all modules, and bootstrap the Lerna monorepo.
After that, all Comunica packages are available in the packages/
folder
and can be used in a development environment, such as querying with Comunica SPARQL OSTRICH (engines/query-sparql-ostrich
).
Furthermore, this will add pre-commit hooks
to build, lint and test.
These hooks can temporarily be disabled at your own risk by adding the -n
flag to the commit command.
This code is copyrighted by Ghent University – imec and released under the MIT license.