A new data model, Domain in the subject datamodel.IT
Thanks to the Universidad Politécnica de Valencia and to the project Aeros.

- Domain. Domain of the Cloud-Edge-IoT computing continuum, which is composed of a set of InfrastructureElements
A new data model, Domain in the subject datamodel.IT
Thanks to the Universidad Politécnica de Valencia and to the project Aeros.

The contributors of new data models can test their data models in their local repositories with the source code of the testing tool than also can use online
Home -> tools -> test your data model
it has been updated to deal with those attributes coming from languageMap properties in NGSI
We are thrilled to announce a significant new release of our Python package, pysmartdatamodels, designed to empower developers and streamline the contribution process for our community.
This update is packed with new data models and, most notably, powerful new validation and testing services.
The heart of the Smart Data Models initiative is our comprehensive library of open-licensed data models. With this new release, we have expanded it further, adding new models across our thirteen domains, from Smart Cities to Smart Energy. This package continues to provide powerful functions to integrate more than 1,000 standardized data models into your projects, digital twins, and data spaces.
To improve the quality and speed of contributions, we are excited to launch a brand new service for our contributors. You can now automatically test your data models before submitting them. This automated validation ensures that new models comply with our standards, making the review and integration process smoother for everyone.
For those who want to integrate this validation into their own workflows, the source code for the testing tool is also available.
In addition to the new contributor tool, you can also use the online service to validate payloads against existing data model examples.
You can find all the details, explore the functions, and get the latest package from the Python Package Index (PyPI). The updated README file includes comprehensive documentation on all the new features.
We are committed to making data interoperability easier for everyone. These updates are a direct result of community feedback and the hard work of our contributors. A huge thank you to everyone who has helped make this possible!
There are two new data models, PublicationAgent and VocabularyService in the subject Data Space.
It is create as a derivative work of the DSSC create by members of the DSBA
Thanks to the contributor Jason Fox

ParticipantAgent. A data model for a Participant Agent (Connector) tool. This tool can implement multiple services like Credential Store, Contract Negotiation, Transfer Process, and Data Plane. It extends the base ToolInformation model.
VocabularyService. A data model for a Vocabulary Service tool. This service manages and hosts data models like vocabularies, ontologies, and schemas. It extends the base ToolInformation model.
There are 3 new data models in the subject device thanks to the contribution of the project P2CODE.

Thanks to the new contributors
In the data-models repository you can access to the first version to use smart data models as a service. Thanks to the works for the Cyclops project.
The files available create a wrap up around pysmartdatamodels package and also add one service for the online validation of NGSI-LD payloads.
Here is the readme contents to have an explanation of this first version
This project consists of two main components:
pysdm_api3.py) that provides access to Smart Data Models functionalitydemo_script2.py) that demonstrates the API endpointspysdm_api3.py)A RESTful API that interfaces with the pysmartdatamodels library to provide access to Smart Data Models functionality.
| Endpoint | Method | Description |
|---|---|---|
/validate-url |
GET | Validate a JSON payload from a URL against Smart Data Models |
/subjects |
GET | List all available subjects |
/datamodels/{subject_name} |
GET | List data models for a subject |
/datamodels/{subject_name}/{datamodel_name}/attributes |
GET | Get attributes of a data model |
/datamodels/{subject_name}/{datamodel_name}/example |
GET | Get an example payload of a data model |
/search/datamodels/{name_pattern}/{likelihood} |
GET | Search for data models by approximate name |
/datamodels/exact-match/{datamodel_name} |
GET | Find a data model by exact name |
/subjects/exact-match/{subject_name} |
GET | Check if a subject exists by exact name |
/datamodels/{datamodel_name}/contexts |
GET | Get @context(s) for a data model name |
The /validate-url endpoint performs comprehensive validation:
demo_script2.py)A simple interactive script that demonstrates the API endpoints by opening a series of pre-configured URLs in your default web browser.
my_web_urls listpython demo_script2.pyThe demo includes examples of:
pip install fastapi uvicorn httpx pydantic jsonschema
python pysdm_api3.py
python demo_script2.py
Edit the my_web_urls list in demo_script2.py to change which endpoints are demonstrated.
Apache 2.0
Most of the files of the testing process have been updated and make it available the source code:
https://github.com/smart-data-models/data-models/tree/master/test_data_model
But also there is a new file
This file enables you to test all the data models located in a internal subject (subdirectories of the root one). Currently this option is not available as a form but if you send us an email to our infno@smartdatamodels.org
we could create a specific form for that
See here an example of the outcome.
![]()
In the new testing process, 4th option in the tools menu, now it is available a new test that checks if the example-normalized.jsonld is a valid NGSI LD file.
This process helps contributors to debug their data models before submit them officially (where there will be new tests before final approval)
The source code for the test is available at the repo.
Remember that if you want to improve / create a new test, just create a PR on the repo.
In the new testing process, 4th option in the tools menu, now it is available a new test that checks if the example-normalized.json is a valid NGSIv2 file.
This process helps contributors to debug their data models before submit them officially (where there will be new tests before final approval)
The source code for the test is available at the repo.
Remember that if you want to improve / create a new test, just create a PR on the repo.
When you want to contribute a new data model (or an improvement in an existing one) you need to pass a test.
The current process (3rd option in tools menu) keeps on working as it was.
But we have drafted a new method because
– We need to be more explicit about the tests passed and the errors
– We need to improve the performance
So you can check the new method in the 4th option of the Tools menu
Besides this, the tests are very modular so if you are a python programmer you can use them in your own system because the code is being released or indeed you can write new tests that would be included in the official site. Make a PR on the data-models repo and we will add it eventually. Check this post.