On this page
The following guides show how to configure your own Comunica engine, or extend Comunica by implementing new components. If you want to see some full examples, have a look at our dedicated examples repository.
Getting started with modification
Basic guides on how to easily get started with Comunica modification.
Querying with a custom configuration from the command line
Create a custom configuration of Comunica modules with reduced features, and query with it from the command line.
Exposing your custom config as an npm package
Exposing your custom config in a Web client
Demonstrate your query engine as a static Web page.
Contributing a new query operation actor to the Comunica repository
Setup a development environment, implement a new actor, and create a pull request.
Adding a config parameter to an actor
For an existing actor, add a parameter that can be customized in the config file.
Existing extensions of Comunica.
Frequently asked question about Comunica modification.
Advanced guides on how to get the most out of Comunica modification.
The internal representation of queries during query execution.
The low-level software architecture of Comunica for achieving modularity.
The high-level software architecture of Comunica for implementing SPARQL.
All modules in Comunica can be built for the browser.
Buses and Actors
An overview of all buses in Comunica and their actors.
Components.js is the dependency injection framework that Comunica uses to wire components via config files.
Discovery of data source capabilities during query execution.
How to log messages from within actors.
An overview of all mediators in Comunica.
Passively observe actions executed by actors on a given bus.
Query output types
An overview of the different output types for query operations.
RDF Parsing and Serializing
Basic concepts behind parsing and serializing RDF.
The SPARQL expression evaluation engine of Comunica.
The unit and integration tests that lead to a more stable codebase.
Guidelines on running experiments with Comunica.