New version of contributors file

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.

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 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.

“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”: [
“Monday”,
“Tuesday”,
“Wednesday”,
“Thursday”,
“Friday”,
“Saturday”,
“Sunday”,
“PublicHolidays”
] },
“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)

Help for data modellers

Some of the contributors have requested some help about creating new data models. How to do it and where to do it.

HOW TO CREATE DATA MODELS

1) If you are clear about the payloads that you want to share (you have a plain key values json payload)

i.e. https://raw.githubusercontent.com/smart-data-models/dataModel.Weather/master/WeatherObserved/example.jsonld

2) You can use this tool https://www.liquid-technologies.com/online-json-to-schema-converter (This link is always available in the Learning Zone on the upper menu, section tools)

to generate a draft version of the json schema. You will have to review (for sure).

– Whether you need some restrictions (min, max) on number properties

– The number of required properties

– The full list of options in enumeration properties

– Remove the context (it is treated as property)

– Check the Arrays (minItems, etc)

and possibly some other minor issues

WHERE TO CREATE DATA MODELS

3) We offer an open repository named pending for you to contribute while developing. Ask for access raising an issue with the option ‘Access to pending repository’

http://data-models.fiware.org/index.php/submit-an-issue-2/

Documentation status for all data models

Every day will be checked the documentation available for each data model and the result is dumped in the file documentationStatus.json

It would help a user to identify all the documentation, examples, schemas and specification available and it allows an automated use for any other purpose.

Check it out.

 

Open issues for all data models

There is a new widget on the front page titled “Open PR and issues” there you can browse all the Pull requests contributed by the community and the open issues across all the data models.

Updated every 5 minutes

This way you can be informed about evolution going on and to make sure that all contributions are considered.