In order to reduce the amount of work in the contribution of data models, we have a script that generates the key-values format of a normalized NGSI LD payload.
It has been operated on 46 data models currently in the repository.
In a close future instead of submitting 4 examples, it will be only necessary to include 2 examples, the normalized payloads for NGSI v2 and NGSI LD (the other two would be generated automatically).
All the repositories have been normalized in the naming of the core examples. So:
- Key values in NGSI v2 is named example.json
- Key values in NGSI LD is named example.jsonld
- Normalized (default) in NGSI v2 is named example-normalized.json
- Normalized (default) in NGSI LD is named example-normalized.jsonld
It is possible to have more examples in the directory. And in the same directory of every data model, there are other exports (csv) for the use of the data model users.
The goal is that this 4 examples were present in every data model
Currently, the README.md at data models level (inside every directory in a Subject) explaining the contents of the data models is automated, and therefore there is no need to be contributed by the contributors. See an example here for the weather forecast.
Thus, the README.md is based on the examples provided, the specification and the model.yaml.
Soon the README.md for the Subject will be also automated.
if you are browsing the repository you can realise that now there are several data models ended with the term ‘_incubated’.
This suffix denotes that there will be ‘soon’ a new data model.
The readme in the folder points to the repository where this data model is being created.
Once finished (all the docs, examples, etc) the _incubated suffix will be removed and the data model will be fully included into the data models.
This is the first survey to the USERS of the Smart Data Models. We want to know what is more important to you and try to prioritize our efforts. This is an agile initiative, therefore we will take into very consideration your comments. Your survey is anonymous although if you wish you can include your email in comments and we will contact you regarding your comments.
You can answer it here.
Soon there will be another survey for the CONTRIBUTORS.
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.
|Control of contributions
|Scripts for checking
||Yes (only acceptance and on update)
|Code inside json schema
||Contributor + SDM control
||Yes but not managed
||Yes (Here the open ones)
- Anyone previous pending acceptance
- Members direct
SDM: Smart Data Models initiative
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.
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.
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.