On this page
This page gives an overview of the long-term goals of Comunica.
In addition to specification compliance, Comunica is being built with possible future specifications in mind. Comunica should become a testbed for easily testing out new query features and techniques. For instance, for efforts such as RDF*/SPARQL* and SPARQL 1.2.
While the architecture of Comunica has been built with this flexibility in mind, some specific changes will need to be made before this is possible. For instance, testing new SPARQL 1.2 query features will require the development of a new SPARQL query parser, since our current parser (SPARQL.js) is not flexible enough in that respect.
Different forms of query execution
Comunica's current query execution model relies on defining a set of data sources to query over. While this traditional form of query execution works well in many cases, it can be too constrained in cases where data is spread over many sources across the Web, which are interlinked.
One alternative form of query execution is Link-Traversal-based Query Execution, where links are followed on the Web to find data.
A future goal of Comunica is the integration of such alternative forms of query exection.
Alternative query languages
SPARQL is currently the (only) recommended way of querying knowdlege graphs that are represented in RDF. However, there is a wide range of new graph query languages emerging, such as GraphQL, Cypher and GQL, each having their own advantages. As such, being able to express queries over knowledge graphs in different languages may be valuable for different use cases.
For instance, GraphQL-LD already offers one alternative language in which queries can be expressed. Compared to SPARQL, GraphQL-LD is less complex, but also less expressive.
In order to lower the entry barrier to Comunica, this website is being built to act as a full reference guide.
The focus of the website is two-fold:
- Document how to query with Comunica
- Document how to modify Comunica
Both parts of the website should explain all possible capabilities of Comunica regarding querying and modification. Furthermore, several guides on how to perform common tasks should be present.
Next to documentation, code-specific adjustments are needed to make it easier for developers to work with and in Comunica. For example, errors can sometimes be too cryptic, which hinders development.
A list of all open developer experience issues can be found here.