Smart water and Smart Environment: Updated WaterQualityObserved in water quality repository

The data model WaterQualityObserved has been expanded to include 3 new properties:

  • BOD: Biochemical oxygen demand (BOD) is the amount of dissolved oxygen (DO) needed (i.e. demanded) by aerobic biological organisms to break down organic material present in a given water sample at certain temperature over a specific time period
  • COD: Chemical oxygen demand (COD) is an indicative measure of the amount of oxygen that can be consumed by reactions in a measured solution
  • PO4: Concentration of phosphates

Additionally, the data model of WaterQualityObserved has been moved from the dataModel.Environment repo to the dataModel.WaterQuality subject.

In order to preserve the relationship with the SmartEnvironment domain the subject dataModel.WaterQuality has been linked to it.

 

Improved the database of properties

The database for the searching on data models, properties and their descriptions has been expanded to allow filtering also by :

  • NGSI type (one of Property, Relationship or Geoproperty)
  • data type (string, number, boolean, array, object, etc)

Additionally, it has been updated containing more than 11.000 items

Accessible from the front page in this widget (Structured check)

You can export the results

Specifications in languages in the readme of the data models

Now you can see the links to the specification in two languages, Spanish y French in the README.md of every data models. German and Japanese are in the queue.

See here an example

 

All specifications updated

All the specifications (the text descriptions of the data model located in the /doc directory of each daat model) for the different domains and languages (currently French and Spanish besides English) have been updated to the new format. See an example in Spanish and French.

All of them are generated automatically from the json schema (which is the unique source of truth for the data model)

The contribution manual explains further details.

Raise an issue for any point you find in the new format.

 

 

Check a schema validates a payload

If you want to check if a schema validates a payload  through this API call

Call: https://smartdatamodels.org/extra/validate_payload.php

Parameters: (Mandatories)

  • payloadUrl: The url of the payload in RAW version
  • schemaUrl: The link to the RAW version of the json schema (see example)

Example: https://smartdatamodels.org/extra/validate_payload.php?payloadUrl=https://raw.githubusercontent.com/smart-data-models/dataModel.Battery/master/Battery/examples/example.json&schemaUrl=https://raw.githubusercontent.com/smart-data-models/dataModel.Battery/master/Battery/schema.json

Output: A json payload with these properties

  • result: Boolean. if the schema validates the payload.
  • time: time stamp in ISO 8601 (CET) of the validation
  • payloadUrl: The url of the payload in RAW version submitted
  • schemaUrl: The link to the RAW version of the json schema submitted

on error

  • cause: The description of the cause for the rejection to the validation

updated the contribution manual

The contribution manual (link in the upper menu of main page) is updated due to the change in the approach for documenting the data models.

Main changes:

  • Properties’ definitions are now included as an attribute in the json schema
  • The specification is generated automatically based on the json schema
  • Json schema has to pass a test to be approved.

See the rest of changes in the link

Create automatically the specification of your data model

The new version of the smart data models specification is on progress (most of the /doc directories of the data models have a version). If you want to check how this would look like you can have through this API call

Call: https://smartdatamodels.org/extra/create_spec.php

Parameters: (Mandatories)

  • dataModel: The name of the entity for the specification
  • schemaUrl: The link to the RAW version of the json schema (see example)
  • examplesUrl: the url of where the 4 examples required for a data model are available (named
  • notesUrl: The url to the yaml for the customization paragraphs (notesHeader, after the title, notesMiddle, after properties’ list and notesFooter by the end)
  • mail:  a valid mail of yours

Example: https://smartdatamodels.org/extra/create_spec.php?dataModel=Airport&schemaUrl=https://raw.githubusercontent.com/smart-data-models/incubated/master/Aeronautics/Airport/schema.json&examplesUrl=https://raw.githubusercontent.com/smart-data-models/incubated/master/Aeronautics/Airport/examples/&notesUrl=%22%22&mail=alberto.abella@fiware.org

Output: A markdown text that although the HTML visualization is faulty, the source code of the page can be pasted in any markdown viewer (optimized for github) and you see will see something like this.

We are on the transition to having all the data models compliant.