Comunica: a Modular SPARQL Query Engine
for the Web

Ruben Taelman

D²AI, Square Sainctelette 17, Brussels, 6 February 2020

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 engine to compare alternative algorithms

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

Implementation details

Current features

Using Comunica

Current usage of Comunica

https://comunica.linkeddatafragments.org/

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

Comunica enables research

Comunica enables Solid apps

Comunica enables high-level abstractions

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