Drafting service for creation of automatic payloads of a Smart Data Model

We are in the way of creating a service for testing purposes for getting payloads according to a data model.

The service is under debugging, so it cannot be trusted for production purposes. Let us know issues here

In order to access it has to access this URL (https://smartdatamodels.org/extra/payload_generator.php) with these two parameters token and dataModel

I.e. with a weather observation in the link below:

https://smartdatamodels.org/extra/payload_generator.php?token=sSdme8954c9&dataModel=%22WeatherObserved (reload page several times for generation)

In the production stage, there will be necessary a token in order to, if necessary, to limit the access for a single user. Additionally, it should be available the options of normalized and keyvalues and for the NGSI v2 and LD.

Comments are welcomed

Drafting service for checking properties of a new data model

We are in the way of creating a service for those contributors willing to contribute with a complete data model.

The service is under debugging, so it cannot be trusted for production purposes. Let us know issues here

In order to access it has to access this URL (https://smartdatamodels.org/extra/check_properties.php) with this parameter ?urlSchema=[url of the raw access o the JSON schema]

I.e. a complete link could be

https://smartdatamodels.org/extra/check_properties.php?urlSchema=https://raw.githubusercontent.com/smart-data-models/dataModel.Agrifood/60755d5e970f18938a59dcb190a91ac5622c6c11/AgriParcel/schema.json

It returns a JSON payload indicating if this property is available for use (not used in any other data model) or in the case it is already being used what data models are currently using.

Official list of unitcodes

Whenever there is measurement it could be necessary to use the unitCode for setting the units for the value.

Now the guidelines for the data model’s creation include the place to find out these unit codes. See section units.

The list of UN/CEFACT Common Code (3 characters) can be download from this page. Or the list directly from here.

Automatic creation of examples

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

Making examples more consistent

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

Automated README for Subjects

As promised the README.md at Subject level explaining the different data models is automated, and therefore there is no need to be contributed by the contributors. See an example here for the weather subject

Thus, the README.md is based on the data models and their descriptions, linking to the current contributors

Soon the README.md for the domain will be also automated.

Best

Replaced CONTRIBUTORS.MD by CONTRIBUTORS.yaml

Now in the root of every subject, you can find only the file CONTRIBUTORS.yaml with the current contributors to the data model of the subject.

The old file CONTRIBUTORS.md is being removed.

CONTRIBUTORS.yaml is a structured format that allows automatic treatment globally across the initiative. It compiles the full name of the contributor, his/her organization, and their project and comments if necessary.

If you keep seeing it is because you are not looking at the master branch but in a specific commit (like it happens in the submodules). We update the branches in submodules daily, so tomorrow it will not appear unless you want it to go to former commits.

See one example.

 

Automated README.md for data models

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.

Incubated data models

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.
some examples:

Floor_incubated

BuildingType_incubated

PhreaticObserved_incubated

etc