Abstract
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.