Leveraging W3C Web of Things for knowledge graphs generation

Dylan Van Assche, Gerald Haesendonck, Gertjan De Mulder, Thomas Delva, Pieter Heyvaert, Ben De Meester, Anastasia Dimou

ICWE2021

Leveraging W3C Web of Things for knowledge graphs generation

Dylan Van Assche, Gerald Haesendonck, Gertjan De Mulder, Thomas Delva,
Pieter Heyvaert, Ben De Meester, Anastasia Dimou

@DylanVanAssche
IDLab logo Ghent University logo imec logo RML logo
Knowledge Graph generation history
Knowledge Graph generation history
Knowledge Graph generation history
Knowledge Graph generation history
Knowledge Graph generation history
Knowledge Graph generation history
Knowledge Graph generation history

We improved the workflow reproducibility of knowledge graphs generation

Re-use W3C recommendations for accessing Web API and streams

Introduce descriptions for exporting knowledge graphs

Describe in the rules for a reproducible workflow

We validate our approach in two use cases: ESSENCE & DAIQUIRI

ESSENCE
Generate RDF from Web API of Smart City sensors to multiple targets

DAIQUIRI
Generate RDF from MQTT data stream of health sensors to multiple targets

ESSENCE: http://imec-int.com/en/what-we-offer/research-portfolio/essence
DAIQUIRI: http://imec-int.com/en/what-we-offer/research-portfolio/daiquiri

Overview

Mapping languages, RML, and FnO

Integrating W3C Web of Things with RML

Extending RML with Logical Target

Overview

Mapping languages, RML, and FnO

Integrating W3C Web of Things with RML

Extending RML with Logical Target

Mapping languages are declarative descriptions for generating knowledge graphs

Mapping languages describe how data are transformed into knowledge graphs using the Resource Description Framework (RDF)

Mapping languages are re-usable and independent from specific processors

We demonstrate our approach with RDF Mapping Language (RML)

RDF Mapping Language (RML) is a
mapping language based on R2RML

RML broadens the scope of the W3C Recommendation R2RML

RML describes how heterogeneous data are transformed into RDF

Processors e.g. RMLMapper & RMLStreamer execute RML mapping rules

RML: http://rml.io/specs/rml
R2RML: http://w3.org/TR/r2rml

RML logo

Function Ontology (FnO) describes
data transformations

Function Ontology (FnO) semantically declares and
describes functions, without depending on the implementation

FnO is aligned with RML to describe data transformations in rules

Functions Ontology logo

FnO: http://fno.io/spec

RML and FnO filled in
RML and FnO filled in
RML and FnO filled in

Overview

Mapping languages, RML, and FnO

Integrating W3C Web of Things with RML

Extending RML with Logical Target

Pre-processing Web APIs/streams is W3C Web of Things focus

W3C Web of Things avoids pre-processing for accessing Web APIs and streams

W3C Web of Things (WoT) are W3C recommendations for accessing, securing, and deploying of Internet of Things

Our approach uses a subset of the W3C Web of Things recommendations to describe Web APIs and streams access and security

W3C Web of Things: http://w3.org/WoT

W3C Web of Things aligned
with mapping languages

Web of Things logo

WoT Thing Description: http://w3.org/TR/wot-thing-description
WoT Security: http://w3.org/TR/wot-security
WoT Binding Templates: http://w3.org/TR/wot-binding-templates

Mapping Language Processors directly access Web APIs and streams through Web of Things

RML + WoT Processor diagram

RML with W3C Web of Things is validated in
use cases with RMLMapper and RMLStreamer

Our approach is implemented in the RMLMapper and RMLStreamer,
and validated in two use cases:

  1. ESSENCE: accessing HTTP Web API with authentication
  2. DAIQUIRI: accessing MQTT data stream

RMLMapper: http://github.com/RMLio/rmlmapper-java
RMLStreamer: http://github.com/RMLio/RMLStreamer

ESSENCE use case: W3C Web of Things describes Web API with authentication

ESSENCE use case with Web of Things

ESSENCE: http://imec-int.com/en/what-we-offer/research-portfolio/essence

DAIQUIRI use case: W3C Web of Things describes MQTT data stream

DAIQUIRI use case with Web of Things

DAIQUIRI: http://imec-int.com/en/what-we-offer/research-portfolio/daiquiri

Overview

Mapping languages, RML, and FnO

Integrating W3C Web of Things with RML

Extending RML with Logical Target

Post-processing focus of Logical Target

Logical Target describes how knowledge graphs are exported

Logical Target is a declarative description for mapping languages to export knowledge graphs to various targets.

Logical Target: http://rml.io/specs/rml-target

Logical Target specifies the export location,
serialization and compression

Logical Target structure

formats: http://w3.org/ns/formats
comp: http://semweb.mmlab.be/ns/rml-compression#

Example: Exporting knowledge graph to a local file, as N-Quads, with GZip compression

Logical Target structure example

void: http://rdfs.org/ns/void#
formats: http://w3.org/ns/formats
comp: http://semweb.mmlab.be/ns/rml-compression#

Logical Target aligns with RML through rml:logicalTarget

rml:logicalTarget property connects RML Term Maps with Logical Target

Exporting defined on RDF term level for fine grained control

Export to one or multiple targets

All generated triples from a RML Term Map are exported to a Logical Target

RML + Logical Target Processor diagram

Example: Export generated RDF to multiple targets through RML Term Maps

RML + Logical Target example

Logical Target is validated in
ESSENCE & DAIQUIRI use cases

Our approach is implemented in the RMLMapper and RMLStreamer,
and validated in ESSENCE & DAIQUIRI use cases with two targets:

  1. Local file: N-Quads with GZip compression
  2. SPARQL endpoint: SPARQL UPDATE queries

RMLMapper: http://github.com/RMLio/rmlmapper-java
RMLStreamer: http://github.com/RMLio/RMLStreamer

ESSENCE & DAIQUIRI use cases:
Export generated RDF to multiple targets

ESSENCE and DAIQUIRI use cases export to multiple targets

ESSENCE: http://imec-int.com/en/what-we-offer/research-portfolio/essence
DAIQUIRI: http://imec-int.com/en/what-we-offer/research-portfolio/daiquiri

   REWIND

A short recap

Recap

Mapping languages, RML, and FnO

Integrating W3C Web of Things with RML

Extending RML with Logical Target

Conclusion

Integrating W3C Web of Things and Logical Target in your workflow:

Makes your workflow reproducible across machines,

independent of processor-specific parameters,

and exportable to multiple targets.

Check it out!

http://rml.io/specs/rml-target
http://github.com/RMLio

IDLab logo Ghent University logo imec logo RML logo

Questions?

IDLab logo Ghent University logo imec logo RML logo