2

We can see that the < flexcontainer> has [customAttribute] and < semanticDescriptor> properties in Table 9.6.35-1(TS-0001). The [customAttribute] property can hold values for < flexcontainer>.

< semanticDescriptor> holds some RDF which has relationships and values, but we can also store these values on [CustomAttribute] property right? So, why we need < semanticDescriptor> attribute in < flexcontainer> ?

Andreas Kraft
  • 3,754
  • 1
  • 30
  • 39
Bilgehan
  • 305
  • 1
  • 3
  • 13

1 Answers1

3

You can define a new <flexContainer> specialisation that contains in addition to the actual functional data points an extra attribute where you can store an RDF or a reference to an RDF. But then you cannot utilise all the semantic support that the CSE provides.

The <semanticDescriptor> is not just an attribute but a child resource of most other resource types. It is used to store a semantic description (an RDF description) for the parent resource. But it could provide more information than just the RDF, for example an ontology reference, related semantics, or a status regarding the semantic validity of the description.

But more importantly, adding a <semanticDescriptor> to a resource enables the full range of semantic support of a CSE for that resource, ie. semantic filtering, discovery and querying, reasoning, data analytics, mash-up, semantic validation etc.

Please have a look at oneM2M's TS-0001, chapter 9.6.30 - "Resource Type semanticDescriptor" for a description of the resource type. The general specification of semantic support in oneM2M can be found in TS-0034 "Semantics Support".

Andreas Kraft
  • 3,754
  • 1
  • 30
  • 39
  • 2
    Also this is helpful. http://www.onem2m.org/insights/executive-viewpoints/309-why-semantic-interoperability-is-so-important-to-the-iot-industry – Barış Velioğlu Apr 18 '19 at 10:36