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.
1.- It is just a technical improvement but now you can access everything in this site with https://data-models.fiware.org.
2.- The issue form has also been improved with new options but simplified structure.
Check it out and please report any issue.
Every subject had a file named CONTRIBUTORS.md 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 CONTRIBUTORS.md will be removed from the different repos.
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 schema.org 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 schema.org) 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.
“description” : “All date-time elements in data models unless explicitly stated are ISO 8601 compliant”,
“description”: “A structured value providing information about the opening hours of a place or a certain service inside a place.”,
See it in the original file common-schema.json.
Now it is based on a responsive interface with these options:
- Sort any column
- Search on any value across the different columns
- 50-pages pagination
check it out
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.
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)
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)