Examples of code associated to every data model

In order to make easier the use of the Smart Data Models now in every repository in GitHub there is a new directory named ‘code’ that contains for the python code using the pysmartdatamodels  for the architecture in the image below.

The idea is a code that fills several attributes of the data model with suitable values and insert them into a context broker installed by default.

The code for installing an instance of the context broker is also included as comments in the header of the code

The code is generated automatically (like most of what we do)

You can see an example of this code here

https://github.com/smart-data-models/dataModel.Transportation/blob/master/EVChargingStation/code/code_for_using_dataModel.Transportation_EVChargingStation.py

Of course there could be many things that could be improved and extended. Let us know in this mail account or in the usual support channels.

In the future if there are interest we could create also in other languages. Please let us know if you have interest on this possibility.

New version of pysmartdatamodels python package 0.7.1

The changes in this new version are:

– Including new function validate_dcat_ap_distribution_sdm
– Updating the comments of most of the functions
– Some code improvements by jilin.he@fiware.org
– Included a new directory with templates for the creation of a data model. Not used yet but next version they will be used for the creation of local data models. Available at my_subject directory
– Fixing the missing dependency of ruamel.yaml package

It also has an updated version of all data models (but you can get this also by running the function sdm.update_data() with the old versions)

The source code for the new version 0.7.1 is here at the data-models repository

 

 

New subject Gaia-X

Thanks to the collaboration in the Data Spaces Business Alliance (DSBA) there is a new subject to compile the mapping of the semantic assets of Gaia-X to be used in NGSI-LD systems. It allows the storage of the information related to assets according to the definitions of Gaia-X. The first group of models is coming from the outcomes of the Service characteristics group.

It is located in the domain Cross sector and the subject is dataModel.Gaia-X

Data models will be soon added.

 

pysmartdatamodels updated to 0.7

The new version does not provide new functionalities but an indication, including drafted code, about what is missing or in progress to the package can grow according to your needs.

The source code for the new version 0.7.0 is here at the data-models repository

There are 4 new functions drafted with the headings inputs and outputs and some recommendations for development.

1) validate_payload(datamodel, subject, payload)
2) create_QR_code(datamodel, subject)
3) include_local_datamodel(schema, subject, datamodel, contributors (optional), adopters (optional), notes(optional))
4) submit_datamodel(subject, datamodel, contributors (optional), adopters (optional), notes(optional), example_payload, notes_context, public_repository, credentials)

we will be glad to receive code or questions implementing this and we will include the authorship

Minor extension of pysmartdatamodels 0.6.4.1

There is a minor new version of the package pysmartdatamodels.

Now it allows to have in the metadata of a data model the direct links to the specification in the 8 languages.

you can access thanks to the function list_datamodel_metadata and accessing the objects with the keys, spec, spec_DE, spec_ES, spec_FR, spec_IT, spec_JA, spec_KO and spec_ZH

from pysmartdatamodels import pysmartdatamodels as sdm
subject = "dataModel.Weather"
dataModel ="WeatherForecast"
metadata = sdm.list_datamodel_metadata(dataModel, subject))
print(metadata["spec_ES"]

You can install the update

pip install –upgrade pysmartdatamodels

New version of pysmartdatamodels package 0.6.4 with adaptations to Data Spaces

There is a new version of the python package pysmartdatamodels

to use it you have just to type

pip install pysmartdatamodels

in your system

Besides the update in the list of data models it includes two new functions
look_for_data_model that allows approximate searches for a data model based on their name
list_datamodel_metadata that returns the metadata of a data model including context link, data model version, model tags, link to the schema and to the yaml version of the schema, title, description, $id, required, links to the examples, link to the adopters, link to the contributors of the subject and a link to the sql export of a data model

These new functions are the result of some requests of data spaces managers and several others will be included soon to help you out in the management of the semantic contents of a data space.

A code example of these two new functions

from pysmartdatamodels import pysmartdatamodels as sdm

subject = "dataModel.Weather"
dataModel = "WeatherForecast"
# Look for a data model name 
print("22 : ")
print(sdm.look_for_datamodel("WeatherFora", 84))
# retrieve the metadata, context, version, model tags, schema, yaml schema, title, description, $id, required, examples, adopters, contributors and sql export of a data model
print("23 : ")
print(sdm.list_datamodel_metadata(dataModel, subject))

Metadata of the catalogue available

Now in the tools menu (currently the last option) you have a complete list of the most relevant links to the assets of the data models compile in the Smart Data Models initiative.

You can check in the main menu -> Tools  -> Metadata of the data models

The information is coded in a json format and includes:

Enjoy!

New scripts released

4 of the python scripts that are used to maintain the Smart Data models have been released.

Use them or study it at your own convenience. Glad to receive comments and improvements

Check them out here: