BESSER Smart Data JSON Schema Generator

Overview

The tool automates the generation of Smart Data Models (SDM) from visual models, bridging the gap between high-level domain design and technical implementation for Digital Twins and IoT ecosystems.

Technical Workflow

  1. Input: Users define domain entities and relationships using B-UML (a simplified UML dialect) within the BESSER Pearl editor.

  2. Transformation: The engine maps these models to the NGSI-LD standard and Schema.org vocabularies.

  3. Output: For every entity, it automatically generates a compliant folder containing:

    • schema.json: The technical JSON Schema definition.

    • Examples: Multi-format payloads including JSON-LD, NGSI-v2, and Normalized NGSI-LD.

    • Documentation: Automatically derived human-readable specifications.

Key Advantages

  • Interoperability: Ensures 100% compliance with ETSI NGSI-LD and SDM contribution guidelines.

  • Model-Driven Engineering (MDE): Moves the “source of truth” to a visual model, reducing manual coding errors in complex JSON-LD structures.

  • Efficiency: Accelerates the deployment of standardized data spaces by automating the boilerplate required for context brokers (e.g., Orion).

 

Updated the test fpr NGSIv2 payloads

Calling all SDM contributors!

To ensure a smooth integration process, we want to remind everyone that all contributions undergo automated testing prior to submission. To help you streamline your workflow and catch potential issues early, we’ve made our testing suite available for local use.

🛠️ Test Locally, Submit with Confidence

You can access the full source code for our testing framework under an open-source license. Running these tests on your own machine not only boosts the quality of your code but also saves valuable time for both you and the maintainers.


Getting Started

  1. Download the Source: Head over to our repository to grab the testing suite.

  2. Configure: Follow the simple instructions in the README. (Quick tip: You only need to update config.json with your specific local directories).

  3. Run Anywhere: The suite is flexible—it supports testing against both remote repositories and local file systems.

By validating your work locally before you push, you’re helping us maintain a high standard for the SDM project.

Happy coding!

List of tests

  • test_array_object_structure.py
  • test_duplicated_attributes.py
  • test_file_exists.py
  • test_name_attributes.py
  • test_schema_descriptions.py
  • test_schema_metadata.py
  • test_string_incorrect.py
  • test_valid_json.py
  • test_valid_keyvalues_examples.py
  • test_valid_ngsild.py
  • test_valid_ngsiv2.py
  • test_yaml_files.py