Siemens feedback on implementing a Thing Description repository using a SPARQL Endpoint

Intervenant⋅e⋅s

Résumé

Web of Things (WoT - https://www.w3.org/WoT/) is a standardization approach for a convergence layer on top of existing IoT architectures driven by the World Wide Web Consortium (W3C).

Among other building blocks like Scripting API, Protocol Binding Templates, and Discovery, WoT defines a central element called Thing Description (TD - https://www.w3.org/TR/wot-thing-description/) as an entry point describing connectivity, security, and semantics of the underlying physical or virtual entity. TDs provide a set of interactions based on a small vocabulary that makes it possible to integrate diverse devices and to allow diverse applications to interoperate.

In order to make TDs available within a WoT eco-system, a Thing Description Directory (TDD - https://w3c.github.io/wot-discovery) having a defined API allowing registration, management, and search of TDs can be put in place.

Since Siemens is intensively using TDs within its building automation suite (see e.g. https://mybuilding.siemens.com/D015628993239/Help/EngineeringHelp/en-US/17505534731.html), there is a demand for a flexible, scalable, and robust TDD to pave the path towards future customer offerings. Therefore Siemens started an exploration project with Logilab aiming at having a solid proof-of-concept (PoC) as a result.

We would like to present our PoC implementation of a TDD using a SPARQL endpoint as TD storage: The main requirement is that the strictly formatted JSON-LD input data must be transformed into valid RDF to be stored and to be restored to its original format when being retrieved. We faced several issues since it is trivial to transform JSON-LD into RDF triples but it is not straightforward to do the inverse operation, i.e. enable TD roundtripping.

We will discuss about the issues we encountered while doing so, present our solution, and discuss about our contribution to the development and improvement of the TD/TDD standards.