Skip to content

NOTE: Link information for data models

Ari Keränen edited this page Oct 13, 2022 · 26 revisions

Scratchpad for information and pointers for "link" information for data models, in particular for SDF

Types of links

There are different kind of information elements that can be called "links".

  • sdfRef is a link for extending / re-using SDF definitions
  • sdfRelation adds "ability to describe additional information on how different definitions relate to each other."
  • "link data type" (or property), currently not explicitly specified for SDF, can contain values that can be interpreted as a link to e.g., other SDF / ecosystem model definitions, other resources (i.e., any URL), named items (e.g., URNs), etc.

LwM2M models and link resources

There are two types of link data types in LwM2M: CoRE links (RFC6690) and Object Links. CoRE link “is used to refer to Resources on a LWM2M Client and their attributes” and Object Link “is used to refer to an Instance of a given Object” (essentially a pair of Object and Object Instance IDs).

Options for SDF "link data type"

The "link data type" links could be modeled in various different ways in SDF. More exploration is needed to determine best option.

Possibilities include:

  • New "sdfFormat" keyword with a value "link" (or more specific, like "coreLink" and "objLink") to indicate that a string value has certain format and semantics (similar to JSO "format" keyword but with SDF specific values). Open question: should we support formats from namespaces, like "oma:objLink", or should those be registered instead?
{
 "sdfProperty": {
  "LinkToResource": {
   "type": "string",
   "sdfFormat": "coreLink"
  } 
 }
}
  • Adding new sdfType "link" (and/or "coreLink" and "objLink"). Same registry / namespace considerations apply as for sdfFormat.
{
 "sdfProperty": {
  "LinkToResource": {
   "type": "string",
   "sdfType": "link"
  } 
 }
}
  • Extending sdfRelation to emulate "link data type"
{
 "sdfRelation": {
  "LinkToResource": {
   "somethingspecialhere" : true
  } 
 }
}

Both sdfFormat and sdfType could include a registry for more detailed link types for ecosystems. Also both need a way to tell apart CoRE Links and Object Links for OMA models. The former may be a generic type but Object Link is likely ecosystem specific.