Smart Data Models

In today’s interconnected world wide web, there are tons of different ways to represent data and a lot of different data models. Data models in general define the standardized representation formats and semantics that applications will use to consume and publish data. One could “reinvent” the wheel and create their own NGSI-LD compatible data models, but ontological types are meant to be shared, and defining customized or ad hoc types to be used in one single environment or application normally defeats their purpose. There exists a big helpful ngsi-v2 and ngsi-ld model collection available to be used. These are the Smart Data Models which is a collaborative endeavor spearheaded by the FIWARE Foundation, TMForum, IUDX, and OASC, among others. These data models are open-source, allowing for free use, modification, and sharing of modifications, and have been harmonized to enable data portability for a variety of applications, including Smart Cities, Smart Agrifood, Smart Environment,Smart Energy, Smart Water, Smart Destination,Smart Robotics and Smart Manufacturing. They should be utilized in accordance with FIWARE NGSI version 2 and NGSI-LD. They also have some neat extras, such as a ngsi-ld payload generator based on a smart data model and a schema validator of payloads. The urban mobility and transportation data models seem to cover the needs of a smart bus application, with little to no need for modifications.

Ok we know now that there are existing models we can use, where can we find them and what examples of their usage are there?

There are 2 different important links for the smart data models project:

One is the main webpage of the project: https://smartdatamodels.org

And the other is the main github repository of the project: https://github.com/smart-data-models

On the webpage one can navigate to the domain of interest and find the one that is relevant to their current work.

Untitled

Important Reminder: Following the smart data models' modeling is not mandatory but it is important to remember that all information that is to be passed to the server, needs to be in NGSI-LD format. The way you create and pass the entities to the broker from the available data is up to you.

Example

Lets say we are interested in creating an application for smart aircraft transportation:

From the above domains obviously the one we are mostly interested in is the Smart Aeronautics one, so we click on it. It will redirect us to the relevant github page of this data model collection.

Untitled

We will then look at the underlying data models and choose the ones we are concerned about.

Untitled

Lets take a look at the Aircraft data model. We can see the following information in the README.md