Approximate Membership Functions for Comunica
Learn more about this Comunica AMF functionality on our website.
This is a monorepo that contains packages for allowing Comunica to handle approximate membership functions. If you want to use an AMF-enabled Comunica engine, have a look at Comunica SPARQL AMF.
Concretely, this monorepo adds AMF support to Comunica using the following packages:
- RDF Membership Filter Bus: A bus for actors that can construct approximate membership filters.
- Bloom RDF Membership Filter Actor: An approximate membership filter actor for constructing Bloom filters.
- GCS RDF Membership Filter Actor: An approximate membership filter actor for constructing GCS filters.
- Membership Metadata Extractor Actor: An actor that extracts approximate membership filter metadata, and dynamically constructs membership filters.
- AMF Quad Pattern Actor: An AMF-aware quad pattern actor.
- AMF BGP Actor: An AMF-aware BGP actor that applies filters on separate patterns.
- Combined AMF BGP Actor: An AMF-aware BGP actor that combines filters and executes them on all relevant patterns to achieve a higher filtering yield.
(JSDoc: https://comunica.github.io/comunica-feature-amf/)
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 AMF (packages/actor-init-sparql-amf
).
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.