Draft specifications for thing descriptions and a serialisation using JSON

During last week’s face to face I created a draft specification with a view to sharing ideas on how thing descriptions could be formally based upon Linked Data, and another draft specification on how they could be expressed simply in JSON with an algorithmic transformation to Linked Data. See:

     https://github.com/w3c/wot/blob/master/thing-description/td-draft-spec-dsr.md <https://github.com/w3c/wot/blob/master/thing-description/td-draft-spec-dsr.md>
     https://github.com/w3c/wot/blob/master/thing-description/json-to-ld-dsr.md <https://github.com/w3c/wot/blob/master/thing-description/json-to-ld-dsr.md>

You can see lots of examples for how this can be applied to OCF and oneM2M, etc. at

    https://www.w3.org/WoT/demos/td2ttl/ <https://www.w3.org/WoT/demos/td2ttl/>
    https://www.w3.org/WoT/demos/td2ttl/oic.html <https://www.w3.org/WoT/demos/td2ttl/oic.html>
    https://www.w3.org/WoT/demos/td2ttl/m2m.html <https://www.w3.org/WoT/demos/td2ttl/m2m.html>

These examples omit the linking to semantic models, but see the presentation from the breakout session

    https://github.com/w3c/wot/blob/master/PRESENTATIONS/linked-data-osaka-2017.pptx

They also omit the IoT platform metadata that is needed for the binding to a specific IoT standards suite and device.

During the face to face it became clear that some people, e.g. Matthias, would like to focus on generic drivers that can be adapted to a specific standard (e.g. OCF) with rich metadata. Other people feel that that is unlikely to scale across a broad range of IoT standards due to the considerable variation in details for protocols, communication patterns, security, and URI parameters. This variation can be addressed by using an RDF concept to identify specific IoT platforms, together with the use of a minimum set of platform specific metadata. Where practical, we would use cross platform metadata, e.g. for sensor sampling rate, latency, source or sink URI and so forth.

This seems like fertile ground for experimentation!

The above draft specifications avoid a dependency on JSON Schema, which at this time is not yet a formal standard that could be normatively referenced from a W3C Recommendation. I have included the full range of data types that I found were necessary for the OCF and oneM2M use cases. This includes application defined datatypes where a named data type is defined along with its metadata. This avoids the need for redundant duplication when a data type is used multiple times.

I have also avoided a dependency on JSON-LD as I believe that JSON-LD 1.0 complicates the use of JSON especially for more complex thing descriptions.  There seems to be a move to start work on standardising JSON-LD 1.1, but as far as I am aware, that wouldn’t result in the same ease of representation as proposed here.

Your comments are welcomed!


Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett
W3C champion for the Web of things

Received on Monday, 22 May 2017 08:25:58 UTC