Comunica Introduction

Example code
Video recording


Ruben Taelman

Comunica Webinar, 17 May 2022

Comunica Introduction

Ghent University – imec – IDLab, Belgium

Knowledge Graphs on the Web
are a multifaceted story

Difficulties for app developers

Abstract access to Knowledge Graphs

Hide the complexities of reading and writing for app developers

Application Comunica Logo Globe

Image credit

Queries as abstraction layer

SPARQL, GraphQL, ...

Heterogeneity and Federation

Flexible and Modular Meta-Query Engine

Comunica is Open

Comunica Association: a non-profit

Bounties
→ We are looking for new sponsors and developers
Learn more: https://comunica.dev/association/

💻 Usage on the command-line

Learn more: https://comunica.dev/docs/query/getting_started/query_cli/

💻 Usage in an app

Learn more: https://comunica.dev/docs/query/getting_started/query_app/

💻 Federated querying

Learn more: https://comunica.dev/docs/query/advanced/federation/

Advanced topics

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 are grouped in task-specific buses.

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

Example: Parse as fast as possible

Overview of actors and buses

SPARQL architecture
Learn more: https://comunica.dev/docs/modify/advanced/architecture_sparql/

Modules are wired together through semantic configuration files

Components.js: a semantic dependency injection framework.

Configuration files declare and parameterize actors, mediators and buses.

Links all the building blocks together, without having to do this in the code!

Query plan

Blueprint of how the engine executes a query

Learn more: https://comunica.dev/docs/query/getting_started/query_cli/

💻 Explaining query plans

Learn more: https://comunica.dev/docs/query/advanced/explain/

Alternative configurations

Different engines can be built by plugging in other components

Or create your own engine: https://comunica.dev/docs/modify/

Comunica abstracts access
to Knowledge Graphs