Search code examples
onem2m

oneM2M base ontology: How to finish a sample and simple instantiation?


I am implementing the oneM2M spec and now I am starting to implement the SemanticDescriptor resource. But first I am trying to understand the oneM2M base ontology and they are related... I already read document: TS-0012-V3.7.3-Base Ontology and others related with the subject.

My first question is: is there any sample instantiation of the oneM2M base ontology for a specific domain or application domain? Can not find any.

I started to represent a light bulb oneM2M resource (as a sample) using this ontology and I got (so far) the attachment image. Thus, until TurnLightOn (Operation) it seems clear but then I got stucked.

How can I go further having in mind that the ontology instantiation should indicate to other applications and users how the light bulb could be turned on (probably by writing something to a specific container (specific con in contentinstance))? Which classes should I use next? which kind of variables? Which kind of literals?

Any help would be very appreciated.

Graphical representation so far

After reading the TS-0012-V3.7.3-Base Ontology pdf I started to implement the ontology instantiation. I got stucked... I tried to find any other documents referring oneM2M base ontology but did not find any (detailed) sample.


Solution

  • The oneM2M base ontology is not a complete ontology by itself, but is meant to provide a way to map other ontologies to oneM2M concepts. One example for this is SAREF, one of the most advanced ontologies for smart appliances and IoT. See https://ontology.tno.nl/saref.

    The base ontology in TS-0012 describes in very basic concepts what is an input and what an output argument, what is an operation, what is operation input, operation output, meta data etc. The actual mapping for, for example, a <container> to any of these concepts must then be described in a semantic descriptor, for example in a is-a relation. The full set of semantic classes and properties is described in that specification. Also described there in annex B.1 is the mapping to SAREF.

    To learn about semantics in oneM2M: there are a couple of video tutorials available on the oneM2M wiki at https://wiki.onem2m.org/index.php?title=Semantic_tutorials

    Another presentation at IETF can be found here: https://www.ietf.org/proceedings/interim-2017-t2trg-02/slides/slides-interim-2017-t2trg-02-sessa-07-onem2m-00.pdf
    This presentation also introduces another "semantics-light" concept by oneM2M: The Smart Device Template (SDT), which breaks device functionalities into "ModuleClasses" with fixed implicit semantic data models that may be combined to create prototypical devices. This is specified in TS-0023. (Disclaimer: I am the current maintainer of the SDT and the TS-0023 specification).