Skip to main content

Ontology Management Base

CI Pipeline Documentation

Ontologies for discovering and describing simulation assets in the ENVITED-X data space, maintained by the Automotive Solution Center for Simulation e.V. (ASCS). Compliant with Gaia-X 2.5.0.

Note: This repository is the active development home, forked from GAIA-X4PLC-AAD/ontology-management-base (archived after v0.1.0).

What This Does

These ontologies define searchable metadata for simulation assets (HD maps, scenarios, sensor traces, environment models). They enable:

  • Natural language search — "find all German motorway maps with 3+ lanes" → ontology-based-nl-search
  • Structured annotation — describe your assets so others can find them → sl-5-8-asset-tools
  • Cross-domain discovery — find scenarios that reference a specific HD map
  • Quality validation — ensure metadata annotations are complete and correct (SHACL)

The ontology is not a copy of the ASAM OpenDRIVE/OpenSCENARIO data model. It's a metadata layer that summarizes what's inside data files — a 100MB OpenDRIVE file is described by ~2KB of searchable hdmap:HdMap metadata.

Who Uses This

Role Activity Tool
Data Searcher Find assets by properties (NL or structured) NL Search App
Data Creator Annotate assets with metadata for discovery Asset Tools
Ontology Developer Extend the metadata schema for new domains This repository

How It Works

flowchart TD
    A[/"Simulation Asset<br/>(OpenDRIVE, OSI, OpenSCENARIO...)"/] -->|annotate| B["JSON-LD Metadata<br/>(@type: hdmap:HdMap)"]
    B -->|validate · SHACL| C[("Knowledge Graph<br/>(SPARQL endpoint)")]
    C -->|search · NL → SPARQL| D["'Show me highway maps near Munich'"]

Getting Started

New to this project? Start with the install, test, build guide.

Looking for ontologies? Browse the ontology catalog.

Need technical details? See concepts and validation strategy.

What's in This Repository

  • Ontologies — OWL definitions with SHACL validation shapes (artifacts/)
  • Validation Tools — Python suite to validate metadata instances (omb/)
  • Test Data — Valid and invalid examples per domain (tests/data/)
  • Documentation — Guides, architecture, and specifications (docs/)
  • Standard References — ASAM OpenX specs as submodule (submodules/asam-openx-standards/)

Use It in Your Own Repository

If you model your data (in LinkML or otherwise), generate OWL/SHACL/JSON-LD artifacts, and want your test suite to prove that your shapes accept what they should and reject what they should not, install the package — no clone required:

pip install ontology-management-base     # or: uv add ontology-management-base
# data that must conform, validated against your generated artifacts
onto-validate --run check-data-conformance --data-paths tests/data/valid --artifacts artifacts

# data that must fail, checked against its recorded .expected snapshot
onto-validate --run check-failing-tests --data-paths tests/data/invalid --artifacts artifacts
from omb.api import check_negative_fixtures, validate_data

result = validate_data(["tests/data/valid"], artifacts=["artifacts"])
assert result.conforms, result.report_text

report = check_negative_fixtures(["tests/data/invalid"], artifacts=["artifacts"])
assert report.ok, "\n".join(f.message for f in report.failures)

The wheel bundles OMB's own ontologies, imports and registry, so validation works offline and without a checkout. Runtime dependencies are rdflib, pyshacl and oxrdflib. Full guide: Python API.

Requirements

Using the package: Python ≥ 3.12 and nothing else.

Developing the ontologies in this repository:

Installation (for development)

git clone https://github.com/ASCS-eV/ontology-management-base.git
cd ontology-management-base

# One-command setup (creates .venv, installs dev dependencies, and pre-commit hooks)
just setup

No activation is required for just recipes; they run through uv run. Activate the environment only for direct Python or pip commands:

# Linux / macOS / Git Bash
source .venv/bin/activate

# Windows PowerShell
.venv\Scripts\Activate.ps1

# Windows CMD
.venv\Scripts\activate.bat

Without Installing the Toolchain

A development container carries uv, just, Python 3.12 and the dev dependencies, so no Python, uv or just is needed on the host:

docker compose build
docker compose run --rm ontology-tools just --list

See Run the Toolchain in a Container.

Validation

# Validate test data
just test

# See validation options
just validate --help

# Validate specific domain
just test-domain hdmap

# Validate a single data file
just validate-file path/to/instance.json

# See all just recipes
just --list

Local Docs Build

# Preview locally
DOCS_SITE_URL=http://127.0.0.1:8000/ontology-management-base just docs-serve

# Build static docs site
just docs-build

Notes:

Hook flow (via hooks/copy_artifacts.py):

  1. The hook runs properties_updater and class_page_generator (DOCS_SITE_URL is optional and only affects local diagram links).
  2. properties_updater writes tracked artifacts/<domain>/PROPERTIES.md, generates docs/ontologies/properties/<domain>.md (ignored by git), builds the docs/ontologies/properties.md domains overview, and refreshes docs/ontologies/catalog.md.
  3. class_page_generator writes docs/ontologies/classes/<domain>/*.md and uses DOCS_SITE_URL to build local diagram links.
  4. The hook copies artifacts/<domain>/ into docs/artifacts/<domain>/<versionInfo>/ and adds example instances from tests/data/.

Maintained Ontologies

Ontology / Resource IRI Local Artifact File
https://openlabel.asam.net/V1-0-0/ontologies/ openlabel/openlabel.owl.ttl
https://openlabel.asam.net/V1-0-0/ontologies/context openlabel/openlabel.context.jsonld
https://openlabel.asam.net/V1-0-0/ontologies/shapes openlabel/openlabel.shacl.ttl
https://w3id.org/ascs-ev/envited-x/environment-model/v5 environment-model/environment-model.owl.ttl
https://w3id.org/ascs-ev/envited-x/environment-model/v5/context environment-model/environment-model.context.jsonld
https://w3id.org/ascs-ev/envited-x/environment-model/v5/shapes environment-model/environment-model.shacl.ttl
https://w3id.org/ascs-ev/envited-x/envited-x/v3 envited-x/envited-x.owl.ttl
https://w3id.org/ascs-ev/envited-x/envited-x/v3/context envited-x/envited-x.context.jsonld
https://w3id.org/ascs-ev/envited-x/envited-x/v3/shapes envited-x/envited-x.shacl.ttl
https://w3id.org/ascs-ev/envited-x/georeference/v5 georeference/georeference.owl.ttl
https://w3id.org/ascs-ev/envited-x/georeference/v5/context georeference/georeference.context.jsonld
https://w3id.org/ascs-ev/envited-x/georeference/v5/shapes georeference/georeference.shacl.ttl
https://w3id.org/ascs-ev/envited-x/hdmap/v6 hdmap/hdmap.owl.ttl
https://w3id.org/ascs-ev/envited-x/hdmap/v6/context hdmap/hdmap.context.jsonld
https://w3id.org/ascs-ev/envited-x/hdmap/v6/shapes hdmap/hdmap.shacl.ttl
https://w3id.org/ascs-ev/envited-x/manifest/v5 manifest/manifest.owl.ttl
https://w3id.org/ascs-ev/envited-x/manifest/v5/context manifest/manifest.context.jsonld
https://w3id.org/ascs-ev/envited-x/manifest/v5/shapes manifest/manifest.shacl.ttl
https://w3id.org/ascs-ev/envited-x/openlabel/v2 openlabel-v2/openlabel-v2.owl.ttl
https://w3id.org/ascs-ev/envited-x/openlabel/v2/context openlabel-v2/openlabel-v2.context.jsonld
https://w3id.org/ascs-ev/envited-x/openlabel/v2/shapes openlabel-v2/openlabel-v2.shacl.ttl
https://w3id.org/ascs-ev/envited-x/ositrace/v6 ositrace/ositrace.owl.ttl
https://w3id.org/ascs-ev/envited-x/ositrace/v6/context ositrace/ositrace.context.jsonld
https://w3id.org/ascs-ev/envited-x/ositrace/v6/shapes ositrace/ositrace.shacl.ttl
https://w3id.org/ascs-ev/envited-x/scenario/v6 scenario/scenario.owl.ttl
https://w3id.org/ascs-ev/envited-x/scenario/v6/context scenario/scenario.context.jsonld
https://w3id.org/ascs-ev/envited-x/scenario/v6/shapes scenario/scenario.shacl.ttl
https://w3id.org/ascs-ev/envited-x/surface-model/v6 surface-model/surface-model.owl.ttl
https://w3id.org/ascs-ev/envited-x/surface-model/v6/context surface-model/surface-model.context.jsonld
https://w3id.org/ascs-ev/envited-x/surface-model/v6/shapes surface-model/surface-model.shacl.ttl
https://w3id.org/ascs-ev/envited-x/tzip21/v1 tzip21/tzip21.owl.ttl
https://w3id.org/ascs-ev/envited-x/tzip21/v1/context tzip21/tzip21.context.jsonld
https://w3id.org/ascs-ev/envited-x/tzip21/v1/shapes tzip21/tzip21.shacl.ttl
https://w3id.org/gaia-x/development# gx/gx.owl.ttl
https://w3id.org/gaia-x/development#context gx/gx.context.jsonld
https://w3id.org/gaia-x/development#shapes gx/gx.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/automotive-simulator/v2 automotive-simulator/automotive-simulator.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/automotive-simulator/v2/context automotive-simulator/automotive-simulator.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/automotive-simulator/v2/shapes automotive-simulator/automotive-simulator.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/description/v1 description/description.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/description/v1/context description/description.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/description/v1/shapes description/description.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/example/v1 example/example.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/example/v1/context example/example.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/example/v1/shapes example/example.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/general/v3 general/general.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/general/v3/context general/general.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/general/v3/shapes general/general.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/leakage-test/v3 leakage-test/leakage-test.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/leakage-test/v3/context leakage-test/leakage-test.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/leakage-test/v3/shapes leakage-test/leakage-test.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/service/v2 service/service.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/service/v2/context service/service.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/service/v2/shapes service/service.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/simulated-sensor/v2 simulated-sensor/simulated-sensor.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/simulated-sensor/v2/context simulated-sensor/simulated-sensor.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/simulated-sensor/v2/shapes simulated-sensor/simulated-sensor.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v3 simulation-model/simulation-model.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v3/context simulation-model/simulation-model.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v3/shapes simulation-model/simulation-model.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/survey/v6 survey/survey.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/survey/v6/context survey/survey.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/survey/v6/shapes/result-data-offering survey/survey-result-data-offering.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/survey/v6/shapes/service-offering survey/survey-service-offering.shacl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/vv-report/v2 vv-report/vv-report.owl.ttl
https://w3id.org/gaia-x4plcaad/ontologies/vv-report/v2/context vv-report/vv-report.context.jsonld
https://w3id.org/gaia-x4plcaad/ontologies/vv-report/v2/shapes vv-report/vv-report.shacl.ttl

Acknowledgements

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or European Climate, Infrastructure and Environment Executive Agency (CINEA). Neither the European Union nor the granting authority can be held responsible for them.

Consumer contract

See the supported interfaces and feature tests for PyPI and Docker usage.

License

See LICENSE for details.

Metadata

Release files for ontology-management-base 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ontology-management-base 0.5.0
File Size Uploaded
ontology_management_base-0.5.0.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ontology-management-base 0.5.0
File Interpreter ABI Platform
ontology_management_base-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 MB

Release files / ontology_management_base-0.5.0.tar.gz

Download URL ontology_management_base-0.5.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
4cd0a3166f8426d05095248c5f71a35ea9e883b64ed67a2d0e401092c2b114aa
BLAKE2b-256 checksum
How to use checksums
b66b2a1d495beef98e090a1790171846f6ef36874a86109db6be6cbc5dc283f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / ontology_management_base-0.5.0-py3-none-any.whl

Download URL ontology_management_base-0.5.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7ac6494a31a56b274bbd8e0275fda2b1355d31ef51fc554d746fdfe090fd96ea
BLAKE2b-256 checksum
How to use checksums
e7afc2692cfd7bbcb8cda9e1da12d231712ed284e0dae741d12f005f389077b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

2 release files

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page