New harmonization repository

In order to provide a more transparent and participative approach to the creation and maintenance of data models, here you can see the three stages for a usual data model to be part of the official list of data models.

1.- Pending is the ‘wild’ zone where developers share their thoughts and create their data models. When finished (ready) they can create a PR on the right Subject repository.

2.- Harmonization is the repository for those new accepted models while they are fine-tuned or completed

3.- Subject means the repository in which the data model is officially published. Once there they are versioned when necessary.

Pending Harmonization Subject
Control of contributions No Yes Yes
Scripts for checking No Yes (specific) Yes (only acceptance and on update)
Code inside json schema No Harmonizing Local standard

Global standard

Versioning No No Yes
Managed Each contributor Contributor + SDM control SDM control
In domain No No Yes
Accept issues Yes but not managed Yes Yes (Here the open ones)
First Access Anyone
  1. Anyone previous pending acceptance
  2. Members direct

SDM: Smart Data Models initiative

Connection with European open data portal

The European open data portal is possibly the biggest open data portal in the world with more than one million free datasets coming from 36 countries.

One of the mechanisms to access its data is the use of the standard of DCAT-AP standard 2.0 which defines its catalogue of resources.


In the repository pending there are two data models, in progress to connect a dataset and a distribution as an additional resource by using NGSI. The idea is to create a script to map this resource into NGSI.

Updated the csv examples

Every data model has a directory with examples of the payloads (json and jsonld) in key-values and normalized formats.

But it also includes examples of csv that it could help to connect the data models for other platforms.

Now, these examples are re-created automatically once a day.

The naming convention for these examples are the same name of the original payload plus a .csv suffix.

An example for the Battery data model examples.


Searchable descriptions of data models

In the upper menu (option Search descriptions) there is a searchable database of the descriptions for all the properties across the different data models.
Try it out here.

This DDBB is updated daily.

Working with https and improvement in the issue form

1.- It is just a technical improvement but now you can access everything in this site with

2.- The issue form has also been improved with new options but simplified structure.

Check it out and please report any issue.


New version of contributors file

Every subject had a file named which compiles all contributors to the different data models in this subject. However, from the point of view of the management, it was not a structured format. Due to this, it is going to be replaced with a new file named CONTRIBUTORS.yaml with the same info but structured so we could manage properly and answer questions like:

  • How many contributors collaborate in this subject?
  • How many subjects are being contributed by this person?
  • What organisations are contributing to the initiative?

Now there is also a field for allocating comments.

The format is friendly enough to be simply edited but at the same time, it can be automatically processed.

Next week will be removed from the different repos.

New commons section for data models

There is a new common section, named “DateTime-Commons“,  in the file common-schema.json (the one which is partially included into most of the data models) because it compiles some shared elements (like Location-Commons or GSMA-Commons).
This section includes the first element, which is the mapping into a property (type object) of the class OpeningHoursSpecification. (see below)

So whenever there is an opening hours specification this would be the chosen format. (It is true that there is a similar property named OpeningHours, also mapped in that it is only a text (oriented to be printed more than queried).

It only affects the museum data model that it will be updated after gathering the feedback of the contributors.

The new section included.

“DateTime-Commons”: {
“type”: “object”,
“description” : “All date-time elements in data models unless explicitly stated are ISO 8601 compliant”,
“properties”: {
“openingHoursSpecification”: {
“type”: “array”,
“description”: “A structured value providing information about the opening hours of a place or a certain service inside a place.”,
“items”: {
“properties”: {
“opens”: {
“type”: “string”,
“format”: “date-time”
“closes”: {
“type”: “string”,
“format”: “date-time”
“dayOfWeek”: {
“type”: “string”,
“enum”: [
] },
“validFrom”: {
“type”: “string”,
“format”: “date-time”
“validThrough”: {
“type”: “string”,
“format”: “date-time”
“minItems”: 1

See it in the original file common-schema.json.

Updated the attributes search data base

In order to create a new data model is always interesting what others have done in order copy and to maintain interoperability.

That’s why we have available a database with all attributes and enumerations across all data models.

Now it’s updated daily and the number of occurrences is also available.

What’s is your opinion of the new specification model?

We are testing a potential new format for the specification that

1) makes easier for people to read the specification

2) provides additional utility to be connected with other platforms making NGSI more compatible

Could you check these two new specifications Building, BuildingOperation compared with the old two Building, BuildingOperation and gives us your opinion?

(once in, click on the name of the object for deploying all the content)

[cf7form cf7key=”new-specification-format”]

The actual new specs are here without viewer (building, building operation) what you see above is generated automatically from the yaml specs.

What’s the idea behind adopting yaml specifications? To allow multiple evolutions (automatic multilanguage spec, integration with other platforms, etc)