Comunica: a Modular SPARQL Query Engine
for the Web

Ruben Taelman

Institute for Information Business, WU Vienna University of Economics and Business, 5 December 2019

Comunica: a Modular SPARQL Query Engine
for the Web

Ghent University – imec – IDLab, Belgium

Querying Linked Data on the Web
is a multifaceted story

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

Modularity using the actor model

Logic is separated into different actors.

Each actor independently performs a specific task.

Actors can be combined for solving more complex tasks.

Actors subscribe to task-specific buses.

Mediators are responsible for selecting an actor to solve a certain task.

Example: Parse as fast as possible

Modules are wired together through semantic configuration files

Components.js: a semantic dependency injection framework.

Configuration files declare and parameterize actors, mediators and buses.

Implementation details

Current features

Using Comunica

Current usage of Comunica

Comunica enables research

Comunica enables Solid apps

Comunica enables high-level abstractions

Developers don't like writing SPARQL queries → developer-friendly abstractions

https://comunica.linkeddatafragments.org/