Querying Linked Data on the Web
is a multifaceted story
- Query languages and extensions
- Publication interfaces
- Querying algorithms
- ...
This variety of facets leads to comparability problems
Alternative algorithms are implemented in different engines → unfair!
Need for a flexible query engine
where various querying techniques
can be implemented and compared
Need for a flexible engine to compare alternative algorithms
Need for a flexible query engine
where various querying techniques
can be implemented and compared
- Highly modular meta query engine
- Flexible configuration system
Modularity using the actor model
Logic is separated into different actors.
Each actor independently performs a specific task.
- JSON-LD parsing actor
- SPARQL union actor A
- SPARQL union actor B
Implementation details
- Open-source under MIT license
- Implemented in TypeScript/JavaScript
- 114 separate modules (actors, buses, mediators)
- 1619 unit tests with a coverage of 100%
- Compatible with JavaScript API specification of RDFJS (W3C community group)
Current features
-
Nearly full SPARQL 1.1 support
Handled with an internal SPARQL algebra
-
GraphQL queries
GraphQL is translated to SPARQL algebra
-
Federated querying of heterogeneous sources:
Any combination of sources
-
- Linked Data document
- Triple Pattern Fragment
- SPARQL endpoint
- HDT files
- RDFJS Source
Fair.
Modular.
For everyone.