Skip to content

Support for multiple @context (aka support for Linked Data) #157

@Martinocom

Description

@Martinocom

The status

The W3C standard for the Thing Description, as of the status on 06/01/2021, describe that it is possible to use multiple context value, passing an array of values.

"@context": [
  "https://www.w3.org/2019/wot/td/v1", {
    "v": "http://www.example.org/versioningTerms#",
    "saref": "https://w3id.org/saref#",
    "om": "http://www.ontology-of-units-of-measure.org/resource/om-2/"
   }
]

Specification can be found in 5.3.1.1 - Thing .
An example of this can be found here and here.

The problems

  1. Specification of the WebThing API is different from the official recommendation of W3C, but is very simple to read and understand: please keep it simple!

  2. This project (like others linked in the official source) has a hard-coded @context to "https://iot.mozilla.org/schemas" that is also no more maintained and prompt to switch into the "https://webthings.io/schemas/". The site says:

Note: This document is no longer maintained and has been replaced by a new specification at webthings.io/schemas.

  1. As a student of University of Bologna I'm doing a small research about WoT and Linked Data. Giving me the possibility to utilize more @context in the Thing Description opens a standardized way to describe ALL the data I have inside a Thing, but this is not possible due this limitation. I cannot indicate more @context and I'm forced to do all referenced to the hard-coded "https://iot.mozilla.org/schemas" that allows me to use only that one hard-coded (not supported) ontology.

To point out better, the Example 28 is NOT compatible with WebThings API, since implements more than one @context.

Without this ability, I'm not able to proceed in my project: I need to contextualize my data in ontologies like SAREF, IoT-Lite, IoT-S and even the less significant ones like ontology-of-units-of-measure or DBpedia to give more opportunities to get ALL the possible data of the system. Why? With that many knowledge it's possible to understand the system, where the things are, and try to create actions that was not originally planned, but can be achieved mixing behaviors of different things.

I don't know if it's planned or not, but I really need this feature.
If not, I'm planning to "wrap" the requested Thing Description into a bigger one with all the ontologies I need to use, and then indicate for the WebThing library the "minimized" version of it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions