diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 4454c8ca..9c26f1dd 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -70,6 +70,7 @@ Read these BEFORE making changes: | Validation pipeline | [instructions/validation-workflow.md](instructions/validation-workflow.md) | | Testing requirements | [instructions/testing.md](instructions/testing.md) | | Domain terminology | [instructions/glossary.md](instructions/glossary.md) | +| LinkML fork & upstream PRs | [instructions/linkml-fork-workflow.md](instructions/linkml-fork-workflow.md) | ## Core Principles diff --git a/.github/instructions/linkml-fork-workflow.md b/.github/instructions/linkml-fork-workflow.md new file mode 100644 index 00000000..511ad9f1 --- /dev/null +++ b/.github/instructions/linkml-fork-workflow.md @@ -0,0 +1,220 @@ +# LinkML Fork Maintenance & Upstream PR Workflow + +Authoritative guide for maintaining the **ASCS-eV LinkML fork** that OMB depends on, +rebasing feature branches, quality-checking them against upstream, re-integrating them, +and updating the OMB pin. Read this before touching `submodules/linkml`, the +`feat/envited-x-pipeline` branch, or any generator-flag behavior. + +## 1. Why this exists + +OMB generates its OWL / SHACL / JSON-LD-context / JSON-Schema artifacts with the LinkML +generators (`gen-owl`, `gen-shacl`, `gen-jsonld-context`, `gen-json-schema`). Several +generator features OMB relies on are **not yet in upstream LinkML** — they live on a +fork and are being upstreamed one PR at a time. + +The hard part: upstream `linkml/linkml` `main` moves constantly, and our features get +merged into it **step by step**. So the fork must be re-synced periodically, each feature +branch must be re-rebased down to a **single clean commit**, quality-checked so the +upstream PR stays reviewable, and the integration branch must be rebuilt so OMB keeps +working. + +## 2. Repository & branch topology + +| Ref | What it is | +| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `upstream` = `github.com/linkml/linkml` | The real LinkML. **Monorepo**: package in `packages/linkml/`, tests in top-level `tests/linkml/`. Advances constantly. | +| `origin` = `github.com/ASCS-eV/linkml` | Our fork. Holds `main`, per-PR feature branches, and the integration branch. | +| `main` (fork) | Mirror of upstream `main`. Re-synced (force-pushed) during each maintenance cycle. | +| Per-PR feature branches (`upstream/feat/*`, `feat/*`, `fix/*`) | **One branch per upstream PR, ideally one commit.** Each is submitted to `linkml/linkml`. Rebased onto fresh upstream `main` every cycle. | +| **`feat/envited-x-pipeline`** (integration branch) | Cherry-picks **all** unmerged feature commits on top of a recent upstream `main`. **This is what OMB consumes.** | + +Branch ↔ upstream-PR mapping is discoverable at any time: + +```bash +git ls-remote --heads https://github.com/ASCS-eV/linkml.git +gh pr list --repo linkml/linkml --author --state open \ + --json number,title,headRefName,baseRefName,url +``` + +## 3. How OMB consumes the fork + +Two coupled references — **keep them consistent**: + +1. **Submodule pin** — the `submodules/linkml` gitlink SHA. Source of truth for the + version actually used. Should point at the current `feat/envited-x-pipeline` head. +2. **`pyproject.toml` `[dev]`** — for standalone/CI installs without the submodule: + ``` + linkml @ git+https://github.com/ASCS-eV/linkml.git@feat/envited-x-pipeline#subdirectory=packages/linkml + ``` + Note the `#subdirectory=packages/linkml` (monorepo). The branch name is pinned, so a + branch move only requires bumping the submodule gitlink — unless you pin a SHA here. + +The generator **flags** OMB depends on (see `Makefile` `_generate_default`) map to fork +features/PRs. If a feature branch's CLI flag name or behavior changes during a rebase, +`make generate` breaks. Cross-check the flag set after every cycle: + +- `gen-owl`: `--deterministic --normalize-prefixes --xsd-anyuri-as-iri --default-language --ontology-uri-suffix` +- `gen-shacl`: `--deterministic --normalize-prefixes --default-language --message-template` +- `gen-jsonld-context`: `--deterministic --normalize-prefixes --exclude-external-imports --xsd-anyuri-as-iri` + +## 4. The maintenance cycle + +Trigger: upstream `main` advanced, one of our PRs merged, or a maintainer asks to +"rebase & check" a feature branch. Steps: + +### 4.0 Init & remotes (submodule is often uninitialized) + +```bash +git submodule update --init submodules/linkml +cd submodules/linkml +git remote get-url upstream 2>/dev/null || git remote add upstream https://github.com/linkml/linkml.git +git fetch upstream --prune +git fetch origin --prune +``` + +> If you run git inside an **uninitialized** submodule directory, git silently operates +> on the parent OMB repo (wrong branches/remotes). Always init first and verify +> `git remote -v` shows `linkml`. + +### 4.1 Re-sync fork `main` to upstream `main` + +```bash +git checkout main +git reset --hard upstream/main +git push --force-with-lease origin main +``` + +### 4.2 Rebase each feature branch down to a single commit + +For a branch that carries **already-merged dependency commits** plus its own feature +commit, replay only the feature commit onto fresh `main` with `git rebase --onto`: + +```bash +git checkout +# Replay only commits AFTER onto upstream/main: +git rebase --onto upstream/main +``` + +`git rebase --onto NEWBASE UPSTREAM BRANCH` replays commits in `(UPSTREAM, BRANCH]` onto +`NEWBASE`. This drops everything up to and including `UPSTREAM` (the merged dependency), +leaving the single feature commit. Resolve conflicts (the target generator file and its +test are the usual spots), then continue. + +If a branch has no merged deps but multiple WIP commits, squash to one: +`git rebase -i upstream/main` and `squash`/`fixup` down to a single commit. + +### 4.3 Quality-check the rebased feature branch + +The goal is that the **upstream PR is still correct, minimal, and reviewable**: + +- `git diff upstream/main --stat` — the change surface must be **only** the files the + feature owns (merged-dependency files should have disappeared). +- Install and test the branch: + ```bash + pip install -e submodules/linkml/packages/linkml # or: uv sync inside the submodule + pytest tests/linkml/test_generators/test_.py + ``` +- Smoke-test the CLI flag end-to-end (generate against a small schema; if it produces + RDF, sanity-check with pyshacl where relevant). +- Confirm the feature still behaves as its PR description claims against **current** + upstream (APIs it relied on may have moved in the 10s–100s of commits since). + +### 4.4 Push the updated feature branch (updates the upstream PR) + +```bash +git push --force-with-lease origin +``` + +### 4.5 Rebuild the integration branch `feat/envited-x-pipeline` + +```bash +git checkout -B feat/envited-x-pipeline upstream/main +# Cherry-pick each CLEAN feature branch's single commit, in dependency order. +# DROP any feature whose PR is now MERGED upstream (its content is already in main). +git cherry-pick ... +``` + +- Order matters when features touch the same generator; follow the maintainer's + canonical list (or reproduce the previous integration order minus merged PRs). +- After cherry-picking, re-verify the OMB generator flag set (§3) is intact. +- `git push --force-with-lease origin feat/envited-x-pipeline`. + +### 4.6 Update the OMB pin + regenerate + verify + +```bash +cd submodules/linkml && git checkout feat/envited-x-pipeline && git pull --ff-only +cd ../.. && git add submodules/linkml # bumps the gitlink SHA +pip install -e submodules/linkml/packages/linkml # reinstall the moved generators +make generate DOMAIN= # regenerate artifacts +pytest tests/ # + validation suite +``` + +Then follow **Generated Artifacts & Line Endings** (Windows CRLF normalization) before +committing, and prepare `.playground/commit-message.md` + `.playground/pr-description.md` +for the OMB pin bump. + +## 5. Conventions & guardrails + +- **Signed commits** (`git commit -s -S`); **never** add AI attribution or mention AI + tools — applies to the fork too. +- Prefer `git push --force-with-lease` (never bare `--force`) on shared fork branches. +- Never bump the OMB pin to a fork commit that isn't reachable from + `feat/envited-x-pipeline`. +- Keep per-PR branches to a single commit; keep the integration branch a clean + cherry-pick stack (no merge commits from feature branches). +- When a dependency PR merges upstream, **drop** its commits from both the dependent + feature branch (via `rebase --onto`) and the integration branch (omit from cherry-pick). + +## 6. Worked example — PR #3450 (current task) + +**PR:** linkml/linkml#3450 `feat(gen-shacl): add --message-template for sh:message` +**Branch:** `upstream/feat/shaclgen-validation-messages` +**Dependency:** #3449 `--default-language` — **MERGED upstream 2026-06-11**. + +State when picked up: branch is **3 ahead / 70 behind** upstream main; the 3 commits are +`cc72304` + `f0834ab` (both #3449) and `45f8f69` (the message-template feature). Because +#3449 is merged, the two #3449 commits must drop: + +```bash +cd submodules/linkml +git fetch upstream --prune && git fetch origin --prune +git checkout upstream/feat/shaclgen-validation-messages +# f0834ab = last #3449 commit; replay only the message-template commit onto fresh main: +git rebase --onto upstream/main f0834ab81 upstream/feat/shaclgen-validation-messages +``` + +Expected result: a **single commit** whose diff vs `upstream/main` touches only +`packages/linkml/src/linkml/generators/shaclgen.py` and +`tests/linkml/test_generators/test_shaclgen.py` (the owlgen.py / language_tags.py / +test_owlgen.py changes belong to #3449 and are now in main). + +Quality check: + +```bash +git diff upstream/main --stat # expect only the two shaclgen files +pip install -e packages/linkml +pytest tests/linkml/test_generators/test_shaclgen.py -k message +gen-shacl --message-template '{name} ({class}): {description}' .yaml +gen-shacl --message-template '{name} ({class}): {description}' --default-language en .yaml +``` + +Then push (`--force-with-lease`), rebuild `feat/envited-x-pipeline` (dropping #3449 from +the cherry-pick set), bump the OMB pin, and `make generate` — the SHACL output uses +`--message-template "{name} ({class}): {description} {comments}"` so +`artifacts//.shacl.ttl` should regenerate byte-identically (modulo +intended changes). + +## 7. Gotchas + +- **Uninitialized submodule** → git commands hit the parent OMB repo. Init first. +- **Monorepo paths**: generators are under `packages/linkml/src/linkml/generators/`, + tests under top-level `tests/linkml/test_generators/`. Older branches on the pre-monorepo + layout will conflict heavily on rebase — rebase onto current main brings them to the + new layout. +- **Merged-dependency detection**: squash-merged deps won't auto-skip by patch-id; use + `rebase --onto` to drop them deterministically rather than relying on "empty commit" + skipping. +- **Stale pin ≠ integration head**: verify with + `gh api repos/ASCS-eV/linkml/compare/...feat/envited-x-pipeline`. +- **CRLF on Windows** when regenerating artifacts — see the line-endings section in the + main instructions; normalize before committing. diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d67296f8..0e0504dc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,6 +16,14 @@ repos: types: [python] pass_filenames: true + - id: sync-tag-type-enum + name: Sync TagTypeEnum to structural schema + entry: python scripts/sync_tag_type_enum.py + language: system + pass_filenames: false + files: ^linkml/openlabel-v2/openlabel-v2\.yaml$ + stages: [pre-commit] + - id: generate-linkml name: Generate LinkML Artifacts entry: make generate @@ -51,7 +59,7 @@ repos: entry: python -m src.tools.utils.registry_updater language: system pass_filenames: false - files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld)$ + files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld|schema\.json)$ stages: [pre-commit] - id: update-properties @@ -59,7 +67,7 @@ repos: entry: python -m src.tools.utils.properties_updater language: system pass_filenames: false - files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld)$ + files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld|schema\.json)$ stages: [pre-commit] - id: update-readme @@ -67,7 +75,7 @@ repos: entry: python -m src.tools.utils.readme_updater language: system pass_filenames: false - files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld)$ + files: ^artifacts/.*\.(owl\.ttl|shacl\.ttl|context\.jsonld|schema\.json)$ stages: [pre-commit] - repo: https://github.com/pre-commit/pre-commit-hooks diff --git a/AGENTS.md b/AGENTS.md index f9102444..b7fa2b35 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,6 +12,7 @@ Read these before making changes; they are authoritative for repo workflows. | Validation pipeline | [.github/instructions/validation-workflow.md](.github/instructions/validation-workflow.md) | | Testing requirements | [.github/instructions/testing.md](.github/instructions/testing.md) | | Domain terminology | [.github/instructions/glossary.md](.github/instructions/glossary.md) | +| LinkML fork & upstream PRs | [.github/instructions/linkml-fork-workflow.md](.github/instructions/linkml-fork-workflow.md) | ## Project Structure & Module Organization diff --git a/CLAUDE.md b/CLAUDE.md index 406d72dc..72413f95 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -228,6 +228,7 @@ Read these before making changes: | Validation pipeline | `.github/instructions/validation-workflow.md` | | Testing requirements | `.github/instructions/testing.md` | | Domain terminology | `.github/instructions/glossary.md` | +| LinkML fork & upstream PRs | `.github/instructions/linkml-fork-workflow.md` | ## Change Documentation diff --git a/Makefile b/Makefile index f78295be..4a21afbe 100644 --- a/Makefile +++ b/Makefile @@ -61,6 +61,7 @@ endef GEN_OWL := $(VENV_BIN)/gen-owl GEN_SHACL := $(VENV_BIN)/gen-shacl GEN_JSONLD_CONTEXT := $(VENV_BIN)/gen-jsonld-context +GEN_JSON_SCHEMA := $(VENV_BIN)/gen-json-schema # LinkML domains — add new domains here LINKML_DOMAINS := openlabel-v2 @@ -208,9 +209,17 @@ _generate_default: for domain in $$DOMAINS_TO_BUILD; do \ echo " Processing $$domain..."; \ mkdir -p artifacts/$$domain; \ - "$(GEN_OWL)" --deterministic --normalize-prefixes --xsd-anyuri-as-iri --no-metadata --default-language en --ontology-uri-suffix "" linkml/$$domain/$$domain.yaml 2>/dev/null | tr -d '\r' | sed -e '$${' -e '/^$$/d' -e '}' > artifacts/$$domain/$$domain.owl.ttl; \ + "$(GEN_OWL)" --deterministic --normalize-prefixes --xsd-anyuri-as-iri --no-use-native-uris --no-metadata --default-language en --ontology-uri-suffix "" linkml/$$domain/$$domain.yaml 2>/dev/null | tr -d '\r' | sed -e '$${' -e '/^$$/d' -e '}' > artifacts/$$domain/$$domain.owl.ttl; \ "$(GEN_SHACL)" --deterministic --normalize-prefixes --no-metadata --default-language en --message-template "{name} ({class}): {description} {comments}" linkml/$$domain/$$domain.yaml 2>/dev/null | tr -d '\r' | sed -e '$${' -e '/^$$/d' -e '}' > artifacts/$$domain/$$domain.shacl.ttl; \ "$(GEN_JSONLD_CONTEXT)" --deterministic --normalize-prefixes --no-metadata --exclude-external-imports --xsd-anyuri-as-iri linkml/$$domain/$$domain.yaml 2>/dev/null | tr -d '\r' | sed -e '$${' -e '/^$$/d' -e '}' > artifacts/$$domain/$$domain.context.jsonld; \ + if [ -f linkml/$$domain/$$domain-schema.yaml ]; then \ + echo " Generating JSON Schema for $$domain..."; \ + JSON_SCHEMA_OPTS=""; \ + if [ -f linkml/$$domain/jsonschema.genopts ]; then \ + JSON_SCHEMA_OPTS="$$(cat linkml/$$domain/jsonschema.genopts)"; \ + fi; \ + "$(GEN_JSON_SCHEMA)" --deterministic --indent 3 $$JSON_SCHEMA_OPTS linkml/$$domain/$$domain-schema.yaml 2>/dev/null | tr -d '\r' | sed -e '$${' -e '/^$$/d' -e '}' > artifacts/$$domain/$$domain.schema.json; \ + fi; \ done @echo "[OK] Artifacts generated" @@ -408,7 +417,7 @@ _help_general: @echo " make format - Format code with ruff" @echo "" @echo "LinkML:" - @echo " make generate - Generate OWL/SHACL/context from all OMB LinkML schemas" + @echo " make generate - Generate OWL/SHACL/context/JSON Schema from all OMB LinkML schemas" @echo " make generate DOMAIN=openlabel-v2 - Generate for a specific OMB domain" @echo " make generate gx - Build and sync Gaia-X artifacts from service-characteristics" @echo " make generate help - Show generate subcommands" @@ -434,7 +443,7 @@ _help_install: _help_generate: @echo "Generate subcommands:" - @echo " make generate - Generate OWL/SHACL/context from all OMB LinkML schemas" + @echo " make generate - Generate OWL/SHACL/context/JSON Schema from all OMB LinkML schemas" @echo " make generate DOMAIN=openlabel-v2 - Generate for a specific OMB domain" @echo " make generate gx - Build and sync Gaia-X artifacts from service-characteristics" @echo " make generate gx GX_REF=25.12 - Check out a specific Gaia-X ref before generating" diff --git a/artifacts/openlabel-v2/PROPERTIES.md b/artifacts/openlabel-v2/PROPERTIES.md index 2a2958de..3d1ef9e6 100644 --- a/artifacts/openlabel-v2/PROPERTIES.md +++ b/artifacts/openlabel-v2/PROPERTIES.md @@ -2,338 +2,13 @@ ### Class Diagram -```mermaid -classDiagram -class AdminTag -class ArtificialStreetLighting -class ArtificialVehicleLighting -class Behaviour -class BehaviourCommunicationEnum -class CommunicationHeadlightFlash -class CommunicationHorn -class CommunicationSignalEmergency -class CommunicationSignalHazard -class CommunicationSignalLeft -class CommunicationSignalRight -class CommunicationSignalSlowing -class CommunicationV2i -class CommunicationV2v -class CommunicationWave -class ConnectivityCommunicationEnum -class ConnectivityPositioningEnum -class DaySunPositionEnum -class DrivableAreaEdgeEnum -class DrivableAreaSurfaceConditionEnum -class DrivableAreaSurfaceFeatureEnum -class DrivableAreaSurfaceTypeEnum -class DrivableAreaTypeEnum -class EdgeLineMarkers -class EdgeNone -class EdgeShoulderGrass -class EdgeShoulderPavedOrGravel -class EdgeSolidBarriers -class EdgeTemporaryLineMarkers -class EnvironmentParticulatesEnum -class FixedStructureBuilding -class FixedStructureStreetFurniture -class FixedStructureStreetlight -class FixedStructureVegetation -class GeometryTransverseEnum -class HumanAnimalRider -class HumanCyclist -class HumanDriver -class HumanMotorcyclist -class HumanPassenger -class HumanPedestrian -class HumanWheelchairUser -class IlluminationArtificialEnum -class IlluminationLowLightEnum -class InformationSignsUniformFullTime -class InformationSignsUniformTemporary -class InformationSignsVariableFullTime -class InformationSignsVariableTemporary -class IntersectionCrossroad -class IntersectionGradeSeperated -class IntersectionStaggered -class IntersectionTJunction -class IntersectionYJunction -class JunctionIntersectionEnum -class JunctionRoundaboutEnum -class LaneSpecificationTravelDirectionEnum -class LaneSpecificationTypeEnum -class LaneTypeBus -class LaneTypeCycle -class LaneTypeEmergency -class LaneTypeSpecial -class LaneTypeTraffic -class LaneTypeTram -class LowLightAmbient -class LowLightNight -class MotorwayManaged -class MotorwayUnmanaged -class Odd -class OddDynamicElements -class OddEnvironment -class OddScenery -class ParticulatesDust -class ParticulatesMarine -class ParticulatesPollution -class ParticulatesVolcanic -class ParticulatesWater -class PositioningGalileo -class PositioningGlonass -class PositioningGps -class QuantitativeValue -class RainTypeConvective -class RainTypeDynamic -class RainTypeEnum -class RainTypeOrographic -class RegulatorySignsUniformFullTime -class RegulatorySignsUniformTemporary -class RegulatorySignsVariableFullTime -class RegulatorySignsVariableTemporary -class RoadTypeDistributor -class RoadTypeMinor -class RoadTypeMotorway -class RoadTypeParking -class RoadTypeRadial -class RoadTypeShared -class RoadTypeSlip -class RoadUser -class RoadUserHumanEnum -class RoadUserVehicleEnum -class RoundaboutCompactNosignal -class RoundaboutCompactSignal -class RoundaboutDoubleNosignal -class RoundaboutDoubleSignal -class RoundaboutLargeNosignal -class RoundaboutLargeSignal -class RoundaboutMiniNosignal -class RoundaboutMiniSignal -class RoundaboutNormalNosignal -class RoundaboutNormalSignal -class Scenario -class SceneryFixedStructureEnum -class ScenerySpecialStructureEnum -class SceneryTemporaryStructureEnum -class SceneryZoneEnum -class SignsInformationEnum -class SignsRegulatoryEnum -class SignsWarningEnum -class SpecialStructureAutoAccess -class SpecialStructureBridge -class SpecialStructurePedestrianCrossing -class SpecialStructureRailCrossing -class SpecialStructureTollPlaza -class SpecialStructureTunnel -class SunPositionBehind -class SunPositionFront -class SunPositionLeft -class SunPositionRight -class SurfaceConditionContamination -class SurfaceConditionFlooded -class SurfaceConditionIcy -class SurfaceConditionMirage -class SurfaceConditionSnow -class SurfaceConditionStandingWater -class SurfaceConditionWet -class SurfaceFeatureCrack -class SurfaceFeaturePothole -class SurfaceFeatureRut -class SurfaceFeatureSwell -class SurfaceTypeLoose -class SurfaceTypeSegmented -class SurfaceTypeUniform -class Tag -class TemporaryStructureConstructionDetour -class TemporaryStructureRefuseCollection -class TemporaryStructureRoadSignage -class TemporaryStructureRoadWorks -class TransverseBarriers -class TransverseDivided -class TransverseLanesTogether -class TransversePavements -class TransverseUndivided -class TravelDirectionLeft -class TravelDirectionRight -class V2iCellular -class V2iSatellite -class V2iWifi -class V2vCellular -class V2vSatellite -class V2vWifi -class VehicleAgricultural -class VehicleBus -class VehicleCar -class VehicleConstruction -class VehicleCycle -class VehicleEmergency -class VehicleMotorcycle -class VehicleTrailer -class VehicleTruck -class VehicleVan -class VehicleWheelchair -class WarningSignsUniform -class WarningSignsUniformFullTime -class WarningSignsUniformTemporary -class WarningSignsVariableFullTime -class WarningSignsVariableTemporary -class ZoneGeoFenced -class ZoneInterference -class ZoneRegion -class ZoneSchool -class ZoneTrafficManagement -IlluminationArtificialEnum <|-- ArtificialStreetLighting -IlluminationArtificialEnum <|-- ArtificialVehicleLighting -BehaviourCommunicationEnum <|-- CommunicationHeadlightFlash -BehaviourCommunicationEnum <|-- CommunicationHorn -BehaviourCommunicationEnum <|-- CommunicationSignalEmergency -BehaviourCommunicationEnum <|-- CommunicationSignalHazard -BehaviourCommunicationEnum <|-- CommunicationSignalLeft -BehaviourCommunicationEnum <|-- CommunicationSignalRight -BehaviourCommunicationEnum <|-- CommunicationSignalSlowing -ConnectivityCommunicationEnum <|-- CommunicationV2i -ConnectivityCommunicationEnum <|-- CommunicationV2v -BehaviourCommunicationEnum <|-- CommunicationWave -DrivableAreaEdgeEnum <|-- EdgeLineMarkers -DrivableAreaEdgeEnum <|-- EdgeNone -DrivableAreaEdgeEnum <|-- EdgeShoulderGrass -DrivableAreaEdgeEnum <|-- EdgeShoulderPavedOrGravel -DrivableAreaEdgeEnum <|-- EdgeSolidBarriers -DrivableAreaEdgeEnum <|-- EdgeTemporaryLineMarkers -SceneryFixedStructureEnum <|-- FixedStructureBuilding -SceneryFixedStructureEnum <|-- FixedStructureStreetFurniture -SceneryFixedStructureEnum <|-- FixedStructureStreetlight -SceneryFixedStructureEnum <|-- FixedStructureVegetation -RoadUserHumanEnum <|-- HumanAnimalRider -RoadUserHumanEnum <|-- HumanCyclist -RoadUserHumanEnum <|-- HumanDriver -RoadUserHumanEnum <|-- HumanMotorcyclist -RoadUserHumanEnum <|-- HumanPassenger -RoadUserHumanEnum <|-- HumanPedestrian -RoadUserHumanEnum <|-- HumanWheelchairUser -SignsInformationEnum <|-- InformationSignsUniformFullTime -SignsInformationEnum <|-- InformationSignsUniformTemporary -SignsInformationEnum <|-- InformationSignsVariableFullTime -SignsInformationEnum <|-- InformationSignsVariableTemporary -JunctionIntersectionEnum <|-- IntersectionCrossroad -JunctionIntersectionEnum <|-- IntersectionGradeSeperated -JunctionIntersectionEnum <|-- IntersectionStaggered -JunctionIntersectionEnum <|-- IntersectionTJunction -JunctionIntersectionEnum <|-- IntersectionYJunction -LaneSpecificationTypeEnum <|-- LaneTypeBus -LaneSpecificationTypeEnum <|-- LaneTypeCycle -LaneSpecificationTypeEnum <|-- LaneTypeEmergency -LaneSpecificationTypeEnum <|-- LaneTypeSpecial -LaneSpecificationTypeEnum <|-- LaneTypeTraffic -LaneSpecificationTypeEnum <|-- LaneTypeTram -IlluminationLowLightEnum <|-- LowLightAmbient -IlluminationLowLightEnum <|-- LowLightNight -DrivableAreaTypeEnum <|-- MotorwayManaged -DrivableAreaTypeEnum <|-- MotorwayUnmanaged -Odd <|-- OddDynamicElements -Odd <|-- OddEnvironment -Odd <|-- OddScenery -EnvironmentParticulatesEnum <|-- ParticulatesDust -EnvironmentParticulatesEnum <|-- ParticulatesMarine -EnvironmentParticulatesEnum <|-- ParticulatesPollution -EnvironmentParticulatesEnum <|-- ParticulatesVolcanic -EnvironmentParticulatesEnum <|-- ParticulatesWater -ConnectivityPositioningEnum <|-- PositioningGalileo -ConnectivityPositioningEnum <|-- PositioningGlonass -ConnectivityPositioningEnum <|-- PositioningGps -RainTypeEnum <|-- RainTypeConvective -RainTypeEnum <|-- RainTypeDynamic -RainTypeEnum <|-- RainTypeOrographic -SignsRegulatoryEnum <|-- RegulatorySignsUniformFullTime -SignsRegulatoryEnum <|-- RegulatorySignsUniformTemporary -SignsRegulatoryEnum <|-- RegulatorySignsVariableFullTime -SignsRegulatoryEnum <|-- RegulatorySignsVariableTemporary -DrivableAreaTypeEnum <|-- RoadTypeDistributor -DrivableAreaTypeEnum <|-- RoadTypeMinor -DrivableAreaTypeEnum <|-- RoadTypeMotorway -DrivableAreaTypeEnum <|-- RoadTypeParking -DrivableAreaTypeEnum <|-- RoadTypeRadial -DrivableAreaTypeEnum <|-- RoadTypeShared -DrivableAreaTypeEnum <|-- RoadTypeSlip -JunctionRoundaboutEnum <|-- RoundaboutCompactNosignal -JunctionRoundaboutEnum <|-- RoundaboutCompactSignal -JunctionRoundaboutEnum <|-- RoundaboutDoubleNosignal -JunctionRoundaboutEnum <|-- RoundaboutDoubleSignal -JunctionRoundaboutEnum <|-- RoundaboutLargeNosignal -JunctionRoundaboutEnum <|-- RoundaboutLargeSignal -JunctionRoundaboutEnum <|-- RoundaboutMiniNosignal -JunctionRoundaboutEnum <|-- RoundaboutMiniSignal -JunctionRoundaboutEnum <|-- RoundaboutNormalNosignal -JunctionRoundaboutEnum <|-- RoundaboutNormalSignal -ScenerySpecialStructureEnum <|-- SpecialStructureAutoAccess -ScenerySpecialStructureEnum <|-- SpecialStructureBridge -ScenerySpecialStructureEnum <|-- SpecialStructurePedestrianCrossing -ScenerySpecialStructureEnum <|-- SpecialStructureRailCrossing -ScenerySpecialStructureEnum <|-- SpecialStructureTollPlaza -ScenerySpecialStructureEnum <|-- SpecialStructureTunnel -DaySunPositionEnum <|-- SunPositionBehind -DaySunPositionEnum <|-- SunPositionFront -DaySunPositionEnum <|-- SunPositionLeft -DaySunPositionEnum <|-- SunPositionRight -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionContamination -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionFlooded -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionIcy -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionMirage -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionSnow -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionStandingWater -DrivableAreaSurfaceConditionEnum <|-- SurfaceConditionWet -DrivableAreaSurfaceFeatureEnum <|-- SurfaceFeatureCrack -DrivableAreaSurfaceFeatureEnum <|-- SurfaceFeaturePothole -DrivableAreaSurfaceFeatureEnum <|-- SurfaceFeatureRut -DrivableAreaSurfaceFeatureEnum <|-- SurfaceFeatureSwell -DrivableAreaSurfaceTypeEnum <|-- SurfaceTypeLoose -DrivableAreaSurfaceTypeEnum <|-- SurfaceTypeSegmented -DrivableAreaSurfaceTypeEnum <|-- SurfaceTypeUniform -SceneryTemporaryStructureEnum <|-- TemporaryStructureConstructionDetour -SceneryTemporaryStructureEnum <|-- TemporaryStructureRefuseCollection -SceneryTemporaryStructureEnum <|-- TemporaryStructureRoadSignage -SceneryTemporaryStructureEnum <|-- TemporaryStructureRoadWorks -GeometryTransverseEnum <|-- TransverseBarriers -GeometryTransverseEnum <|-- TransverseDivided -GeometryTransverseEnum <|-- TransverseLanesTogether -GeometryTransverseEnum <|-- TransversePavements -GeometryTransverseEnum <|-- TransverseUndivided -LaneSpecificationTravelDirectionEnum <|-- TravelDirectionLeft -LaneSpecificationTravelDirectionEnum <|-- TravelDirectionRight -ConnectivityCommunicationEnum <|-- V2iCellular -ConnectivityCommunicationEnum <|-- V2iSatellite -ConnectivityCommunicationEnum <|-- V2iWifi -ConnectivityCommunicationEnum <|-- V2vCellular -ConnectivityCommunicationEnum <|-- V2vSatellite -ConnectivityCommunicationEnum <|-- V2vWifi -RoadUserVehicleEnum <|-- VehicleAgricultural -RoadUserVehicleEnum <|-- VehicleBus -RoadUserVehicleEnum <|-- VehicleCar -RoadUserVehicleEnum <|-- VehicleConstruction -RoadUserVehicleEnum <|-- VehicleCycle -RoadUserVehicleEnum <|-- VehicleEmergency -RoadUserVehicleEnum <|-- VehicleMotorcycle -RoadUserVehicleEnum <|-- VehicleTrailer -RoadUserVehicleEnum <|-- VehicleTruck -RoadUserVehicleEnum <|-- VehicleVan -RoadUserVehicleEnum <|-- VehicleWheelchair -SignsWarningEnum <|-- WarningSignsUniform -SignsWarningEnum <|-- WarningSignsUniformFullTime -SignsWarningEnum <|-- WarningSignsUniformTemporary -SignsWarningEnum <|-- WarningSignsVariableFullTime -SignsWarningEnum <|-- WarningSignsVariableTemporary -SceneryZoneEnum <|-- ZoneGeoFenced -SceneryZoneEnum <|-- ZoneInterference -SceneryZoneEnum <|-- ZoneRegion -SceneryZoneEnum <|-- ZoneSchool -SceneryZoneEnum <|-- ZoneTrafficManagement -``` +_Class diagram omitted for size (205 classes). See class hierarchy and definitions below._ ### Class Hierarchy - AdminTag (https://w3id.org/ascs-ev/envited-x/openlabel/v2/AdminTag) - Behaviour (https://w3id.org/ascs-ev/envited-x/openlabel/v2/Behaviour) + - BehaviourMotion (https://w3id.org/ascs-ev/envited-x/openlabel/v2/BehaviourMotion) - BehaviourCommunicationEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/BehaviourCommunicationEnum) - CommunicationHeadlightFlash (https://w3id.org/ascs-ev/envited-x/openlabel/v2/CommunicationHeadlightFlash) - CommunicationHorn (https://w3id.org/ascs-ev/envited-x/openlabel/v2/CommunicationHorn) @@ -420,14 +95,19 @@ SceneryZoneEnum <|-- ZoneTrafficManagement - IntersectionTJunction (https://w3id.org/ascs-ev/envited-x/openlabel/v2/IntersectionTJunction) - IntersectionYJunction (https://w3id.org/ascs-ev/envited-x/openlabel/v2/IntersectionYJunction) - JunctionRoundaboutEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/JunctionRoundaboutEnum) + - RoundaboutCompact (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompact) - RoundaboutCompactNosignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompactNosignal) - RoundaboutCompactSignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompactSignal) + - RoundaboutDouble (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDouble) - RoundaboutDoubleNosignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDoubleNosignal) - RoundaboutDoubleSignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDoubleSignal) + - RoundaboutLarge (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLarge) - RoundaboutLargeNosignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLargeNosignal) - RoundaboutLargeSignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLargeSignal) + - RoundaboutMini (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMini) - RoundaboutMiniNosignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMiniNosignal) - RoundaboutMiniSignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMiniSignal) + - RoundaboutNormal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormal) - RoundaboutNormalNosignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormalNosignal) - RoundaboutNormalSignal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormalSignal) - LaneSpecificationTravelDirectionEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/LaneSpecificationTravelDirectionEnum) @@ -442,9 +122,23 @@ SceneryZoneEnum <|-- ZoneTrafficManagement - LaneTypeTram (https://w3id.org/ascs-ev/envited-x/openlabel/v2/LaneTypeTram) - Odd (https://w3id.org/ascs-ev/envited-x/openlabel/v2/Odd) - OddDynamicElements (https://w3id.org/ascs-ev/envited-x/openlabel/v2/OddDynamicElements) + - DynamicElementsSubjectVehicle (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DynamicElementsSubjectVehicle) + - DynamicElementsTraffic (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DynamicElementsTraffic) - OddEnvironment (https://w3id.org/ascs-ev/envited-x/openlabel/v2/OddEnvironment) + - EnvironmentConnectivity (https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentConnectivity) + - EnvironmentIllumination (https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentIllumination) + - IlluminationDay (https://w3id.org/ascs-ev/envited-x/openlabel/v2/IlluminationDay) + - EnvironmentWeather (https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentWeather) - OddScenery (https://w3id.org/ascs-ev/envited-x/openlabel/v2/OddScenery) -- QuantitativeValue (https://w3id.org/ascs-ev/envited-x/openlabel/v2/QuantitativeValue) + - SceneryDrivableArea (https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryDrivableArea) + - DrivableAreaGeometry (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaGeometry) + - GeometryHorizontal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/GeometryHorizontal) + - GeometryLongitudinal (https://w3id.org/ascs-ev/envited-x/openlabel/v2/GeometryLongitudinal) + - DrivableAreaLaneSpecification (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaLaneSpecification) + - DrivableAreaSigns (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSigns) + - DrivableAreaSurface (https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSurface) + - SceneryJunction (https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryJunction) +- QuantitativeValue (https://schema.org/QuantitativeValue) - RainTypeEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeEnum) - RainTypeConvective (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeConvective) - RainTypeDynamic (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeDynamic) @@ -495,22 +189,46 @@ SceneryZoneEnum <|-- ZoneTrafficManagement - ZoneSchool (https://w3id.org/ascs-ev/envited-x/openlabel/v2/ZoneSchool) - ZoneTrafficManagement (https://w3id.org/ascs-ev/envited-x/openlabel/v2/ZoneTrafficManagement) - SignsInformationEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/SignsInformationEnum) + - InformationSignsUniform (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniform) - InformationSignsUniformFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniformFullTime) - InformationSignsUniformTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniformTemporary) + - InformationSignsVariable (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariable) - InformationSignsVariableFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariableFullTime) - InformationSignsVariableTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariableTemporary) - SignsRegulatoryEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/SignsRegulatoryEnum) + - RegulatorySignsUniform (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniform) - RegulatorySignsUniformFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniformFullTime) - RegulatorySignsUniformTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniformTemporary) + - RegulatorySignsVariable (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariable) - RegulatorySignsVariableFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariableFullTime) - RegulatorySignsVariableTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariableTemporary) - SignsWarningEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/SignsWarningEnum) - WarningSignsUniform (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniform) - WarningSignsUniformFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniformFullTime) - WarningSignsUniformTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniformTemporary) + - WarningSignsVariable (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariable) - WarningSignsVariableFullTime (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariableFullTime) - WarningSignsVariableTemporary (https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariableTemporary) - Tag (https://w3id.org/ascs-ev/envited-x/openlabel/v2/Tag) +- TrafficAgentTypeEnum (https://w3id.org/ascs-ev/envited-x/openlabel/v2/TrafficAgentTypeEnum) + - HumanAnimalRider (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanAnimalRider) + - HumanCyclist (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanCyclist) + - HumanDriver (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanDriver) + - HumanMotorcyclist (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanMotorcyclist) + - HumanPassenger (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPassenger) + - HumanPedestrian (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPedestrian) + - HumanWheelchairUser (https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanWheelchairUser) + - VehicleAgricultural (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleAgricultural) + - VehicleBus (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleBus) + - VehicleCar (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCar) + - VehicleConstruction (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleConstruction) + - VehicleCycle (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCycle) + - VehicleEmergency (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleEmergency) + - VehicleMotorcycle (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleMotorcycle) + - VehicleTrailer (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTrailer) + - VehicleTruck (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTruck) + - VehicleVan (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleVan) + - VehicleWheelchair (https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleWheelchair) ### Class Definitions @@ -521,6 +239,7 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |ArtificialVehicleLighting|https://w3id.org/ascs-ev/envited-x/openlabel/v2/ArtificialVehicleLighting||IlluminationArtificialEnum| |Behaviour|https://w3id.org/ascs-ev/envited-x/openlabel/v2/Behaviour||| |BehaviourCommunicationEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/BehaviourCommunicationEnum||| +|BehaviourMotion|https://w3id.org/ascs-ev/envited-x/openlabel/v2/BehaviourMotion||Behaviour| |CommunicationHeadlightFlash|https://w3id.org/ascs-ev/envited-x/openlabel/v2/CommunicationHeadlightFlash||BehaviourCommunicationEnum| |CommunicationHorn|https://w3id.org/ascs-ev/envited-x/openlabel/v2/CommunicationHorn||BehaviourCommunicationEnum| |CommunicationSignalEmergency|https://w3id.org/ascs-ev/envited-x/openlabel/v2/CommunicationSignalEmergency||BehaviourCommunicationEnum| @@ -535,33 +254,47 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |ConnectivityPositioningEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/ConnectivityPositioningEnum||| |DaySunPositionEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DaySunPositionEnum||| |DrivableAreaEdgeEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaEdgeEnum||| +|DrivableAreaGeometry|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaGeometry||SceneryDrivableArea| +|DrivableAreaLaneSpecification|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaLaneSpecification||SceneryDrivableArea| +|DrivableAreaSigns|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSigns||SceneryDrivableArea| +|DrivableAreaSurface|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSurface||SceneryDrivableArea| |DrivableAreaSurfaceConditionEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSurfaceConditionEnum||| |DrivableAreaSurfaceFeatureEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSurfaceFeatureEnum||| |DrivableAreaSurfaceTypeEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaSurfaceTypeEnum||| |DrivableAreaTypeEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DrivableAreaTypeEnum||| +|DynamicElementsSubjectVehicle|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DynamicElementsSubjectVehicle||OddDynamicElements| +|DynamicElementsTraffic|https://w3id.org/ascs-ev/envited-x/openlabel/v2/DynamicElementsTraffic||OddDynamicElements| |EdgeLineMarkers|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeLineMarkers||DrivableAreaEdgeEnum| |EdgeNone|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeNone||DrivableAreaEdgeEnum| |EdgeShoulderGrass|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeShoulderGrass||DrivableAreaEdgeEnum| |EdgeShoulderPavedOrGravel|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeShoulderPavedOrGravel||DrivableAreaEdgeEnum| |EdgeSolidBarriers|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeSolidBarriers||DrivableAreaEdgeEnum| |EdgeTemporaryLineMarkers|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EdgeTemporaryLineMarkers||DrivableAreaEdgeEnum| +|EnvironmentConnectivity|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentConnectivity||OddEnvironment| +|EnvironmentIllumination|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentIllumination||OddEnvironment| |EnvironmentParticulatesEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentParticulatesEnum||| +|EnvironmentWeather|https://w3id.org/ascs-ev/envited-x/openlabel/v2/EnvironmentWeather||OddEnvironment| |FixedStructureBuilding|https://w3id.org/ascs-ev/envited-x/openlabel/v2/FixedStructureBuilding||SceneryFixedStructureEnum| |FixedStructureStreetFurniture|https://w3id.org/ascs-ev/envited-x/openlabel/v2/FixedStructureStreetFurniture||SceneryFixedStructureEnum| |FixedStructureStreetlight|https://w3id.org/ascs-ev/envited-x/openlabel/v2/FixedStructureStreetlight||SceneryFixedStructureEnum| |FixedStructureVegetation|https://w3id.org/ascs-ev/envited-x/openlabel/v2/FixedStructureVegetation||SceneryFixedStructureEnum| +|GeometryHorizontal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/GeometryHorizontal||DrivableAreaGeometry| +|GeometryLongitudinal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/GeometryLongitudinal||DrivableAreaGeometry| |GeometryTransverseEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/GeometryTransverseEnum||| -|HumanAnimalRider|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanAnimalRider||RoadUserHumanEnum| -|HumanCyclist|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanCyclist||RoadUserHumanEnum| -|HumanDriver|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanDriver||RoadUserHumanEnum| -|HumanMotorcyclist|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanMotorcyclist||RoadUserHumanEnum| -|HumanPassenger|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPassenger||RoadUserHumanEnum| -|HumanPedestrian|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPedestrian||RoadUserHumanEnum| -|HumanWheelchairUser|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanWheelchairUser||RoadUserHumanEnum| +|HumanAnimalRider|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanAnimalRider||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanCyclist|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanCyclist||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanDriver|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanDriver||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanMotorcyclist|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanMotorcyclist||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanPassenger|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPassenger||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanPedestrian|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanPedestrian||RoadUserHumanEnum, TrafficAgentTypeEnum| +|HumanWheelchairUser|https://w3id.org/ascs-ev/envited-x/openlabel/v2/HumanWheelchairUser||RoadUserHumanEnum, TrafficAgentTypeEnum| |IlluminationArtificialEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/IlluminationArtificialEnum||| +|IlluminationDay|https://w3id.org/ascs-ev/envited-x/openlabel/v2/IlluminationDay||EnvironmentIllumination| |IlluminationLowLightEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/IlluminationLowLightEnum||| +|InformationSignsUniform|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniform||SignsInformationEnum| |InformationSignsUniformFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniformFullTime||SignsInformationEnum| |InformationSignsUniformTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsUniformTemporary||SignsInformationEnum| +|InformationSignsVariable|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariable||SignsInformationEnum| |InformationSignsVariableFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariableFullTime||SignsInformationEnum| |InformationSignsVariableTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/InformationSignsVariableTemporary||SignsInformationEnum| |IntersectionCrossroad|https://w3id.org/ascs-ev/envited-x/openlabel/v2/IntersectionCrossroad||JunctionIntersectionEnum| @@ -595,13 +328,15 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |PositioningGalileo|https://w3id.org/ascs-ev/envited-x/openlabel/v2/PositioningGalileo||ConnectivityPositioningEnum| |PositioningGlonass|https://w3id.org/ascs-ev/envited-x/openlabel/v2/PositioningGlonass||ConnectivityPositioningEnum| |PositioningGps|https://w3id.org/ascs-ev/envited-x/openlabel/v2/PositioningGps||ConnectivityPositioningEnum| -|QuantitativeValue|https://w3id.org/ascs-ev/envited-x/openlabel/v2/QuantitativeValue||| +|QuantitativeValue|https://schema.org/QuantitativeValue||| |RainTypeConvective|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeConvective||RainTypeEnum| |RainTypeDynamic|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeDynamic||RainTypeEnum| |RainTypeEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeEnum||| |RainTypeOrographic|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RainTypeOrographic||RainTypeEnum| +|RegulatorySignsUniform|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniform||SignsRegulatoryEnum| |RegulatorySignsUniformFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniformFullTime||SignsRegulatoryEnum| |RegulatorySignsUniformTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsUniformTemporary||SignsRegulatoryEnum| +|RegulatorySignsVariable|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariable||SignsRegulatoryEnum| |RegulatorySignsVariableFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariableFullTime||SignsRegulatoryEnum| |RegulatorySignsVariableTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RegulatorySignsVariableTemporary||SignsRegulatoryEnum| |RoadTypeDistributor|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoadTypeDistributor||DrivableAreaTypeEnum| @@ -614,18 +349,25 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |RoadUser|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoadUser||| |RoadUserHumanEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoadUserHumanEnum||| |RoadUserVehicleEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoadUserVehicleEnum||| +|RoundaboutCompact|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompact||JunctionRoundaboutEnum| |RoundaboutCompactNosignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompactNosignal||JunctionRoundaboutEnum| |RoundaboutCompactSignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutCompactSignal||JunctionRoundaboutEnum| +|RoundaboutDouble|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDouble||JunctionRoundaboutEnum| |RoundaboutDoubleNosignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDoubleNosignal||JunctionRoundaboutEnum| |RoundaboutDoubleSignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutDoubleSignal||JunctionRoundaboutEnum| +|RoundaboutLarge|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLarge||JunctionRoundaboutEnum| |RoundaboutLargeNosignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLargeNosignal||JunctionRoundaboutEnum| |RoundaboutLargeSignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutLargeSignal||JunctionRoundaboutEnum| +|RoundaboutMini|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMini||JunctionRoundaboutEnum| |RoundaboutMiniNosignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMiniNosignal||JunctionRoundaboutEnum| |RoundaboutMiniSignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutMiniSignal||JunctionRoundaboutEnum| +|RoundaboutNormal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormal||JunctionRoundaboutEnum| |RoundaboutNormalNosignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormalNosignal||JunctionRoundaboutEnum| |RoundaboutNormalSignal|https://w3id.org/ascs-ev/envited-x/openlabel/v2/RoundaboutNormalSignal||JunctionRoundaboutEnum| |Scenario|https://w3id.org/ascs-ev/envited-x/openlabel/v2/Scenario||| +|SceneryDrivableArea|https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryDrivableArea||OddScenery| |SceneryFixedStructureEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryFixedStructureEnum||| +|SceneryJunction|https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryJunction||OddScenery| |ScenerySpecialStructureEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/ScenerySpecialStructureEnum||| |SceneryTemporaryStructureEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryTemporaryStructureEnum||| |SceneryZoneEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/SceneryZoneEnum||| @@ -661,6 +403,7 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |TemporaryStructureRefuseCollection|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TemporaryStructureRefuseCollection||SceneryTemporaryStructureEnum| |TemporaryStructureRoadSignage|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TemporaryStructureRoadSignage||SceneryTemporaryStructureEnum| |TemporaryStructureRoadWorks|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TemporaryStructureRoadWorks||SceneryTemporaryStructureEnum| +|TrafficAgentTypeEnum|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TrafficAgentTypeEnum||| |TransverseBarriers|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TransverseBarriers||GeometryTransverseEnum| |TransverseDivided|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TransverseDivided||GeometryTransverseEnum| |TransverseLanesTogether|https://w3id.org/ascs-ev/envited-x/openlabel/v2/TransverseLanesTogether||GeometryTransverseEnum| @@ -674,20 +417,21 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |V2vCellular|https://w3id.org/ascs-ev/envited-x/openlabel/v2/V2vCellular||ConnectivityCommunicationEnum| |V2vSatellite|https://w3id.org/ascs-ev/envited-x/openlabel/v2/V2vSatellite||ConnectivityCommunicationEnum| |V2vWifi|https://w3id.org/ascs-ev/envited-x/openlabel/v2/V2vWifi||ConnectivityCommunicationEnum| -|VehicleAgricultural|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleAgricultural||RoadUserVehicleEnum| -|VehicleBus|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleBus||RoadUserVehicleEnum| -|VehicleCar|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCar||RoadUserVehicleEnum| -|VehicleConstruction|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleConstruction||RoadUserVehicleEnum| -|VehicleCycle|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCycle||RoadUserVehicleEnum| -|VehicleEmergency|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleEmergency||RoadUserVehicleEnum| -|VehicleMotorcycle|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleMotorcycle||RoadUserVehicleEnum| -|VehicleTrailer|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTrailer||RoadUserVehicleEnum| -|VehicleTruck|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTruck||RoadUserVehicleEnum| -|VehicleVan|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleVan||RoadUserVehicleEnum| -|VehicleWheelchair|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleWheelchair||RoadUserVehicleEnum| +|VehicleAgricultural|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleAgricultural||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleBus|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleBus||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleCar|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCar||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleConstruction|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleConstruction||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleCycle|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleCycle||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleEmergency|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleEmergency||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleMotorcycle|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleMotorcycle||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleTrailer|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTrailer||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleTruck|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleTruck||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleVan|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleVan||RoadUserVehicleEnum, TrafficAgentTypeEnum| +|VehicleWheelchair|https://w3id.org/ascs-ev/envited-x/openlabel/v2/VehicleWheelchair||RoadUserVehicleEnum, TrafficAgentTypeEnum| |WarningSignsUniform|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniform||SignsWarningEnum| |WarningSignsUniformFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniformFullTime||SignsWarningEnum| |WarningSignsUniformTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsUniformTemporary||SignsWarningEnum| +|WarningSignsVariable|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariable||SignsWarningEnum| |WarningSignsVariableFullTime|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariableFullTime||SignsWarningEnum| |WarningSignsVariableTemporary|https://w3id.org/ascs-ev/envited-x/openlabel/v2/WarningSignsVariableTemporary||SignsWarningEnum| |ZoneGeoFenced|https://w3id.org/ascs-ev/envited-x/openlabel/v2/ZoneGeoFenced||SceneryZoneEnum| @@ -824,70 +568,862 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |Shape|Property prefix|Property|MinCount|MaxCount|Description|Datatype/NodeKind|Filename| |---|---|---|---|---|---|---|---| -|OddDynamicElements|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|trafficFlowRateValue||1|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SubjectVehicleSpeed||1|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|TrafficFlowRate||1|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|TrafficAgentType||1|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|TrafficAgentDensity||1|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|TrafficVolume||1|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|TrafficSpecialVehicle||1|Presence of special vehicles.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|subjectVehicleSpeedValue||1|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|trafficAgentDensityValue||1|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|trafficVolumeValue||1|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| -|OddDynamicElements|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionTurn||1|An activity where the road user changes their heading.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionSlide||1|An activity where a pedestrian is slipping/sliding on the road.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|motionAccelerateValue||1|Rate of acceleration (ms⁻²).||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|motionDecelerateValue||1|Rate of deceleration (ms⁻²).||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionTurnRight||1|Subject exits the intersection on a road to the right of the original.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionReverse||1|An activity where the subject vehicle is moving in the opposite direction to which it is facing.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionCutIn||1|An activity where the subject vehicle ends up directly in front of the object vehicle.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|motionDriveValue||1|Speed (km/h).||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionAccelerate||1|An activity where the road user increases their velocity.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionCross||1|An activity where the trajectory of the road user crosses the trajectory of the object.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionLaneChangeLeft||1|An activity where the subject vehicle is in a lane left of the original.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionDecelerate||1|An activity where the road user decreases their velocity.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionDrive||1|An activity where the subject vehicle is moving in the direction it is facing.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionOvertake||1|An activity where the subject starts behind and ends up in front by changing lanes.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionTowards||1|An activity where the road user is closer to the object by the end.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionCutOut||1|An activity where the object vehicle suddenly moves out of the lane.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionLaneChangeRight||1|An activity where the subject vehicle is in a lane right of the original.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|BehaviourCommunication|||Communication type of road user behaviour.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionStop||1|An activity where the road user is stationary.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionAway||1|An activity where the road user is further away from the object by the end.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionUTurn||1|Subject performs a turn resulting in heading in the opposite direction.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionWalk||1|Locomotion mode where at least one foot is always on the ground.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionRun||1|Locomotion mode where at a specific point no foot touches the ground.||openlabel-v2.shacl.ttl| +|BehaviourMotion|openlabel_v2|MotionTurnLeft||1|Subject exits the intersection on a road to the left of the original.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DrivableAreaGeometry|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaLaneSpecification|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSigns|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DrivableAreaSurface|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|TrafficAgentType||1|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|trafficFlowRateValue||1|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|TrafficVolume||1|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|trafficVolumeValue||1|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|TrafficSpecialVehicle||1|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|trafficAgentDensityValue||1|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|TrafficFlowRate||1|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|SubjectVehicleSpeed||1|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|subjectVehicleSpeedValue||1|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsSubjectVehicle|openlabel_v2|TrafficAgentDensity||1|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|subjectVehicleSpeedValue||1|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|trafficAgentDensityValue||1|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SubjectVehicleSpeed||1|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|TrafficAgentType||1|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|TrafficVolume||1|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|trafficFlowRateValue||1|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|TrafficSpecialVehicle||1|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|trafficVolumeValue||1|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|TrafficAgentDensity||1|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|TrafficFlowRate||1|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|DynamicElementsTraffic|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|weatherWindValue||1|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|WeatherWind||1|Presence of wind.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|weatherSnowValue||1|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|particulatesWaterValue||1|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|illuminationCloudinessValue||1|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|IlluminationLowLight||1|Type of low-light condition.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|EnvironmentParticulates||1|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|IlluminationArtificial||1|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|WeatherRain||1|Presence of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|weatherRainValue||1|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ParticulatesMarine||1|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|daySunElevationValue||1|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ConnectivityCommunication||1|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DaySunElevation||1|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ParticulatesDust||1|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|EnvironmentConnectivity|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|EnvironmentParticulates||1|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|daySunElevationValue||1|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|WeatherWind||1|Presence of wind.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|weatherSnowValue||1|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|particulatesWaterValue||1|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|WeatherRain||1|Presence of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|illuminationCloudinessValue||1|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|weatherRainValue||1|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|IlluminationLowLight||1|Type of low-light condition.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|IlluminationArtificial||1|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ParticulatesDust||1|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|weatherWindValue||1|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DaySunElevation||1|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ParticulatesMarine||1|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|EnvironmentIllumination|openlabel_v2|ConnectivityCommunication||1|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ConnectivityCommunication||1|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ParticulatesMarine||1|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|WeatherRain||1|Presence of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|IlluminationArtificial||1|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|WeatherWind||1|Presence of wind.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|weatherWindValue||1|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|daySunElevationValue||1|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|weatherSnowValue||1|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|particulatesWaterValue||1|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|weatherRainValue||1|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|IlluminationLowLight||1|Type of low-light condition.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|EnvironmentParticulates||1|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|DaySunElevation||1|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|illuminationCloudinessValue||1|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ParticulatesDust||1|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|EnvironmentWeather|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|GeometryHorizontal|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|GeometryLongitudinal|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|particulatesWaterValue||1|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|EnvironmentParticulates||1|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|weatherWindValue||1|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|weatherSnowValue||1|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|WeatherWind||1|Presence of wind.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|daySunElevationValue||1|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|weatherRainValue||1|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ParticulatesDust||1|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|IlluminationArtificial||1|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ParticulatesMarine||1|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|IlluminationLowLight||1|Type of low-light condition.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|illuminationCloudinessValue||1|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|WeatherRain||1|Presence of rainfall.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|ConnectivityCommunication||1|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DaySunElevation||1|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|IlluminationDay|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceCondition||0|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|longitudinalUpSlopeValue||0|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|HorizontalCurves||0|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|trafficFlowRateValue||1|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SubjectVehicleSpeed||1|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|TrafficFlowRate||1|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|TrafficAgentType||1|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|TrafficAgentDensity||1|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SceneryFixedStructure||0|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|longitudinalDownSlopeValue||0|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LaneSpecificationLaneCount||0|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|GeometryTransverse||0|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|TrafficVolume||1|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|TrafficSpecialVehicle||1|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|subjectVehicleSpeedValue||1|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LaneSpecificationMarking||0|Presence of lane markings.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|trafficAgentDensityValue||1|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|trafficVolumeValue||1|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LongitudinalDownSlope||0|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|HorizontalStraights||0|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|OddDynamicElements|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|DrivableAreaSurfaceType||0|Type of drivable area surface.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|DrivableAreaSurfaceFeature||0|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| @@ -898,8 +1434,10 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddEnvironment|openlabel_v2|SceneryTemporaryStructure||0|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|LaneSpecificationType||0|Type of lane.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|laneSpecificationLaneCountValue||0|Number of lanes.||openlabel-v2.shacl.ttl| +|OddEnvironment|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|LaneSpecificationDimensions||0|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|OddEnvironment|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|JunctionIntersection||0|Type of intersection.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|LongitudinalUpSlope||0|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| @@ -907,7 +1445,6 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddEnvironment|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ScenerySpecialStructure||0|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| -|OddEnvironment|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|LongitudinalLevelPlane||0|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|weatherRainValue||1|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| @@ -915,6 +1452,7 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddEnvironment|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ConnectivityCommunication||1|Type of communication connectivity.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|OddEnvironment|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|laneSpecificationDimensionsValue||0|Lane width in metres.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| @@ -937,24 +1475,21 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddEnvironment|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|horizontalCurvesValue||0|Curve radius in metres.||openlabel-v2.shacl.ttl| +|OddEnvironment|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|IlluminationArtificial||1|Type of artificial illumination.||openlabel-v2.shacl.ttl| -|OddEnvironment|openlabel_v2|SignsInformation||0|Type of information sign.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|DrivableAreaType||0|Type of drivable area.||openlabel-v2.shacl.ttl| -|OddEnvironment|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|daySunElevationValue||1|Sun elevation in degrees.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|SceneryZone||0|Type of zone.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|DrivableAreaEdge||0|Type of drivable area edge.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| -|OddEnvironment|openlabel_v2|SignsRegulatory||0|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|OddEnvironment|openlabel_v2|SignsWarning||0|Type of warning sign.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| -|OddEnvironment|openlabel_v2|JunctionRoundabout||0|Type of roundabout.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|weatherSnowValue||1|Visibility in kilometres.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|particulatesWaterValue||1|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| |OddEnvironment|openlabel_v2|LaneSpecificationTravelDirection||0|Direction of travel.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| -|OddScenery|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| @@ -968,16 +1503,19 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddScenery|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|OddScenery|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|OddScenery|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|OddScenery|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|OddScenery|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| -|OddScenery|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| @@ -994,7 +1532,6 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddScenery|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| -|OddScenery|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| @@ -1007,16 +1544,143 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |OddScenery|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|OddScenery|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| -|OddScenery|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| -|OddScenery|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| |OddScenery|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| |Scenario|openlabel_v2|hasTag||1|A tag associated with a scenario.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| +|SceneryDrivableArea|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LongitudinalUpSlope||1|Presence of an uphill gradient.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|TrafficVolume||0|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ConnectivityPositioning||0|Type of positioning system.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|IlluminationLowLight||0|Type of low-light condition.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|JunctionIntersection||1|Type of intersection.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|IlluminationArtificial||0|Type of artificial illumination.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DaySunPosition||0|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|particulatesWaterValue||0|Meteorological optical range in metres.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ParticulatesDust||0|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ScenerySpecialStructure||1|Type of special structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|weatherSnowValue||0|Visibility in kilometres.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|daySunElevationValue||0|Sun elevation in degrees.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|WeatherRain||0|Presence of rainfall.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|RainType||0|Type of rainfall.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|longitudinalDownSlopeValue||1|Downward gradient as a percentage.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|trafficAgentDensityValue||0|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|TrafficAgentType||0|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|TrafficAgentDensity||0|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|IlluminationCloudiness||0|Presence of cloudiness.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DaySunElevation||0|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ConnectivityCommunication||0|Type of communication connectivity.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ParticulatesWater||0|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|trafficVolumeValue||0|Traffic volume in vehicle kilometres.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|EnvironmentParticulates||0|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|TrafficFlowRate||0|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|subjectVehicleSpeedValue||0|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LongitudinalDownSlope||1|Presence of a downhill gradient.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|trafficAgentTypeValue||0|Types of traffic agents present.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ParticulatesPollution||0|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|WeatherSnow||0|Presence of snowfall.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ParticulatesVolcanic||0|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SubjectVehicleSpeed||0|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|laneSpecificationDimensionsValue||1|Lane width in metres.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|ParticulatesMarine||0|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DrivableAreaSurfaceType||1|Type of drivable area surface.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|trafficFlowRateValue||0|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|illuminationCloudinessValue||0|Cloud cover in okta.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|WeatherWind||0|Presence of wind.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|weatherWindValue||0|Wind speed in metres per second.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|weatherRainValue||0|Rainfall intensity in millimetres per hour.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|SceneryFixedStructure||1|Type of basic road structure present in the scenery.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|GeometryTransverse||1|Type of transverse geometry.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|TrafficSpecialVehicle||0|Presence of special vehicles.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LaneSpecificationTravelDirection||1|Direction of travel.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| +|SceneryJunction|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| |Tag|openlabel_v2|RoadUser||1|Road user tag.||openlabel-v2.shacl.ttl| |Tag|openlabel_v2|AdminTag||1|Administration tag.||openlabel-v2.shacl.ttl| |Tag|openlabel_v2|Behaviour||1|Behaviour tag.||openlabel-v2.shacl.ttl| @@ -1034,61 +1698,60 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |AdminTag|openlabel_v2|scenarioVersion||1|The version number of the scenario.||openlabel-v2.shacl.ttl| |AdminTag|openlabel_v2|ownerURL||1|The URL of the legal entity who owns the rights to the scenario.||openlabel-v2.shacl.ttl| |AdminTag|openlabel_v2|scenarioName||1|The name of the scenario.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionDrive||1|An activity where the subject vehicle is moving in the direction it is facing.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|motionAccelerateValue||1|Rate of acceleration (ms⁻²).||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionUTurn||1|Subject performs a turn resulting in heading in the opposite direction.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionReverse||1|An activity where the subject vehicle is moving in the opposite direction to which it is facing.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionLaneChangeLeft||1|An activity where the subject vehicle is in a lane left of the original.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionTurnRight||1|Subject exits the intersection on a road to the right of the original.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionAway||1|An activity where the road user is further away from the object by the end.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionStop||1|An activity where the road user is stationary.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|BehaviourCommunication|||Communication type of road user behaviour.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionTowards||1|An activity where the road user is closer to the object by the end.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|motionDriveValue||1|Speed (km/h).||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|motionDecelerateValue||1|Rate of deceleration (ms⁻²).||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionRun||1|Locomotion mode where at a specific point no foot touches the ground.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionLaneChangeRight||1|An activity where the subject vehicle is in a lane right of the original.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionWalk||1|Locomotion mode where at least one foot is always on the ground.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionSlide||1|An activity where a pedestrian is slipping/sliding on the road.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionTurn||1|An activity where the road user changes their heading.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionOvertake||1|An activity where the subject starts behind and ends up in front by changing lanes.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionTurnLeft||1|Subject exits the intersection on a road to the left of the original.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionCross||1|An activity where the trajectory of the road user crosses the trajectory of the object.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionDecelerate||1|An activity where the road user decreases their velocity.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionCutOut||1|An activity where the object vehicle suddenly moves out of the lane.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionCutIn||1|An activity where the subject vehicle ends up directly in front of the object vehicle.||openlabel-v2.shacl.ttl| -|Behaviour|openlabel_v2|MotionAccelerate||1|An activity where the road user increases their velocity.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionDrive||1|An activity where the subject vehicle is moving in the direction it is facing.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|motionAccelerateValue||1|Rate of acceleration (ms⁻²).||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionUTurn||1|Subject performs a turn resulting in heading in the opposite direction.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionReverse||1|An activity where the subject vehicle is moving in the opposite direction to which it is facing.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionLaneChangeLeft||1|An activity where the subject vehicle is in a lane left of the original.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionTurnRight||1|Subject exits the intersection on a road to the right of the original.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionAway||1|An activity where the road user is further away from the object by the end.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionStop||1|An activity where the road user is stationary.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|BehaviourCommunication|||Communication type of road user behaviour.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionTowards||1|An activity where the road user is closer to the object by the end.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|motionDriveValue||1|Speed (km/h).||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|motionDecelerateValue||1|Rate of deceleration (ms⁻²).||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionRun||1|Locomotion mode where at a specific point no foot touches the ground.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionLaneChangeRight||1|An activity where the subject vehicle is in a lane right of the original.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionWalk||1|Locomotion mode where at least one foot is always on the ground.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionSlide||1|An activity where a pedestrian is slipping/sliding on the road.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionTurn||1|An activity where the road user changes their heading.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionOvertake||1|An activity where the subject starts behind and ends up in front by changing lanes.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionTurnLeft||1|Subject exits the intersection on a road to the left of the original.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionCross||1|An activity where the trajectory of the road user crosses the trajectory of the object.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionDecelerate||1|An activity where the road user decreases their velocity.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionCutOut||1|An activity where the object vehicle suddenly moves out of the lane.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionCutIn||1|An activity where the subject vehicle ends up directly in front of the object vehicle.||openlabel-v2.shacl.ttl| +|Behaviour|openlabel_v2|MotionAccelerate||1|An activity where the road user increases their velocity.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ConnectivityPositioning||1|Type of positioning system.||openlabel-v2.shacl.ttl| +|Odd|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|TrafficAgentType||1|Presence of a specified traffic agent type.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|HorizontalCurves||1|Presence of curved roadway geometry.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|SceneryZone||1|Type of zone.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ParticulatesPollution||1|Presence of smoke or pollution particulates.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ParticulatesDust||1|Presence of sand or dust particulates.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|LaneSpecificationLaneCount||1|Presence of a specified lane count.||openlabel-v2.shacl.ttl| +|Odd|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DaySunElevation||1|Presence of a specified sun elevation above the horizon.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|LongitudinalLevelPlane||1|Presence of a level longitudinal plane.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|IlluminationCloudiness||1|Presence of cloudiness.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DrivableAreaSurfaceFeature||1|Type of drivable area surface feature.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|LaneSpecificationMarking||1|Presence of lane markings.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DrivableAreaType||1|Type of drivable area.||openlabel-v2.shacl.ttl| -|Odd|openlabel_v2|trafficAgentTypeValue|||Types of traffic agents present.||openlabel-v2.shacl.ttl| +|Odd|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ParticulatesWater||1|Presence of non-precipitating water droplets or ice crystals.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|illuminationCloudinessValue||1|Cloud cover in okta.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|HorizontalStraights||1|Presence of straight roadway geometry.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|trafficFlowRateValue||1|Traffic flow rate in vehicles per hour.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DaySunPosition||1|Position of the sun relative to the direction of travel.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|LaneSpecificationType|||Type of lane.||openlabel-v2.shacl.ttl| -|Odd|openlabel_v2|JunctionRoundabout||1|Type of roundabout.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|IlluminationLowLight||1|Type of low-light condition.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DrivableAreaEdge|||Type of drivable area edge.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ParticulatesMarine||1|Presence of marine spray in coastal areas.||openlabel-v2.shacl.ttl| -|Odd|openlabel_v2|SignsWarning||1|Type of warning sign.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|TrafficAgentDensity||1|Presence of a specified traffic agent density.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|longitudinalUpSlopeValue||1|Upward gradient as a percentage.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|DrivableAreaSurfaceCondition||1|Type of drivable area surface condition.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|ParticulatesVolcanic||1|Presence of volcanic ash particulates.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|WeatherSnow||1|Presence of snowfall.||openlabel-v2.shacl.ttl| -|Odd|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|subjectVehicleSpeedValue||1|Subject vehicle speed in kilometres per hour.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|TrafficFlowRate||1|Presence of a specified traffic flow rate.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|TrafficSpecialVehicle||1|Presence of special vehicles.||openlabel-v2.shacl.ttl| @@ -1108,12 +1771,13 @@ SceneryZoneEnum <|-- ZoneTrafficManagement |Odd|openlabel_v2|trafficAgentDensityValue||1|Traffic agent density in vehicles per kilometre.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|LaneSpecificationDimensions||1|Presence of specified lane dimensions.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|RainType||1|Type of rainfall.||openlabel-v2.shacl.ttl| +|Odd|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|laneSpecificationLaneCountValue||1|Number of lanes.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|SubjectVehicleSpeed||1|Presence of a specified subject vehicle speed.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|TrafficVolume||1|Presence of a specified traffic volume.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|horizontalCurvesValue||1|Curve radius in metres.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|SceneryTemporaryStructure||1|Type of temporary drivable area structure present in the scenery.||openlabel-v2.shacl.ttl| -|Odd|openlabel_v2|SignsRegulatory||1|Type of regulatory sign.||openlabel-v2.shacl.ttl| +|Odd|openlabel_v2|SignsInformation||1|Type of information sign.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|weatherWindValue||1|Wind speed in metres per second.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|WeatherRain||1|Presence of rainfall.||openlabel-v2.shacl.ttl| |Odd|openlabel_v2|EnvironmentParticulates||1|Type of particulates present in the environment.||openlabel-v2.shacl.ttl| diff --git a/artifacts/openlabel-v2/openlabel-v2.context.jsonld b/artifacts/openlabel-v2/openlabel-v2.context.jsonld index 7d7458bf..5d0b8623 100644 --- a/artifacts/openlabel-v2/openlabel-v2.context.jsonld +++ b/artifacts/openlabel-v2/openlabel-v2.context.jsonld @@ -23,6 +23,9 @@ "@id": "BehaviourCommunication", "@type": "@vocab" }, + "BehaviourMotion": { + "@id": "BehaviourMotion" + }, "ConnectivityCommunication": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -67,6 +70,18 @@ "@id": "DrivableAreaEdge", "@type": "@vocab" }, + "DrivableAreaGeometry": { + "@id": "DrivableAreaGeometry" + }, + "DrivableAreaLaneSpecification": { + "@id": "DrivableAreaLaneSpecification" + }, + "DrivableAreaSigns": { + "@id": "DrivableAreaSigns" + }, + "DrivableAreaSurface": { + "@id": "DrivableAreaSurface" + }, "DrivableAreaSurfaceCondition": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -107,6 +122,18 @@ "@id": "DrivableAreaType", "@type": "@vocab" }, + "DynamicElementsSubjectVehicle": { + "@id": "DynamicElementsSubjectVehicle" + }, + "DynamicElementsTraffic": { + "@id": "DynamicElementsTraffic" + }, + "EnvironmentConnectivity": { + "@id": "EnvironmentConnectivity" + }, + "EnvironmentIllumination": { + "@id": "EnvironmentIllumination" + }, "EnvironmentParticulates": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -117,6 +144,15 @@ "@id": "EnvironmentParticulates", "@type": "@vocab" }, + "EnvironmentWeather": { + "@id": "EnvironmentWeather" + }, + "GeometryHorizontal": { + "@id": "GeometryHorizontal" + }, + "GeometryLongitudinal": { + "@id": "GeometryLongitudinal" + }, "GeometryTransverse": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -149,6 +185,9 @@ "@id": "IlluminationCloudiness", "@type": "xsd:boolean" }, + "IlluminationDay": { + "@id": "IlluminationDay" + }, "IlluminationLowLight": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -378,6 +417,9 @@ "Scenario": { "@id": "Scenario" }, + "SceneryDrivableArea": { + "@id": "SceneryDrivableArea" + }, "SceneryFixedStructure": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -388,6 +430,9 @@ "@id": "SceneryFixedStructure", "@type": "@vocab" }, + "SceneryJunction": { + "@id": "SceneryJunction" + }, "ScenerySpecialStructure": { "@context": { "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", @@ -600,7 +645,14 @@ "@type": "xsd:integer" }, "trafficAgentTypeValue": { - "@id": "trafficAgentTypeValue" + "@context": { + "@vocab": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", + "description": "skos:prefLabel", + "meaning": "@id", + "text": "skos:notation" + }, + "@id": "trafficAgentTypeValue", + "@type": "@vocab" }, "trafficFlowRateValue": { "@id": "trafficFlowRateValue", diff --git a/artifacts/openlabel-v2/openlabel-v2.owl.ttl b/artifacts/openlabel-v2/openlabel-v2.owl.ttl index 7fbf2b78..0372c77e 100644 --- a/artifacts/openlabel-v2/openlabel-v2.owl.ttl +++ b/artifacts/openlabel-v2/openlabel-v2.owl.ttl @@ -1,3 +1,4 @@ +@prefix cmns-q: . @prefix dcterms: . @prefix linkml: . @prefix openlabel_v2: . @@ -9,1196 +10,125 @@ @prefix skos: . @prefix xsd: . -openlabel_v2:OddDynamicElements a owl:Class ; - rdfs:label "OddDynamicElements"@en ; +openlabel_v2:BehaviourMotion a owl:Class ; + rdfs:label "BehaviourMotion"@en ; + rdfs:seeAlso ; + rdfs:subClassOf openlabel_v2:Behaviour ; + skos:altLabel "Motion"@en ; + skos:definition "An activity in which the road user changes position, velocity or direction."@en ; + skos:editorialNote "v1 label: \"Motion\"; v1 had no normative reference and was attributed solely to ASAM OpenLABEL. ISO 34504:2023 Section 4.4.4 defines the same motion/action taxonomy."@en ; + skos:exactMatch openlabel_v2:BehaviourMotion ; + skos:inScheme ; + skos:note "ISO 34504:2023, 4.4.4 (Tags for a dynamic entity — longitudinal, lateral, and mixed actions)"@en . + +openlabel_v2:DrivableAreaLaneSpecification a owl:Class ; + rdfs:label "DrivableAreaLaneSpecification"@en ; + rdfs:subClassOf openlabel_v2:SceneryDrivableArea ; + skos:altLabel "Drivable area lane specification"@en ; + skos:definition "Drivable area lane specification."@en ; + skos:editorialNote "v1 label: \"Drivable area lane specification\" (PAS 1883:2020, Section 5.2.3.1.c)."@en ; + skos:exactMatch openlabel_v2:DrivableAreaLaneSpecification ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.4"@en . + +openlabel_v2:DrivableAreaSigns a owl:Class ; + rdfs:label "DrivableAreaSigns"@en ; + rdfs:subClassOf openlabel_v2:SceneryDrivableArea ; + skos:altLabel "Drivable area signs"@en ; + skos:definition "Drivable area signs."@en ; + skos:editorialNote "v1 label: \"Drivable area signs\" (PAS 1883:2020, Section 5.2.3.1.d)."@en ; + skos:exactMatch openlabel_v2:DrivableAreaSigns ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.5"@en . + +openlabel_v2:DrivableAreaSurface a owl:Class ; + rdfs:label "DrivableAreaSurface"@en ; + rdfs:subClassOf openlabel_v2:SceneryDrivableArea ; + skos:altLabel "Drivable area surface"@en ; + skos:definition "Drivable area surface."@en ; + skos:editorialNote "v1 label: \"Drivable area surface\" (PAS 1883:2020, Section 5.2.3.1.f)."@en ; + skos:exactMatch openlabel_v2:DrivableAreaSurface ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.7"@en . + +openlabel_v2:DynamicElementsSubjectVehicle a owl:Class ; + rdfs:label "DynamicElementsSubjectVehicle"@en ; + rdfs:subClassOf openlabel_v2:OddDynamicElements ; + skos:altLabel "Subject vehicle"@en ; + skos:definition "Subject vehicle dynamic element."@en ; + skos:editorialNote "v1 label: \"Subject vehicle\" (PAS 1883:2020, Section 5.4.b)."@en ; + skos:exactMatch openlabel_v2:DynamicElementsSubjectVehicle ; + skos:inScheme ; + skos:note "ISO 34503:2023, 11.2"@en . + +openlabel_v2:DynamicElementsTraffic a owl:Class ; + rdfs:label "DynamicElementsTraffic"@en ; + rdfs:subClassOf openlabel_v2:OddDynamicElements ; + skos:altLabel "Traffic"@en ; + skos:definition "Traffic dynamic elements."@en ; + skos:editorialNote "v1 label: \"Traffic\" (PAS 1883:2020, Section 5.4.a)."@en ; + skos:exactMatch openlabel_v2:DynamicElementsTraffic ; + skos:inScheme ; + skos:note "ISO 34503:2023, 11.1"@en . + +openlabel_v2:EnvironmentConnectivity a owl:Class ; + rdfs:label "EnvironmentConnectivity"@en ; + rdfs:subClassOf openlabel_v2:OddEnvironment ; + skos:altLabel "Connectivity"@en ; + skos:definition "Connectivity conditions."@en ; + skos:editorialNote "v1 label: \"Connectivity\" (PAS 1883:2020, Section 5.3.4)."@en ; + skos:exactMatch openlabel_v2:EnvironmentConnectivity ; + skos:inScheme ; + skos:note "ISO 34503:2023, 10.5"@en . + +openlabel_v2:EnvironmentWeather a owl:Class ; + rdfs:label "EnvironmentWeather"@en ; + rdfs:subClassOf openlabel_v2:OddEnvironment ; + skos:altLabel "Weather"@en ; + skos:definition "Weather conditions."@en ; + skos:editorialNote "v1 label: \"Weather\" (PAS 1883:2020, Section 5.3.1)."@en ; + skos:exactMatch openlabel_v2:EnvironmentWeather ; + skos:inScheme ; + skos:note "ISO 34503:2023, 10.2"@en . + +openlabel_v2:GeometryHorizontal a owl:Class ; + rdfs:label "GeometryHorizontal"@en ; + rdfs:subClassOf openlabel_v2:DrivableAreaGeometry ; + skos:altLabel "Horizontal plane"@en ; + skos:definition "Horizontal plane geometry of the drivable area."@en ; + skos:editorialNote "v1 label: \"Horizontal plane\" (PAS 1883:2020, Section 5.2.3.3.a)."@en ; + skos:exactMatch openlabel_v2:GeometryHorizontal ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.3"@en . + +openlabel_v2:GeometryLongitudinal a owl:Class ; + rdfs:label "GeometryLongitudinal"@en ; + rdfs:subClassOf openlabel_v2:DrivableAreaGeometry ; + skos:altLabel "Longitudinal plane"@en ; + skos:definition "Longitudinal plane geometry of the drivable area."@en ; + skos:editorialNote "v1 label: \"Longitudinal plane\" (PAS 1883:2020, Section 5.2.3.3.c)."@en ; + skos:exactMatch openlabel_v2:GeometryLongitudinal ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.3"@en . + +openlabel_v2:IlluminationDay a owl:Class ; + rdfs:label "IlluminationDay"@en ; + rdfs:subClassOf openlabel_v2:EnvironmentIllumination ; + skos:altLabel "Day"@en ; + skos:definition "Daytime illumination."@en ; + skos:editorialNote "v1 label: \"Day\" (PAS 1883:2020, Section 5.3.3.a)."@en ; + skos:exactMatch openlabel_v2:IlluminationDay ; + skos:inScheme ; + skos:note "ISO 34503:2023, 10.4"@en . + +openlabel_v2:Scenario a owl:Class ; + rdfs:label "Scenario"@en ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + owl:onProperty openlabel_v2:hasTag ], [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaType ], - openlabel_v2:Odd ; - skos:altLabel "Dynamic elements"@en ; - skos:definition "Dynamic elements subset of the operational design domain."@en ; - skos:editorialNote "v1 label: \"Dynamic elements\" (PAS 1883:2020, Section 5.1.c)."@en ; - skos:exactMatch openlabel_v2:OddDynamicElements ; - skos:inScheme ; - skos:note "ISO 34503:2023, Clause 11"@en . - -openlabel_v2:OddEnvironment a owl:Class ; - rdfs:label "OddEnvironment"@en ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:HorizontalCurves ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalDownSlope ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryFixedStructure ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaEdge ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:JunctionIntersection ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LongitudinalUpSlope ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:JunctionRoundabout ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:horizontalCurvesValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationMarking ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:HorizontalStraights ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:LaneSpecificationDimensions ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:GeometryTransverse ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsWarning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryTemporaryStructure ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationType ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DrivableAreaType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SceneryZone ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ScenerySpecialStructure ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SignsRegulatory ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - openlabel_v2:Odd ; - skos:altLabel "Environmental Conditions"@en ; - skos:definition "Environment-related subset of the operational design domain."@en ; - skos:editorialNote "v1 label: \"Environmental Conditions\" (PAS 1883:2020, Section 5.1.b)."@en ; - skos:exactMatch openlabel_v2:OddEnvironment ; - skos:inScheme ; - skos:note "ISO 34503:2023, Clause 10"@en . - -openlabel_v2:OddScenery a owl:Class ; - rdfs:label "OddScenery"@en ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficFlowRateValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesVolcanic ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationLowLight ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ConnectivityPositioning ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesMarine ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:WeatherSnow ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationArtificial ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherSnowValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:WeatherWind ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:SubjectVehicleSpeed ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesPollution ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:daySunElevationValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DaySunElevation ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:TrafficSpecialVehicle ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:EnvironmentParticulates ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:TrafficAgentDensity ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:DaySunPosition ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:illuminationCloudinessValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:trafficAgentDensityValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherRainValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:trafficVolumeValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:WeatherRain ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:weatherWindValue ], - [ a owl:Restriction ; - owl:maxCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesWater ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:RainType ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:IlluminationCloudiness ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ConnectivityCommunication ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ParticulatesDust ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:particulatesWaterValue ], - openlabel_v2:Odd ; - skos:altLabel "Scenery"@en ; - skos:definition "Scenery-related subset of the operational design domain."@en ; - skos:editorialNote "v1 label: \"Scenery\" (PAS 1883:2020, Section 5.1.a)."@en ; - skos:exactMatch openlabel_v2:OddScenery ; - skos:inScheme ; - skos:note "ISO 34503:2023, Clause 9"@en . - -openlabel_v2:Scenario a owl:Class ; - rdfs:label "Scenario"@en ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:hasTag ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:hasTag ], + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:hasTag ], [ a owl:Restriction ; owl:allValuesFrom openlabel_v2:Tag ; owl:onProperty openlabel_v2:hasTag ] ; @@ -1206,6 +136,16 @@ openlabel_v2:Scenario a owl:Class ; skos:exactMatch openlabel_v2:Scenario ; skos:inScheme . +openlabel_v2:SceneryJunction a owl:Class ; + rdfs:label "SceneryJunction"@en ; + rdfs:subClassOf openlabel_v2:OddScenery ; + skos:altLabel "Junctions"@en ; + skos:definition "Junctions present in the scenery."@en ; + skos:editorialNote "v1 label: \"Junctions\" (PAS 1883:2020, Section 5.2.1.c)."@en ; + skos:exactMatch openlabel_v2:SceneryJunction ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.4"@en . + openlabel_v2:ArtificialStreetLighting a owl:Class ; rdfs:label "ArtificialStreetLighting"@en ; rdfs:subClassOf openlabel_v2:IlluminationArtificialEnum ; @@ -1304,6 +244,16 @@ openlabel_v2:EdgeTemporaryLineMarkers a owl:Class ; rdfs:subClassOf openlabel_v2:DrivableAreaEdgeEnum ; skos:definition "Temporary line markers."@en . +openlabel_v2:EnvironmentIllumination a owl:Class ; + rdfs:label "EnvironmentIllumination"@en ; + rdfs:subClassOf openlabel_v2:OddEnvironment ; + skos:altLabel "Illumination"@en ; + skos:definition "Illumination conditions."@en ; + skos:editorialNote "v1 label: \"Illumination\" (PAS 1883:2020, Section 5.3.3)."@en ; + skos:exactMatch openlabel_v2:EnvironmentIllumination ; + skos:inScheme ; + skos:note "ISO 34503:2023, 10.4"@en . + openlabel_v2:FixedStructureBuilding a owl:Class ; rdfs:label "FixedStructureBuilding"@en ; rdfs:subClassOf openlabel_v2:SceneryFixedStructureEnum ; @@ -1324,40 +274,10 @@ openlabel_v2:FixedStructureVegetation a owl:Class ; rdfs:subClassOf openlabel_v2:SceneryFixedStructureEnum ; skos:definition "Vegetation."@en . -openlabel_v2:HumanAnimalRider a owl:Class ; - rdfs:label "HumanAnimalRider"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Animal rider (e.g. horse rider)."@en . - -openlabel_v2:HumanCyclist a owl:Class ; - rdfs:label "HumanCyclist"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Cyclist."@en . - -openlabel_v2:HumanDriver a owl:Class ; - rdfs:label "HumanDriver"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Driver."@en . - -openlabel_v2:HumanMotorcyclist a owl:Class ; - rdfs:label "HumanMotorcyclist"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Motorcyclist."@en . - -openlabel_v2:HumanPassenger a owl:Class ; - rdfs:label "HumanPassenger"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Passenger."@en . - -openlabel_v2:HumanPedestrian a owl:Class ; - rdfs:label "HumanPedestrian"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Pedestrian."@en . - -openlabel_v2:HumanWheelchairUser a owl:Class ; - rdfs:label "HumanWheelchairUser"@en ; - rdfs:subClassOf openlabel_v2:RoadUserHumanEnum ; - skos:definition "Wheelchair user."@en . +openlabel_v2:InformationSignsUniform a owl:Class ; + rdfs:label "InformationSignsUniform"@en ; + rdfs:subClassOf openlabel_v2:SignsInformationEnum ; + skos:definition "Uniform (full-time/temporary unspecified)."@en . openlabel_v2:InformationSignsUniformFullTime a owl:Class ; rdfs:label "InformationSignsUniformFullTime"@en ; @@ -1369,6 +289,11 @@ openlabel_v2:InformationSignsUniformTemporary a owl:Class ; rdfs:subClassOf openlabel_v2:SignsInformationEnum ; skos:definition "Uniform temporary."@en . +openlabel_v2:InformationSignsVariable a owl:Class ; + rdfs:label "InformationSignsVariable"@en ; + rdfs:subClassOf openlabel_v2:SignsInformationEnum ; + skos:definition "Variable (full-time/temporary unspecified)."@en . + openlabel_v2:InformationSignsVariableFullTime a owl:Class ; rdfs:label "InformationSignsVariableFullTime"@en ; rdfs:subClassOf openlabel_v2:SignsInformationEnum ; @@ -1486,6 +411,11 @@ openlabel_v2:RainTypeOrographic a owl:Class ; rdfs:subClassOf openlabel_v2:RainTypeEnum ; skos:definition "Orographic."@en . +openlabel_v2:RegulatorySignsUniform a owl:Class ; + rdfs:label "RegulatorySignsUniform"@en ; + rdfs:subClassOf openlabel_v2:SignsRegulatoryEnum ; + skos:definition "Uniform (full-time/temporary unspecified)."@en . + openlabel_v2:RegulatorySignsUniformFullTime a owl:Class ; rdfs:label "RegulatorySignsUniformFullTime"@en ; rdfs:subClassOf openlabel_v2:SignsRegulatoryEnum ; @@ -1496,6 +426,11 @@ openlabel_v2:RegulatorySignsUniformTemporary a owl:Class ; rdfs:subClassOf openlabel_v2:SignsRegulatoryEnum ; skos:definition "Uniform temporary."@en . +openlabel_v2:RegulatorySignsVariable a owl:Class ; + rdfs:label "RegulatorySignsVariable"@en ; + rdfs:subClassOf openlabel_v2:SignsRegulatoryEnum ; + skos:definition "Variable (full-time/temporary unspecified)."@en . + openlabel_v2:RegulatorySignsVariableFullTime a owl:Class ; rdfs:label "RegulatorySignsVariableFullTime"@en ; rdfs:subClassOf openlabel_v2:SignsRegulatoryEnum ; @@ -1541,6 +476,11 @@ openlabel_v2:RoadTypeSlip a owl:Class ; rdfs:subClassOf openlabel_v2:DrivableAreaTypeEnum ; skos:definition "Slip roads."@en . +openlabel_v2:RoundaboutCompact a owl:Class ; + rdfs:label "RoundaboutCompact"@en ; + rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; + skos:definition "Compact (signalisation unspecified)."@en . + openlabel_v2:RoundaboutCompactNosignal a owl:Class ; rdfs:label "RoundaboutCompactNosignal"@en ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; @@ -1551,6 +491,11 @@ openlabel_v2:RoundaboutCompactSignal a owl:Class ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; skos:definition "Compact signalised."@en . +openlabel_v2:RoundaboutDouble a owl:Class ; + rdfs:label "RoundaboutDouble"@en ; + rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; + skos:definition "Double (signalisation unspecified)."@en . + openlabel_v2:RoundaboutDoubleNosignal a owl:Class ; rdfs:label "RoundaboutDoubleNosignal"@en ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; @@ -1561,6 +506,11 @@ openlabel_v2:RoundaboutDoubleSignal a owl:Class ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; skos:definition "Double signalised."@en . +openlabel_v2:RoundaboutLarge a owl:Class ; + rdfs:label "RoundaboutLarge"@en ; + rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; + skos:definition "Large (signalisation unspecified)."@en . + openlabel_v2:RoundaboutLargeNosignal a owl:Class ; rdfs:label "RoundaboutLargeNosignal"@en ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; @@ -1571,6 +521,11 @@ openlabel_v2:RoundaboutLargeSignal a owl:Class ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; skos:definition "Large signalised."@en . +openlabel_v2:RoundaboutMini a owl:Class ; + rdfs:label "RoundaboutMini"@en ; + rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; + skos:definition "Mini (signalisation unspecified)."@en . + openlabel_v2:RoundaboutMiniNosignal a owl:Class ; rdfs:label "RoundaboutMiniNosignal"@en ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; @@ -1581,6 +536,11 @@ openlabel_v2:RoundaboutMiniSignal a owl:Class ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; skos:definition "Mini signalised."@en . +openlabel_v2:RoundaboutNormal a owl:Class ; + rdfs:label "RoundaboutNormal"@en ; + rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; + skos:definition "Normal (signalisation unspecified)."@en . + openlabel_v2:RoundaboutNormalNosignal a owl:Class ; rdfs:label "RoundaboutNormalNosignal"@en ; rdfs:subClassOf openlabel_v2:JunctionRoundaboutEnum ; @@ -1797,61 +757,6 @@ openlabel_v2:V2vWifi a owl:Class ; rdfs:subClassOf openlabel_v2:ConnectivityCommunicationEnum ; skos:definition "V2V via WiFi."@en . -openlabel_v2:VehicleAgricultural a owl:Class ; - rdfs:label "VehicleAgricultural"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Agricultural vehicle."@en . - -openlabel_v2:VehicleBus a owl:Class ; - rdfs:label "VehicleBus"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Bus."@en . - -openlabel_v2:VehicleCar a owl:Class ; - rdfs:label "VehicleCar"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Car."@en . - -openlabel_v2:VehicleConstruction a owl:Class ; - rdfs:label "VehicleConstruction"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Construction vehicle."@en . - -openlabel_v2:VehicleCycle a owl:Class ; - rdfs:label "VehicleCycle"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Cycle."@en . - -openlabel_v2:VehicleEmergency a owl:Class ; - rdfs:label "VehicleEmergency"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Emergency vehicle."@en . - -openlabel_v2:VehicleMotorcycle a owl:Class ; - rdfs:label "VehicleMotorcycle"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Motorcycle."@en . - -openlabel_v2:VehicleTrailer a owl:Class ; - rdfs:label "VehicleTrailer"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Trailer."@en . - -openlabel_v2:VehicleTruck a owl:Class ; - rdfs:label "VehicleTruck"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Truck."@en . - -openlabel_v2:VehicleVan a owl:Class ; - rdfs:label "VehicleVan"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Van."@en . - -openlabel_v2:VehicleWheelchair a owl:Class ; - rdfs:label "VehicleWheelchair"@en ; - rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum ; - skos:definition "Wheelchair."@en . - openlabel_v2:WarningSignsUniform a owl:Class ; rdfs:label "WarningSignsUniform"@en ; rdfs:subClassOf openlabel_v2:SignsWarningEnum ; @@ -1867,6 +772,11 @@ openlabel_v2:WarningSignsUniformTemporary a owl:Class ; rdfs:subClassOf openlabel_v2:SignsWarningEnum ; skos:definition "Uniform temporary."@en . +openlabel_v2:WarningSignsVariable a owl:Class ; + rdfs:label "WarningSignsVariable"@en ; + rdfs:subClassOf openlabel_v2:SignsWarningEnum ; + skos:definition "Variable (full-time/temporary unspecified)."@en . + openlabel_v2:WarningSignsVariableFullTime a owl:Class ; rdfs:label "WarningSignsVariableFullTime"@en ; rdfs:subClassOf openlabel_v2:SignsWarningEnum ; @@ -1902,6 +812,30 @@ openlabel_v2:ZoneTrafficManagement a owl:Class ; rdfs:subClassOf openlabel_v2:SceneryZoneEnum ; skos:definition "Traffic management zones."@en . +schema:maxValue a owl:DatatypeProperty ; + rdfs:label "maxValue"@en ; + rdfs:domain schema:QuantitativeValue ; + rdfs:range xsd:decimal ; + skos:definition "Maximum value of the range."@en ; + skos:inScheme . + +schema:minValue a owl:DatatypeProperty ; + rdfs:label "minValue"@en ; + rdfs:domain schema:QuantitativeValue ; + rdfs:range xsd:decimal ; + skos:definition "Minimum value of the range."@en ; + skos:inScheme . + +openlabel_v2:DrivableAreaGeometry a owl:Class ; + rdfs:label "DrivableAreaGeometry"@en ; + rdfs:subClassOf openlabel_v2:SceneryDrivableArea ; + skos:altLabel "Drivable area geometry"@en ; + skos:definition "Drivable area geometry."@en ; + skos:editorialNote "v1 label: \"Drivable area geometry\" (PAS 1883:2020, Section 5.2.3.3)."@en ; + skos:exactMatch openlabel_v2:DrivableAreaGeometry ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.3"@en . + openlabel_v2:MotionAway a owl:DatatypeProperty ; rdfs:label "MotionAway"@en ; rdfs:range xsd:boolean ; @@ -2018,15 +952,818 @@ openlabel_v2:MotionUTurn a owl:DatatypeProperty ; rdfs:range xsd:boolean ; skos:definition "Subject performs a turn resulting in heading in the opposite direction."@en ; skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.3 (Lateral action — turning, left U-turn / right U-turn)"@en . + skos:note "ISO 34504:2023, 4.4.4.3 (Lateral action — turning, left U-turn / right U-turn)"@en . + +openlabel_v2:MotionWalk a owl:DatatypeProperty ; + rdfs:label "MotionWalk"@en ; + rdfs:range xsd:boolean ; + skos:definition "Locomotion mode where at least one foot is always on the ground."@en ; + skos:editorialNote "Pedestrian locomotion mode not explicitly tagged in ISO 34504; retained from ASAM OpenLABEL for pedestrian scenario fidelity."@en ; + skos:inScheme ; + skos:note "ASAM OpenLABEL V1.0.0"@en . + +openlabel_v2:OddDynamicElements a owl:Class ; + rdfs:label "OddDynamicElements"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:horizontalCurvesValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:HorizontalStraights ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationMarking ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SignsWarning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsInformation ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:horizontalCurvesValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryFixedStructure ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalDownSlope ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SignsRegulatory ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LongitudinalDownSlope ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:GeometryTransverse ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalDownSlope ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalUpSlope ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ScenerySpecialStructure ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SceneryZone ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:JunctionRoundabout ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SignsInformation ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SignsRegulatory ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalStraights ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:horizontalCurvesValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:GeometryTransverse ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryZone ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:JunctionIntersection ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationMarking ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SceneryZone ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:JunctionRoundabout ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:GeometryTransverse ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ScenerySpecialStructure ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LongitudinalUpSlope ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaType ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SignsInformation ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:JunctionIntersection ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsRegulatory ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SceneryFixedStructure ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalStraights ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ScenerySpecialStructure ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationMarking ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:JunctionRoundabout ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SignsWarning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsWarning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalUpSlope ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SceneryFixedStructure ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:JunctionIntersection ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaType ], + openlabel_v2:Odd ; + skos:altLabel "Dynamic elements"@en ; + skos:definition "Dynamic elements subset of the operational design domain."@en ; + skos:editorialNote "v1 label: \"Dynamic elements\" (PAS 1883:2020, Section 5.1.c)."@en ; + skos:exactMatch openlabel_v2:OddDynamicElements ; + skos:inScheme ; + skos:note "ISO 34503:2023, Clause 11"@en . -openlabel_v2:MotionWalk a owl:DatatypeProperty ; - rdfs:label "MotionWalk"@en ; - rdfs:range xsd:boolean ; - skos:definition "Locomotion mode where at least one foot is always on the ground."@en ; - skos:editorialNote "Pedestrian locomotion mode not explicitly tagged in ISO 34504; retained from ASAM OpenLABEL for pedestrian scenario fidelity."@en ; +openlabel_v2:OddScenery a owl:Class ; + rdfs:label "OddScenery"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficVolume ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficFlowRate ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficVolume ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficFlowRate ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficVolume ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficVolumeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficFlowRate ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesVolcanic ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationLowLight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficAgentType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ConnectivityPositioning ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesMarine ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:WeatherSnow ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationArtificial ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficVolumeValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherSnowValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentDensityValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:WeatherWind ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesPollution ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:daySunElevationValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DaySunElevation ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:EnvironmentParticulates ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentType ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DaySunPosition ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:illuminationCloudinessValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentDensityValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficAgentDensityValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherRainValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficVolumeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:WeatherRain ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:weatherWindValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesWater ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:RainType ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:IlluminationCloudiness ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ConnectivityCommunication ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:ParticulatesDust ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:particulatesWaterValue ], + openlabel_v2:Odd ; + skos:altLabel "Scenery"@en ; + skos:definition "Scenery-related subset of the operational design domain."@en ; + skos:editorialNote "v1 label: \"Scenery\" (PAS 1883:2020, Section 5.1.a)."@en ; + skos:exactMatch openlabel_v2:OddScenery ; skos:inScheme ; - skos:note "ASAM OpenLABEL V1.0.0"@en . + skos:note "ISO 34503:2023, Clause 9"@en . openlabel_v2:RoadUserAnimal a owl:DatatypeProperty ; rdfs:label "RoadUserAnimal"@en ; @@ -2091,42 +1828,18 @@ openlabel_v2:Tag a owl:Class ; skos:exactMatch openlabel_v2:Tag ; skos:inScheme . -openlabel_v2:hasLowerBound a owl:DatatypeProperty ; - rdfs:label "hasLowerBound"@en ; - rdfs:range xsd:decimal ; - skos:definition "Lower bound inferred via RDFS from schema:minValue being a subPropertyOf cmns-q:hasLowerBound in schema.org OWL."@en ; - skos:inScheme . - openlabel_v2:hasTag a owl:ObjectProperty ; rdfs:label "hasTag"@en ; rdfs:range openlabel_v2:Tag ; skos:definition "A tag associated with a scenario."@en ; skos:inScheme . -openlabel_v2:hasUpperBound a owl:DatatypeProperty ; - rdfs:label "hasUpperBound"@en ; - rdfs:range xsd:decimal ; - skos:definition "Upper bound inferred via RDFS from schema:maxValue being a subPropertyOf cmns-q:hasUpperBound in schema.org OWL."@en ; - skos:inScheme . - openlabel_v2:licenseURI a owl:DatatypeProperty ; rdfs:label "licenseURI"@en ; rdfs:range xsd:string ; skos:definition "The type of license which governs usage of the scenario."@en ; skos:inScheme . -openlabel_v2:maxValue a owl:DatatypeProperty ; - rdfs:label "maxValue"@en ; - rdfs:range xsd:decimal ; - skos:definition "Maximum value of the range."@en ; - skos:inScheme . - -openlabel_v2:minValue a owl:DatatypeProperty ; - rdfs:label "minValue"@en ; - rdfs:range xsd:decimal ; - skos:definition "Minimum value of the range."@en ; - skos:inScheme . - openlabel_v2:ownerEmail a owl:DatatypeProperty ; rdfs:label "ownerEmail"@en ; rdfs:range xsd:string ; @@ -2193,11 +1906,65 @@ openlabel_v2:scenarioVersion a owl:DatatypeProperty ; skos:definition "The version number of the scenario."@en ; skos:inScheme . -openlabel_v2:scenarioVisualisationURL a owl:DatatypeProperty ; - rdfs:label "scenarioVisualisationURL"@en ; - rdfs:range xsd:string ; - skos:definition "Relative or absolute URL of a static image or animation of the scenario to allow users to easily see what the scenario represents."@en ; - skos:inScheme . +openlabel_v2:scenarioVisualisationURL a owl:DatatypeProperty ; + rdfs:label "scenarioVisualisationURL"@en ; + rdfs:range xsd:string ; + skos:definition "Relative or absolute URL of a static image or animation of the scenario to allow users to easily see what the scenario represents."@en ; + skos:inScheme . + +cmns-q:hasLowerBound a owl:DatatypeProperty ; + rdfs:label "hasLowerBound"@en ; + rdfs:range xsd:decimal ; + skos:definition "Lower bound inferred via RDFS from schema:minValue being a subPropertyOf cmns-q:hasLowerBound in schema.org OWL."@en ; + skos:inScheme . + +cmns-q:hasUpperBound a owl:DatatypeProperty ; + rdfs:label "hasUpperBound"@en ; + rdfs:range xsd:decimal ; + skos:definition "Upper bound inferred via RDFS from schema:maxValue being a subPropertyOf cmns-q:hasUpperBound in schema.org OWL."@en ; + skos:inScheme . + +openlabel_v2:HumanAnimalRider a owl:Class ; + rdfs:label "HumanAnimalRider"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Animal rider (e.g. horse rider)."@en . + +openlabel_v2:HumanCyclist a owl:Class ; + rdfs:label "HumanCyclist"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Cyclist."@en . + +openlabel_v2:HumanDriver a owl:Class ; + rdfs:label "HumanDriver"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Driver."@en . + +openlabel_v2:HumanMotorcyclist a owl:Class ; + rdfs:label "HumanMotorcyclist"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Motorcyclist."@en . + +openlabel_v2:HumanPassenger a owl:Class ; + rdfs:label "HumanPassenger"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Passenger."@en . + +openlabel_v2:HumanPedestrian a owl:Class ; + rdfs:label "HumanPedestrian"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Pedestrian."@en . + +openlabel_v2:HumanWheelchairUser a owl:Class ; + rdfs:label "HumanWheelchairUser"@en ; + rdfs:subClassOf openlabel_v2:RoadUserHumanEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Wheelchair user."@en . openlabel_v2:IlluminationArtificialEnum a owl:Class ; rdfs:label "IlluminationArtificialEnum"@en ; @@ -2253,669 +2020,903 @@ openlabel_v2:MotionDrive a owl:DatatypeProperty ; skos:inScheme ; skos:note "ISO 34504:2023, 4.4.4.2 (Longitudinal action — driving forward)"@en . -openlabel_v2:motionAccelerateValue a owl:DatatypeProperty ; - rdfs:label "motionAccelerateValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - skos:definition "Rate of acceleration (ms⁻²)."@en ; - skos:editorialNote "ISO 34504 Note 2 to Section 4.4.2 acknowledges that stakeholders can specify quantification of tags (e.g. acceleration rate)."@en ; - skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.2 (Longitudinal action — accelerating, quantification)"@en . - -openlabel_v2:motionDecelerateValue a owl:DatatypeProperty ; - rdfs:label "motionDecelerateValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - skos:definition "Rate of deceleration (ms⁻²)."@en ; - skos:editorialNote "ISO 34504 Note 2 to Section 4.4.2 acknowledges that stakeholders can specify quantification of tags (e.g. deceleration rate)."@en ; - skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.2 (Longitudinal action — decelerating, quantification)"@en . - -openlabel_v2:ConnectivityPositioningEnum a owl:Class ; - rdfs:label "ConnectivityPositioningEnum"@en ; - owl:unionOf ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; - skos:altLabel "Positioning"@en ; - skos:definition "Types of positioning systems."@en ; - skos:editorialNote "v1 label: \"Positioning\" (PAS 1883:2020, Section 5.3.4.b)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 10.5 b)"@en ; - linkml:permissible_values openlabel_v2:PositioningGalileo, - openlabel_v2:PositioningGlonass, - openlabel_v2:PositioningGps . - -openlabel_v2:DrivableAreaSurfaceTypeEnum a owl:Class ; - rdfs:label "DrivableAreaSurfaceTypeEnum"@en ; - owl:unionOf ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; - skos:altLabel "Road surface type"@en ; - skos:definition "Types of drivable area surfaces."@en ; - skos:editorialNote "v1 label: \"Road surface type\" (PAS 1883:2020, Section 5.2.3.7.a). ISO 34503:2023 uses the term \"drivable area surface type\"."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.7"@en ; - linkml:permissible_values openlabel_v2:SurfaceTypeLoose, - openlabel_v2:SurfaceTypeSegmented, - openlabel_v2:SurfaceTypeUniform . - -openlabel_v2:RainTypeEnum a owl:Class ; - rdfs:label "RainTypeEnum"@en ; - owl:unionOf ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; - skos:altLabel "Rainfall type"@en ; - skos:definition "Types of rainfall."@en ; - skos:editorialNote "v1 label: \"Rainfall type\" (PAS 1883:2020, Section 5.3.1.2)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 10.2.4"@en ; - linkml:permissible_values openlabel_v2:RainTypeConvective, - openlabel_v2:RainTypeDynamic, - openlabel_v2:RainTypeOrographic . - -openlabel_v2:AdminTag a owl:Class, - owl:ObjectProperty ; - rdfs:label "AdminTag"@en ; - rdfs:range openlabel_v2:AdminTag ; +openlabel_v2:OddEnvironment a owl:Class ; + rdfs:label "OddEnvironment"@en ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:ScenerySpecialStructure ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalUpSlope ], + [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioName ], + owl:onProperty openlabel_v2:LaneSpecificationMarking ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioUniqueReference ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficVolumeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficFlowRate ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioDefinition ], + owl:onProperty openlabel_v2:HorizontalStraights ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SceneryFixedStructure ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentDensityValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalDownSlope ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SceneryZone ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryFixedStructure ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficFlowRate ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationMarking ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:GeometryTransverse ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:JunctionIntersection ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficVolumeValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalDownSlope ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:HorizontalCurves ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:GeometryTransverse ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SignsRegulatory ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:JunctionIntersection ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ScenerySpecialStructure ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaSurfaceFeature ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficVolume ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficVolume ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:longitudinalUpSlopeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:TrafficAgentType ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:JunctionRoundabout ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:horizontalCurvesValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioDefinition ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficVolumeValue ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ownerEmail ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentType ], [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ownerURL ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:licenseURI ], + owl:onProperty openlabel_v2:LongitudinalDownSlope ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioUniqueReference ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], + owl:onProperty openlabel_v2:horizontalCurvesValue ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioVisualisationURL ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaType ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioCreatedDate ], + owl:onProperty openlabel_v2:DrivableAreaType ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioVisualisationURL ], + owl:onProperty openlabel_v2:TrafficSpecialVehicle ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioParentReference ], + owl:onProperty openlabel_v2:SceneryFixedStructure ], [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ownerEmail ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:DrivableAreaEdge ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], + owl:onProperty openlabel_v2:trafficAgentDensityValue ], [ a owl:Restriction ; - owl:allValuesFrom xsd:dateTime ; - owl:onProperty openlabel_v2:scenarioCreatedDate ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficFlowRate ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioDefinition ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:ownerEmail ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:JunctionIntersection ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:ownerName ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioVersion ], + owl:onProperty openlabel_v2:SignsInformation ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioDescription ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationType ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioCreatedDate ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalStraights ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioDescription ], + owl:onProperty openlabel_v2:SignsWarning ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioParentReference ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsWarning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryZone ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioDescription ], + owl:onProperty openlabel_v2:LongitudinalUpSlope ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LongitudinalLevelPlane ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioUniqueReference ], + owl:onProperty openlabel_v2:JunctionRoundabout ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ownerName ], + owl:onProperty openlabel_v2:LongitudinalUpSlope ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioName ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:JunctionRoundabout ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:scenarioVersion ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:licenseURI ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SignsInformation ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:licenseURI ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:horizontalCurvesValue ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioParentReference ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationTravelDirection ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:ownerURL ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:longitudinalDownSlopeValue ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:ownerName ], + owl:onProperty openlabel_v2:DrivableAreaSurfaceCondition ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioVisualisationURL ], + owl:onProperty openlabel_v2:LaneSpecificationMarking ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:HorizontalStraights ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SubjectVehicleSpeed ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:GeometryTransverse ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:ownerURL ], + owl:onProperty openlabel_v2:DrivableAreaSurfaceType ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:scenarioName ], + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationType ], [ a owl:Restriction ; owl:allValuesFrom xsd:string ; - owl:onProperty openlabel_v2:scenarioVersion ] ; - skos:definition "Administration tag."@en, - "The base tag to use when extending the Administration tags with new classes."@en ; - skos:exactMatch openlabel_v2:AdminTag ; - skos:inScheme . - -openlabel_v2:DaySunPositionEnum a owl:Class ; - rdfs:label "DaySunPositionEnum"@en ; - owl:unionOf ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; - skos:altLabel "Position of the sun"@en ; - skos:definition "Positions of the sun relative to the direction of travel."@en ; - skos:editorialNote "v1 label: \"Position of the sun\" (PAS 1883:2020, Section 5.3.3.a.2)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 10.4 a) 1)"@en ; - linkml:permissible_values openlabel_v2:SunPositionBehind, - openlabel_v2:SunPositionFront, - openlabel_v2:SunPositionLeft, - openlabel_v2:SunPositionRight . - -openlabel_v2:DrivableAreaSurfaceFeatureEnum a owl:Class ; - rdfs:label "DrivableAreaSurfaceFeatureEnum"@en ; - owl:unionOf ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; - skos:altLabel "Road surface feature"@en ; - skos:definition "Types of drivable area surface features."@en ; - skos:editorialNote "v1 label: \"Road surface feature\" (PAS 1883:2020, Section 5.2.3.7.b). ISO 34503:2023 uses the term \"drivable area surface feature\"."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.7"@en ; - linkml:permissible_values openlabel_v2:SurfaceFeatureCrack, - openlabel_v2:SurfaceFeaturePothole, - openlabel_v2:SurfaceFeatureRut, - openlabel_v2:SurfaceFeatureSwell . - -openlabel_v2:RoadUser a owl:Class, - owl:ObjectProperty ; - rdfs:label "RoadUser"@en ; - rdfs:range openlabel_v2:RoadUser ; - rdfs:seeAlso , - ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - owl:onProperty openlabel_v2:motionDriveValue ], + owl:onProperty openlabel_v2:SignsWarning ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsInformation ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:motionDriveValue ], + owl:onProperty openlabel_v2:SceneryTemporaryStructure ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:RoadUserHuman ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:TrafficVolume ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:RoadUserAnimal ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficAgentDensityValue ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:RoadUserAnimal ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationType ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:RoadUserVehicle ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:DrivableAreaType ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:RoadUserAnimal ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:TrafficAgentDensity ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:motionDriveValue ], + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:SignsRegulatory ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:RoadUserHuman ], + owl:onProperty openlabel_v2:SceneryZone ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:RoadUserVehicle ], + owl:onProperty openlabel_v2:ScenerySpecialStructure ], [ a owl:Restriction ; - owl:allValuesFrom openlabel_v2:RoadUserVehicleEnum ; - owl:onProperty openlabel_v2:RoadUserVehicle ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], [ a owl:Restriction ; - owl:allValuesFrom openlabel_v2:RoadUserHumanEnum ; - owl:onProperty openlabel_v2:RoadUserHuman ] ; - skos:definition "A road user participating in the scenario."@en, - "Road user tag."@en ; - skos:editorialNote "ISO 34503 Section 11.1 references dynamic elements including traffic agents. ISO 34504 Section 4.4.4.1 provides the detailed road user type taxonomy (vehicle, pedestrian, cyclist, animal, inanimate obstacle) with sub-tags. ISO 34501 Term 2.16 defines 'actor' as 'traffic participant with the capability to act and react'."@en ; - skos:exactMatch openlabel_v2:RoadUser ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:SignsRegulatory ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:LaneSpecificationLaneCount ], + [ a owl:Restriction ; + owl:maxCardinality 0 ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:trafficFlowRateValue ], + openlabel_v2:Odd ; + skos:altLabel "Environmental Conditions"@en ; + skos:definition "Environment-related subset of the operational design domain."@en ; + skos:editorialNote "v1 label: \"Environmental Conditions\" (PAS 1883:2020, Section 5.1.b)."@en ; + skos:exactMatch openlabel_v2:OddEnvironment ; skos:inScheme ; - skos:note "ISO 34503:2023, 11.1; ISO 34504:2023, 4.4.4.1 (Road user type)"@en . + skos:note "ISO 34503:2023, Clause 10"@en . -openlabel_v2:SceneryFixedStructureEnum a owl:Class ; - rdfs:label "SceneryFixedStructureEnum"@en ; - owl:unionOf ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; - skos:altLabel "Fixed road structures"@en ; - skos:definition "Types of basic road structures."@en ; - skos:editorialNote "v1 label: \"Fixed road structures\" (PAS 1883:2020, Section 5.2.1.e). ISO 34503:2023 renamed this category to \"basic road structures\"."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.5"@en ; - linkml:permissible_values openlabel_v2:FixedStructureBuilding, - openlabel_v2:FixedStructureStreetFurniture, - openlabel_v2:FixedStructureStreetlight, - openlabel_v2:FixedStructureVegetation . +openlabel_v2:VehicleAgricultural a owl:Class ; + rdfs:label "VehicleAgricultural"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Agricultural vehicle."@en . + +openlabel_v2:VehicleBus a owl:Class ; + rdfs:label "VehicleBus"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Bus."@en . + +openlabel_v2:VehicleCar a owl:Class ; + rdfs:label "VehicleCar"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Car."@en . -openlabel_v2:SceneryTemporaryStructureEnum a owl:Class ; - rdfs:label "SceneryTemporaryStructureEnum"@en ; - owl:unionOf ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; - skos:altLabel "Temporary road structures"@en ; - skos:definition "Types of temporary drivable area structures."@en ; - skos:editorialNote "v1 label: \"Temporary road structures\" (PAS 1883:2020, Section 5.2.1.f). ISO 34503:2023 renamed this category to \"temporary drivable area structures\"."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.7"@en ; - linkml:permissible_values openlabel_v2:TemporaryStructureConstructionDetour, - openlabel_v2:TemporaryStructureRefuseCollection, - openlabel_v2:TemporaryStructureRoadSignage, - openlabel_v2:TemporaryStructureRoadWorks . +openlabel_v2:VehicleConstruction a owl:Class ; + rdfs:label "VehicleConstruction"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Construction vehicle."@en . -openlabel_v2:SignsInformationEnum a owl:Class ; - rdfs:label "SignsInformationEnum"@en ; - owl:unionOf ( openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; - skos:altLabel "Information signs"@en ; - skos:definition "Types of information signs."@en ; - skos:editorialNote "v1 label: \"Information signs\" (PAS 1883:2020, Section 5.2.3.5.a)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.5"@en ; - linkml:permissible_values openlabel_v2:InformationSignsUniformFullTime, - openlabel_v2:InformationSignsUniformTemporary, - openlabel_v2:InformationSignsVariableFullTime, - openlabel_v2:InformationSignsVariableTemporary . +openlabel_v2:VehicleCycle a owl:Class ; + rdfs:label "VehicleCycle"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Cycle."@en . -openlabel_v2:SignsRegulatoryEnum a owl:Class ; - rdfs:label "SignsRegulatoryEnum"@en ; - owl:unionOf ( openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; - skos:altLabel "Regulatory signs"@en ; - skos:definition "Types of regulatory signs."@en ; - skos:editorialNote "v1 label: \"Regulatory signs\" (PAS 1883:2020, Section 5.2.3.5.b)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.5"@en ; - linkml:permissible_values openlabel_v2:RegulatorySignsUniformFullTime, - openlabel_v2:RegulatorySignsUniformTemporary, - openlabel_v2:RegulatorySignsVariableFullTime, - openlabel_v2:RegulatorySignsVariableTemporary . +openlabel_v2:VehicleEmergency a owl:Class ; + rdfs:label "VehicleEmergency"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Emergency vehicle."@en . -openlabel_v2:EnvironmentParticulatesEnum a owl:Class ; - rdfs:label "EnvironmentParticulatesEnum"@en ; - owl:unionOf ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; - skos:altLabel "Particulates (obscuration by nonPrecipitating water droplets and other particulates)"@en ; - skos:definition "Types of particulates."@en ; - skos:editorialNote "v1 label: \"Particulates (obscuration by nonPrecipitating water droplets and other particulates)\" (PAS 1883:2020, Section 5.3.2)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 10.3"@en ; - linkml:permissible_values openlabel_v2:ParticulatesDust, - openlabel_v2:ParticulatesMarine, - openlabel_v2:ParticulatesPollution, - openlabel_v2:ParticulatesVolcanic, - openlabel_v2:ParticulatesWater . +openlabel_v2:VehicleMotorcycle a owl:Class ; + rdfs:label "VehicleMotorcycle"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Motorcycle."@en . -openlabel_v2:GeometryTransverseEnum a owl:Class ; - rdfs:label "GeometryTransverseEnum"@en ; - owl:unionOf ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; - skos:altLabel "Transverse plane"@en ; - skos:definition "Types of transverse geometry."@en ; - skos:editorialNote "v1 label: \"Transverse plane\" (PAS 1883:2020, Section 5.2.3.3.b)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.3"@en ; - linkml:permissible_values openlabel_v2:TransverseBarriers, - openlabel_v2:TransverseDivided, - openlabel_v2:TransverseLanesTogether, - openlabel_v2:TransversePavements, - openlabel_v2:TransverseUndivided . +openlabel_v2:VehicleTrailer a owl:Class ; + rdfs:label "VehicleTrailer"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Trailer."@en . -openlabel_v2:JunctionIntersectionEnum a owl:Class ; - rdfs:label "JunctionIntersectionEnum"@en ; - owl:unionOf ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; - skos:altLabel "Intersection"@en ; - skos:definition "Types of intersections."@en ; - skos:editorialNote "v1 label: \"Intersection\" (PAS 1883:2020, Section 5.2.4)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.4.3"@en ; - linkml:permissible_values openlabel_v2:IntersectionCrossroad, - openlabel_v2:IntersectionGradeSeperated, - openlabel_v2:IntersectionStaggered, - openlabel_v2:IntersectionTJunction, - openlabel_v2:IntersectionYJunction . +openlabel_v2:VehicleTruck a owl:Class ; + rdfs:label "VehicleTruck"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Truck."@en . -openlabel_v2:SceneryZoneEnum a owl:Class ; - rdfs:label "SceneryZoneEnum"@en ; - owl:unionOf ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; - skos:altLabel "Zones"@en ; - skos:definition "Types of zones."@en ; - skos:editorialNote "v1 label: \"Zones\" (PAS 1883:2020, Section 5.2.1.a)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.2"@en ; - linkml:permissible_values openlabel_v2:ZoneGeoFenced, - openlabel_v2:ZoneInterference, - openlabel_v2:ZoneRegion, - openlabel_v2:ZoneSchool, - openlabel_v2:ZoneTrafficManagement . +openlabel_v2:VehicleVan a owl:Class ; + rdfs:label "VehicleVan"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Van."@en . -openlabel_v2:SignsWarningEnum a owl:Class ; - rdfs:label "SignsWarningEnum"@en ; - owl:unionOf ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; - skos:altLabel "Warning signs"@en ; - skos:definition "Types of warning signs."@en ; - skos:editorialNote "v1 label: \"Warning signs\" (PAS 1883:2020, Section 5.2.3.5.c)."@en ; +openlabel_v2:VehicleWheelchair a owl:Class ; + rdfs:label "VehicleWheelchair"@en ; + rdfs:subClassOf openlabel_v2:RoadUserVehicleEnum, + openlabel_v2:TrafficAgentTypeEnum ; + skos:definition "Wheelchair."@en . + +openlabel_v2:motionAccelerateValue a owl:DatatypeProperty ; + rdfs:label "motionAccelerateValue"@en ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + skos:definition "Rate of acceleration (ms⁻²)."@en ; + skos:editorialNote "ISO 34504 Note 2 to Section 4.4.2 acknowledges that stakeholders can specify quantification of tags (e.g. acceleration rate)."@en ; skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.5"@en ; - linkml:permissible_values openlabel_v2:WarningSignsUniform, - openlabel_v2:WarningSignsUniformFullTime, - openlabel_v2:WarningSignsUniformTemporary, - openlabel_v2:WarningSignsVariableFullTime, - openlabel_v2:WarningSignsVariableTemporary . + skos:note "ISO 34504:2023, 4.4.4.2 (Longitudinal action — accelerating, quantification)"@en . -openlabel_v2:motionDriveValue a owl:DatatypeProperty ; - rdfs:label "motionDriveValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - skos:definition "Speed (km/h)."@en ; - skos:editorialNote "ISO 34504 Section 4.4.4.5 lists 'relative speed' as a state tag for dynamic entities."@en ; +openlabel_v2:motionDecelerateValue a owl:DatatypeProperty ; + rdfs:label "motionDecelerateValue"@en ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + skos:definition "Rate of deceleration (ms⁻²)."@en ; + skos:editorialNote "ISO 34504 Note 2 to Section 4.4.2 acknowledges that stakeholders can specify quantification of tags (e.g. deceleration rate)."@en ; skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.5 (State or initial state — relative speed)"@en . + skos:note "ISO 34504:2023, 4.4.4.2 (Longitudinal action — decelerating, quantification)"@en . -openlabel_v2:DrivableAreaEdgeEnum a owl:Class ; - rdfs:label "DrivableAreaEdgeEnum"@en ; - owl:unionOf ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; - skos:altLabel "Drivable area edge"@en ; - skos:definition "Types of drivable area edges."@en ; - skos:editorialNote "v1 label: \"Drivable area edge\" (PAS 1883:2020, Section 5.2.3.1.e)."@en ; +openlabel_v2:ConnectivityPositioningEnum a owl:Class ; + rdfs:label "ConnectivityPositioningEnum"@en ; + owl:unionOf ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + skos:altLabel "Positioning"@en ; + skos:definition "Types of positioning systems."@en ; + skos:editorialNote "v1 label: \"Positioning\" (PAS 1883:2020, Section 5.3.4.b)."@en ; skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.6"@en ; - linkml:permissible_values openlabel_v2:EdgeLineMarkers, - openlabel_v2:EdgeNone, - openlabel_v2:EdgeShoulderGrass, - openlabel_v2:EdgeShoulderPavedOrGravel, - openlabel_v2:EdgeSolidBarriers, - openlabel_v2:EdgeTemporaryLineMarkers . + skos:note "ISO 34503:2023, 10.5 b)"@en ; + linkml:permissible_values openlabel_v2:PositioningGalileo, + openlabel_v2:PositioningGlonass, + openlabel_v2:PositioningGps . -openlabel_v2:LaneSpecificationType a owl:ObjectProperty ; - rdfs:label "LaneSpecificationType"@en ; - rdfs:range openlabel_v2:LaneSpecificationTypeEnum ; - rdfs:seeAlso ; - skos:altLabel "Lane type"@en ; - skos:definition "Type of lane."@en ; - skos:editorialNote "v1 label: \"Lane type\" (PAS 1883:2020, Section 5.2.3.4.c)."@en ; +openlabel_v2:DrivableAreaSurfaceTypeEnum a owl:Class ; + rdfs:label "DrivableAreaSurfaceTypeEnum"@en ; + owl:unionOf ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + skos:altLabel "Road surface type"@en ; + skos:definition "Types of drivable area surfaces."@en ; + skos:editorialNote "v1 label: \"Road surface type\" (PAS 1883:2020, Section 5.2.3.7.a). ISO 34503:2023 uses the term \"drivable area surface type\"."@en ; skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.4"@en . + skos:note "ISO 34503:2023, 9.3.7"@en ; + linkml:permissible_values openlabel_v2:SurfaceTypeLoose, + openlabel_v2:SurfaceTypeSegmented, + openlabel_v2:SurfaceTypeUniform . -openlabel_v2:LaneSpecificationTypeEnum a owl:Class ; - rdfs:label "LaneSpecificationTypeEnum"@en ; - owl:unionOf ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; - skos:altLabel "Lane type"@en ; - skos:definition "Types of lanes."@en ; - skos:editorialNote "v1 label: \"Lane type\" (PAS 1883:2020, Section 5.2.3.4.c)."@en ; +openlabel_v2:RainTypeEnum a owl:Class ; + rdfs:label "RainTypeEnum"@en ; + owl:unionOf ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + skos:altLabel "Rainfall type"@en ; + skos:definition "Types of rainfall."@en ; + skos:editorialNote "v1 label: \"Rainfall type\" (PAS 1883:2020, Section 5.3.1.2)."@en ; skos:inScheme ; - skos:note "ISO 34503:2023, 9.3.4"@en ; - linkml:permissible_values openlabel_v2:LaneTypeBus, - openlabel_v2:LaneTypeCycle, - openlabel_v2:LaneTypeEmergency, - openlabel_v2:LaneTypeSpecial, - openlabel_v2:LaneTypeTraffic, - openlabel_v2:LaneTypeTram . + skos:note "ISO 34503:2023, 10.2.4"@en ; + linkml:permissible_values openlabel_v2:RainTypeConvective, + openlabel_v2:RainTypeDynamic, + openlabel_v2:RainTypeOrographic . -openlabel_v2:ScenerySpecialStructureEnum a owl:Class ; - rdfs:label "ScenerySpecialStructureEnum"@en ; - owl:unionOf ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; - skos:altLabel "Special structures"@en ; - skos:definition "Types of special structures."@en ; - skos:editorialNote "v1 label: \"Special structures\" (PAS 1883:2020, Section 5.2.1.d)."@en ; +openlabel_v2:SceneryDrivableArea a owl:Class ; + rdfs:label "SceneryDrivableArea"@en ; + rdfs:subClassOf openlabel_v2:OddScenery ; + skos:altLabel "Drivable area"@en ; + skos:definition "Drivable area of the scenery."@en ; + skos:editorialNote "v1 label: \"Drivable area\" (PAS 1883:2020, Section 5.2.1.b)."@en ; + skos:exactMatch openlabel_v2:SceneryDrivableArea ; skos:inScheme ; - skos:note "ISO 34503:2023, 9.6"@en ; - linkml:permissible_values openlabel_v2:SpecialStructureAutoAccess, - openlabel_v2:SpecialStructureBridge, - openlabel_v2:SpecialStructurePedestrianCrossing, - openlabel_v2:SpecialStructureRailCrossing, - openlabel_v2:SpecialStructureTollPlaza, - openlabel_v2:SpecialStructureTunnel . + skos:note "ISO 34503:2023, 9.3"@en . -openlabel_v2:Behaviour a owl:Class, +openlabel_v2:AdminTag a owl:Class, owl:ObjectProperty ; - rdfs:label "Behaviour"@en ; - rdfs:range openlabel_v2:Behaviour ; - rdfs:seeAlso ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionTurnRight ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:motionDecelerateValue ], - [ a owl:Restriction ; - owl:allValuesFrom openlabel_v2:BehaviourCommunicationEnum ; - owl:onProperty openlabel_v2:BehaviourCommunication ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionCutOut ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:motionDriveValue ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:motionAccelerateValue ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionOvertake ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionUTurn ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionAway ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionAccelerate ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionDecelerate ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionAway ], + rdfs:label "AdminTag"@en ; + rdfs:range openlabel_v2:AdminTag ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioName ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionCutIn ], + owl:onProperty openlabel_v2:scenarioUniqueReference ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionSlide ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioDefinition ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionRun ], + owl:onProperty openlabel_v2:scenarioDefinition ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionSlide ], + owl:onProperty openlabel_v2:ownerEmail ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionOvertake ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ownerURL ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionTurnLeft ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:licenseURI ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioUniqueReference ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionWalk ], + owl:onProperty openlabel_v2:scenarioVisualisationURL ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionCutIn ], + owl:onProperty openlabel_v2:scenarioCreatedDate ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionTurnLeft ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioVisualisationURL ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionTowards ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioParentReference ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:BehaviourCommunication ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ownerEmail ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionTurnRight ], + owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionRun ], + owl:allValuesFrom xsd:dateTime ; + owl:onProperty openlabel_v2:scenarioCreatedDate ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionCross ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + owl:onProperty openlabel_v2:scenarioDefinition ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionSlide ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionCutOut ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionTowards ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionStop ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - owl:onProperty openlabel_v2:motionDriveValue ], + owl:onProperty openlabel_v2:ownerEmail ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionCross ], + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:ownerName ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionWalk ], + owl:onProperty openlabel_v2:scenarioVersion ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionAccelerate ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - owl:onProperty openlabel_v2:motionAccelerateValue ], + owl:onProperty openlabel_v2:scenarioDescription ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionOvertake ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionDrive ], + owl:onProperty openlabel_v2:scenarioCreatedDate ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionReverse ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:scenarioDescription ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionDrive ], + owl:onProperty openlabel_v2:scenarioParentReference ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionTurnRight ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioDescription ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionLaneChangeRight ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:scenarioUniqueReference ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionReverse ], + owl:onProperty openlabel_v2:ownerName ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionReverse ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionUTurn ], + owl:onProperty openlabel_v2:scenarioName ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionCutOut ], + owl:onProperty openlabel_v2:scenarioVersion ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionAccelerate ], + owl:onProperty openlabel_v2:licenseURI ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionDecelerate ], + owl:onProperty openlabel_v2:licenseURI ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionUTurn ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:scenarioParentReference ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionTurn ], + owl:onProperty openlabel_v2:ownerURL ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:motionDriveValue ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioDefinitionLanguageURI ], [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - owl:onProperty openlabel_v2:motionDecelerateValue ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:ownerName ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:motionAccelerateValue ], + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:scenarioVisualisationURL ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionAway ], + owl:onProperty openlabel_v2:ownerURL ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionLaneChangeRight ], + owl:onProperty openlabel_v2:scenarioName ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionTowards ], + owl:allValuesFrom xsd:string ; + owl:onProperty openlabel_v2:scenarioVersion ] ; + skos:definition "Administration tag."@en, + "The base tag to use when extending the Administration tags with new classes."@en ; + skos:exactMatch openlabel_v2:AdminTag ; + skos:inScheme . + +openlabel_v2:DaySunPositionEnum a owl:Class ; + rdfs:label "DaySunPositionEnum"@en ; + owl:unionOf ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + skos:altLabel "Position of the sun"@en ; + skos:definition "Positions of the sun relative to the direction of travel."@en ; + skos:editorialNote "v1 label: \"Position of the sun\" (PAS 1883:2020, Section 5.3.3.a.2)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 10.4 a) 1)"@en ; + linkml:permissible_values openlabel_v2:SunPositionBehind, + openlabel_v2:SunPositionFront, + openlabel_v2:SunPositionLeft, + openlabel_v2:SunPositionRight . + +openlabel_v2:DrivableAreaSurfaceFeatureEnum a owl:Class ; + rdfs:label "DrivableAreaSurfaceFeatureEnum"@en ; + owl:unionOf ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + skos:altLabel "Road surface feature"@en ; + skos:definition "Types of drivable area surface features."@en ; + skos:editorialNote "v1 label: \"Road surface feature\" (PAS 1883:2020, Section 5.2.3.7.b). ISO 34503:2023 uses the term \"drivable area surface feature\"."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.7"@en ; + linkml:permissible_values openlabel_v2:SurfaceFeatureCrack, + openlabel_v2:SurfaceFeaturePothole, + openlabel_v2:SurfaceFeatureRut, + openlabel_v2:SurfaceFeatureSwell . + +openlabel_v2:RoadUser a owl:Class, + owl:ObjectProperty ; + rdfs:label "RoadUser"@en ; + rdfs:range openlabel_v2:RoadUser ; + rdfs:seeAlso , + ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:motionDriveValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:motionDecelerateValue ], + owl:onProperty openlabel_v2:RoadUserHuman ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionWalk ], + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + owl:onProperty openlabel_v2:motionDriveValue ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionCross ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionRun ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:MotionStop ], + owl:onProperty openlabel_v2:RoadUserAnimal ], [ a owl:Restriction ; owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionTurnLeft ], + owl:onProperty openlabel_v2:RoadUserAnimal ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionTurn ], + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:RoadUserVehicle ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionStop ], + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:RoadUserAnimal ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:motionDriveValue ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionDecelerate ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionTurn ], + owl:onProperty openlabel_v2:RoadUserHuman ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:MotionDrive ], + owl:onProperty openlabel_v2:RoadUserVehicle ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionLaneChangeRight ], + owl:allValuesFrom openlabel_v2:RoadUserVehicleEnum ; + owl:onProperty openlabel_v2:RoadUserVehicle ], [ a owl:Restriction ; - owl:allValuesFrom xsd:boolean ; - owl:onProperty openlabel_v2:MotionCutIn ] ; - skos:definition "An activity performed by a road user."@en, - "Behaviour tag."@en ; - skos:editorialNote "Conditional rules (boolean+value co-occurrence) are ontology integrity constraints motivated by ISO 34503:2023, 12.4 (conditional attribute dependencies in ODD specifications)."@en, - "v1 had no normative reference; was attributed solely to ASAM OpenLABEL. ISO 34504 Section 4.4.4 defines the same action taxonomy (accelerating, decelerating, lane change, etc.) as tags for dynamic entities. ISO 34501 Term 2.15 formally defines 'action/activity' as 'single purposeful act or behaviour executed by any actor'."@en ; - skos:exactMatch openlabel_v2:Behaviour ; + owl:allValuesFrom openlabel_v2:RoadUserHumanEnum ; + owl:onProperty openlabel_v2:RoadUserHuman ] ; + skos:definition "A road user participating in the scenario."@en, + "Road user tag."@en ; + skos:editorialNote "ISO 34503 Section 11.1 references dynamic elements including traffic agents. ISO 34504 Section 4.4.4.1 provides the detailed road user type taxonomy (vehicle, pedestrian, cyclist, animal, inanimate obstacle) with sub-tags. ISO 34501 Term 2.16 defines 'actor' as 'traffic participant with the capability to act and react'."@en ; + skos:exactMatch openlabel_v2:RoadUser ; + skos:inScheme ; + skos:note "ISO 34503:2023, 11.1; ISO 34504:2023, 4.4.4.1 (Road user type)"@en . + +openlabel_v2:SceneryFixedStructureEnum a owl:Class ; + rdfs:label "SceneryFixedStructureEnum"@en ; + owl:unionOf ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + skos:altLabel "Fixed road structures"@en ; + skos:definition "Types of basic road structures."@en ; + skos:editorialNote "v1 label: \"Fixed road structures\" (PAS 1883:2020, Section 5.2.1.e). ISO 34503:2023 renamed this category to \"basic road structures\"."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.5"@en ; + linkml:permissible_values openlabel_v2:FixedStructureBuilding, + openlabel_v2:FixedStructureStreetFurniture, + openlabel_v2:FixedStructureStreetlight, + openlabel_v2:FixedStructureVegetation . + +openlabel_v2:SceneryTemporaryStructureEnum a owl:Class ; + rdfs:label "SceneryTemporaryStructureEnum"@en ; + owl:unionOf ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + skos:altLabel "Temporary road structures"@en ; + skos:definition "Types of temporary drivable area structures."@en ; + skos:editorialNote "v1 label: \"Temporary road structures\" (PAS 1883:2020, Section 5.2.1.f). ISO 34503:2023 renamed this category to \"temporary drivable area structures\"."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.7"@en ; + linkml:permissible_values openlabel_v2:TemporaryStructureConstructionDetour, + openlabel_v2:TemporaryStructureRefuseCollection, + openlabel_v2:TemporaryStructureRoadSignage, + openlabel_v2:TemporaryStructureRoadWorks . + +openlabel_v2:EnvironmentParticulatesEnum a owl:Class ; + rdfs:label "EnvironmentParticulatesEnum"@en ; + owl:unionOf ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + skos:altLabel "Particulates (obscuration by nonPrecipitating water droplets and other particulates)"@en ; + skos:definition "Types of particulates."@en ; + skos:editorialNote "v1 label: \"Particulates (obscuration by nonPrecipitating water droplets and other particulates)\" (PAS 1883:2020, Section 5.3.2)."@en ; skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4 (Tags for a dynamic entity — longitudinal, lateral, and mixed actions); ISO 34501:2022, Term 2.15 (action/activity)"@en . + skos:note "ISO 34503:2023, 10.3"@en ; + linkml:permissible_values openlabel_v2:ParticulatesDust, + openlabel_v2:ParticulatesMarine, + openlabel_v2:ParticulatesPollution, + openlabel_v2:ParticulatesVolcanic, + openlabel_v2:ParticulatesWater . + +openlabel_v2:GeometryTransverseEnum a owl:Class ; + rdfs:label "GeometryTransverseEnum"@en ; + owl:unionOf ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + skos:altLabel "Transverse plane"@en ; + skos:definition "Types of transverse geometry."@en ; + skos:editorialNote "v1 label: \"Transverse plane\" (PAS 1883:2020, Section 5.2.3.3.b)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.3"@en ; + linkml:permissible_values openlabel_v2:TransverseBarriers, + openlabel_v2:TransverseDivided, + openlabel_v2:TransverseLanesTogether, + openlabel_v2:TransversePavements, + openlabel_v2:TransverseUndivided . + +openlabel_v2:JunctionIntersectionEnum a owl:Class ; + rdfs:label "JunctionIntersectionEnum"@en ; + owl:unionOf ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + skos:altLabel "Intersection"@en ; + skos:definition "Types of intersections."@en ; + skos:editorialNote "v1 label: \"Intersection\" (PAS 1883:2020, Section 5.2.4)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.4.3"@en ; + linkml:permissible_values openlabel_v2:IntersectionCrossroad, + openlabel_v2:IntersectionGradeSeperated, + openlabel_v2:IntersectionStaggered, + openlabel_v2:IntersectionTJunction, + openlabel_v2:IntersectionYJunction . + +openlabel_v2:SceneryZoneEnum a owl:Class ; + rdfs:label "SceneryZoneEnum"@en ; + owl:unionOf ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + skos:altLabel "Zones"@en ; + skos:definition "Types of zones."@en ; + skos:editorialNote "v1 label: \"Zones\" (PAS 1883:2020, Section 5.2.1.a)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.2"@en ; + linkml:permissible_values openlabel_v2:ZoneGeoFenced, + openlabel_v2:ZoneInterference, + openlabel_v2:ZoneRegion, + openlabel_v2:ZoneSchool, + openlabel_v2:ZoneTrafficManagement . + +openlabel_v2:motionDriveValue a owl:DatatypeProperty ; + rdfs:label "motionDriveValue"@en ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + skos:definition "Speed (km/h)."@en ; + skos:editorialNote "ISO 34504 Section 4.4.4.5 lists 'relative speed' as a state tag for dynamic entities."@en ; + skos:inScheme ; + skos:note "ISO 34504:2023, 4.4.4.5 (State or initial state — relative speed)"@en . + +openlabel_v2:DrivableAreaEdgeEnum a owl:Class ; + rdfs:label "DrivableAreaEdgeEnum"@en ; + owl:unionOf ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + skos:altLabel "Drivable area edge"@en ; + skos:definition "Types of drivable area edges."@en ; + skos:editorialNote "v1 label: \"Drivable area edge\" (PAS 1883:2020, Section 5.2.3.1.e)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.6"@en ; + linkml:permissible_values openlabel_v2:EdgeLineMarkers, + openlabel_v2:EdgeNone, + openlabel_v2:EdgeShoulderGrass, + openlabel_v2:EdgeShoulderPavedOrGravel, + openlabel_v2:EdgeSolidBarriers, + openlabel_v2:EdgeTemporaryLineMarkers . + +openlabel_v2:LaneSpecificationType a owl:ObjectProperty ; + rdfs:label "LaneSpecificationType"@en ; + rdfs:range openlabel_v2:LaneSpecificationTypeEnum ; + rdfs:seeAlso ; + skos:altLabel "Lane type"@en ; + skos:definition "Type of lane."@en ; + skos:editorialNote "v1 label: \"Lane type\" (PAS 1883:2020, Section 5.2.3.4.c)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.4"@en . + +openlabel_v2:LaneSpecificationTypeEnum a owl:Class ; + rdfs:label "LaneSpecificationTypeEnum"@en ; + owl:unionOf ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + skos:altLabel "Lane type"@en ; + skos:definition "Types of lanes."@en ; + skos:editorialNote "v1 label: \"Lane type\" (PAS 1883:2020, Section 5.2.3.4.c)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.4"@en ; + linkml:permissible_values openlabel_v2:LaneTypeBus, + openlabel_v2:LaneTypeCycle, + openlabel_v2:LaneTypeEmergency, + openlabel_v2:LaneTypeSpecial, + openlabel_v2:LaneTypeTraffic, + openlabel_v2:LaneTypeTram . + +openlabel_v2:ScenerySpecialStructureEnum a owl:Class ; + rdfs:label "ScenerySpecialStructureEnum"@en ; + owl:unionOf ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + skos:altLabel "Special structures"@en ; + skos:definition "Types of special structures."@en ; + skos:editorialNote "v1 label: \"Special structures\" (PAS 1883:2020, Section 5.2.1.d)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.6"@en ; + linkml:permissible_values openlabel_v2:SpecialStructureAutoAccess, + openlabel_v2:SpecialStructureBridge, + openlabel_v2:SpecialStructurePedestrianCrossing, + openlabel_v2:SpecialStructureRailCrossing, + openlabel_v2:SpecialStructureTollPlaza, + openlabel_v2:SpecialStructureTunnel . + +openlabel_v2:SignsInformationEnum a owl:Class ; + rdfs:label "SignsInformationEnum"@en ; + owl:unionOf ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + skos:altLabel "Information signs"@en ; + skos:definition "Types of information signs."@en ; + skos:editorialNote "v1 label: \"Information signs\" (PAS 1883:2020, Section 5.2.3.5.a)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.5"@en ; + linkml:permissible_values openlabel_v2:InformationSignsUniform, + openlabel_v2:InformationSignsUniformFullTime, + openlabel_v2:InformationSignsUniformTemporary, + openlabel_v2:InformationSignsVariable, + openlabel_v2:InformationSignsVariableFullTime, + openlabel_v2:InformationSignsVariableTemporary . + +openlabel_v2:SignsRegulatoryEnum a owl:Class ; + rdfs:label "SignsRegulatoryEnum"@en ; + owl:unionOf ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + skos:altLabel "Regulatory signs"@en ; + skos:definition "Types of regulatory signs."@en ; + skos:editorialNote "v1 label: \"Regulatory signs\" (PAS 1883:2020, Section 5.2.3.5.b)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.5"@en ; + linkml:permissible_values openlabel_v2:RegulatorySignsUniform, + openlabel_v2:RegulatorySignsUniformFullTime, + openlabel_v2:RegulatorySignsUniformTemporary, + openlabel_v2:RegulatorySignsVariable, + openlabel_v2:RegulatorySignsVariableFullTime, + openlabel_v2:RegulatorySignsVariableTemporary . + +openlabel_v2:SignsWarningEnum a owl:Class ; + rdfs:label "SignsWarningEnum"@en ; + owl:unionOf ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + skos:altLabel "Warning signs"@en ; + skos:definition "Types of warning signs."@en ; + skos:editorialNote "v1 label: \"Warning signs\" (PAS 1883:2020, Section 5.2.3.5.c)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 9.3.5"@en ; + linkml:permissible_values openlabel_v2:WarningSignsUniform, + openlabel_v2:WarningSignsUniformFullTime, + openlabel_v2:WarningSignsUniformTemporary, + openlabel_v2:WarningSignsVariable, + openlabel_v2:WarningSignsVariableFullTime, + openlabel_v2:WarningSignsVariableTemporary . openlabel_v2:ConnectivityCommunication a owl:ObjectProperty ; rdfs:label "ConnectivityCommunication"@en ; @@ -3113,6 +3114,21 @@ openlabel_v2:RainType a owl:ObjectProperty ; skos:inScheme ; skos:note "ISO 34503:2023, 10.2.4"@en . +openlabel_v2:RoadUserHumanEnum a owl:Class ; + rdfs:label "RoadUserHumanEnum"@en ; + owl:unionOf ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ; + skos:definition "Types of human road users."@en ; + skos:editorialNote "ISO 34504 lists pedestrian sub-tags: child, adult, person with disabilities, hearing-impaired, visually-impaired, road-works crew, person pushing stroller, person in wheelchair, etc. Cyclist sub-tags: bicyclist, e-Bike user, skater, motorcycle, moped/scooter. ASAM OpenLABEL uses role-based categories."@en ; + skos:inScheme ; + skos:note "ISO 34504:2023, 4.4.4.1 (Road user type — pedestrian/cyclist sub-tags)"@en ; + linkml:permissible_values openlabel_v2:HumanAnimalRider, + openlabel_v2:HumanCyclist, + openlabel_v2:HumanDriver, + openlabel_v2:HumanMotorcyclist, + openlabel_v2:HumanPassenger, + openlabel_v2:HumanPedestrian, + openlabel_v2:HumanWheelchairUser . + openlabel_v2:SceneryFixedStructure a owl:ObjectProperty ; rdfs:label "SceneryFixedStructure"@en ; rdfs:range openlabel_v2:SceneryFixedStructureEnum ; @@ -3193,14 +3209,240 @@ openlabel_v2:TrafficSpecialVehicle a owl:DatatypeProperty ; skos:inScheme ; skos:note "ISO 34503:2023, 11.1"@en . -openlabel_v2:trafficAgentTypeValue a owl:DatatypeProperty ; +openlabel_v2:trafficAgentTypeValue a owl:ObjectProperty ; rdfs:label "trafficAgentTypeValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:RoadUserHumanEnum openlabel_v2:RoadUserVehicleEnum ) ] ; + rdfs:range openlabel_v2:TrafficAgentTypeEnum ; rdfs:seeAlso ; skos:definition "Types of traffic agents present."@en ; skos:editorialNote "v1 description: \"Agent type\" (PAS 1883:2020, Section 5.4.a.4)."@en ; skos:inScheme ; - skos:note "ISO 34503:2023, 11.1"@en . + skos:note "ISO 34503:2023, 11.1"@en . + +openlabel_v2:Behaviour a owl:Class, + owl:ObjectProperty ; + rdfs:label "Behaviour"@en ; + rdfs:range openlabel_v2:Behaviour ; + rdfs:seeAlso ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionTurnRight ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:motionDecelerateValue ], + [ a owl:Restriction ; + owl:allValuesFrom openlabel_v2:BehaviourCommunicationEnum ; + owl:onProperty openlabel_v2:BehaviourCommunication ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionCutOut ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:motionDriveValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:motionAccelerateValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionOvertake ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionUTurn ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionAway ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionAccelerate ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + owl:onProperty openlabel_v2:motionDriveValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionDecelerate ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionAway ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionCutIn ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionSlide ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionRun ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + owl:onProperty openlabel_v2:motionDecelerateValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionSlide ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionOvertake ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionTurnLeft ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionWalk ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionCutIn ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionTurnLeft ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionTowards ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:BehaviourCommunication ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionTurnRight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionRun ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionCross ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionSlide ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionCutOut ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionTowards ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionStop ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionCross ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionWalk ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionAccelerate ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionOvertake ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionDrive ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionReverse ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionDrive ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionTurnRight ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionLaneChangeRight ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionReverse ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionReverse ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionUTurn ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionCutOut ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionAccelerate ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionDecelerate ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionUTurn ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionTurn ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:motionDriveValue ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:motionAccelerateValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionAway ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionLaneChangeRight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionTowards ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:motionDecelerateValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionWalk ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionCross ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionRun ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty openlabel_v2:MotionStop ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionTurnLeft ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionTurn ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + owl:onProperty openlabel_v2:motionAccelerateValue ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionStop ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionLaneChangeLeft ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionDecelerate ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionTurn ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty openlabel_v2:MotionDrive ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionLaneChangeRight ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty openlabel_v2:MotionCutIn ] ; + skos:definition "An activity performed by a road user."@en, + "Behaviour tag."@en ; + skos:editorialNote "Conditional rules (boolean+value co-occurrence) are ontology integrity constraints motivated by ISO 34503:2023, 12.4 (conditional attribute dependencies in ODD specifications)."@en, + "v1 had no normative reference; was attributed solely to ASAM OpenLABEL. ISO 34504 Section 4.4.4 defines the same action taxonomy (accelerating, decelerating, lane change, etc.) as tags for dynamic entities. ISO 34501 Term 2.15 formally defines 'action/activity' as 'single purposeful act or behaviour executed by any actor'."@en ; + skos:exactMatch openlabel_v2:Behaviour ; + skos:inScheme ; + skos:note "ISO 34504:2023, 4.4.4 (Tags for a dynamic entity — longitudinal, lateral, and mixed actions); ISO 34501:2022, Term 2.15 (action/activity)"@en . openlabel_v2:BehaviourCommunicationEnum a owl:Class ; rdfs:label "BehaviourCommunicationEnum"@en ; @@ -3424,7 +3666,7 @@ openlabel_v2:illuminationCloudinessValue a owl:DatatypeProperty ; openlabel_v2:laneSpecificationDimensionsValue a owl:DatatypeProperty ; rdfs:label "laneSpecificationDimensionsValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; rdfs:seeAlso ; skos:definition "Lane width in metres."@en ; skos:editorialNote "v1 description: \"Lane width (m)\" (PAS 1883:2020, Section 5.2.3.4.a)."@en ; @@ -3433,7 +3675,7 @@ openlabel_v2:laneSpecificationDimensionsValue a owl:DatatypeProperty ; openlabel_v2:laneSpecificationLaneCountValue a owl:DatatypeProperty ; rdfs:label "laneSpecificationLaneCountValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue [ a rdfs:Datatype ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue [ a rdfs:Datatype ; owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; owl:onDatatype xsd:integer ; owl:withRestrictions ( [ xsd:minInclusive 1 ] ) ] ) ] ) ] ; @@ -3472,7 +3714,7 @@ openlabel_v2:particulatesWaterValue a owl:DatatypeProperty ; openlabel_v2:subjectVehicleSpeedValue a owl:DatatypeProperty ; rdfs:label "subjectVehicleSpeedValue"@en ; - rdfs:range [ owl:unionOf ( openlabel_v2:QuantitativeValue [ a rdfs:Datatype ; + rdfs:range [ owl:unionOf ( schema:QuantitativeValue [ a rdfs:Datatype ; owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; owl:onDatatype xsd:integer ; owl:withRestrictions ( [ xsd:minInclusive 0 ] ) ] ) ] ) ] ; @@ -3616,40 +3858,6 @@ openlabel_v2:ParticulatesVolcanic a owl:Class, skos:inScheme ; skos:note "ISO 34503:2023, 10.3"@en . -openlabel_v2:RoadUserHumanEnum a owl:Class ; - rdfs:label "RoadUserHumanEnum"@en ; - owl:unionOf ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ; - skos:definition "Types of human road users."@en ; - skos:editorialNote "ISO 34504 lists pedestrian sub-tags: child, adult, person with disabilities, hearing-impaired, visually-impaired, road-works crew, person pushing stroller, person in wheelchair, etc. Cyclist sub-tags: bicyclist, e-Bike user, skater, motorcycle, moped/scooter. ASAM OpenLABEL uses role-based categories."@en ; - skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.1 (Road user type — pedestrian/cyclist sub-tags)"@en ; - linkml:permissible_values openlabel_v2:HumanAnimalRider, - openlabel_v2:HumanCyclist, - openlabel_v2:HumanDriver, - openlabel_v2:HumanMotorcyclist, - openlabel_v2:HumanPassenger, - openlabel_v2:HumanPedestrian, - openlabel_v2:HumanWheelchairUser . - -openlabel_v2:JunctionRoundaboutEnum a owl:Class ; - rdfs:label "JunctionRoundaboutEnum"@en ; - owl:unionOf ( openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; - skos:altLabel "Roundabout"@en ; - skos:definition "Types of roundabouts."@en ; - skos:editorialNote "v1 label: \"Roundabout\" (PAS 1883:2020, Section 5.2.4)."@en ; - skos:inScheme ; - skos:note "ISO 34503:2023, 9.4.2"@en ; - linkml:permissible_values openlabel_v2:RoundaboutCompactNosignal, - openlabel_v2:RoundaboutCompactSignal, - openlabel_v2:RoundaboutDoubleNosignal, - openlabel_v2:RoundaboutDoubleSignal, - openlabel_v2:RoundaboutLargeNosignal, - openlabel_v2:RoundaboutLargeSignal, - openlabel_v2:RoundaboutMiniNosignal, - openlabel_v2:RoundaboutMiniSignal, - openlabel_v2:RoundaboutNormalNosignal, - openlabel_v2:RoundaboutNormalSignal . - openlabel_v2:ParticulatesWater a owl:Class, owl:DatatypeProperty ; rdfs:label "ParticulatesWater"@en ; @@ -3663,56 +3871,105 @@ openlabel_v2:ParticulatesWater a owl:Class, skos:inScheme ; skos:note "ISO 34503:2023, 10.3"@en . -openlabel_v2:QuantitativeValue a owl:Class ; +openlabel_v2:RoadUserVehicleEnum a owl:Class ; + rdfs:label "RoadUserVehicleEnum"@en ; + owl:unionOf ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + skos:definition "Types of vehicles."@en ; + skos:editorialNote "ISO 34504 lists: passenger car, bus, school bus, truck, tram, goods vehicle, dangerous goods vehicle, long/large vehicle, agricultural vehicle, fire truck, ambulance, police vehicle, rescue vehicle, crane/NRMM, disabled vehicle, etc. ASAM OpenLABEL uses a simplified aggregation."@en ; + skos:inScheme ; + skos:note "ISO 34504:2023, 4.4.4.1 (Road user type — vehicle sub-tags)"@en ; + linkml:permissible_values openlabel_v2:VehicleAgricultural, + openlabel_v2:VehicleBus, + openlabel_v2:VehicleCar, + openlabel_v2:VehicleConstruction, + openlabel_v2:VehicleCycle, + openlabel_v2:VehicleEmergency, + openlabel_v2:VehicleMotorcycle, + openlabel_v2:VehicleTrailer, + openlabel_v2:VehicleTruck, + openlabel_v2:VehicleVan, + openlabel_v2:VehicleWheelchair . + +schema:QuantitativeValue a owl:Class ; rdfs:label "QuantitativeValue"@en ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom xsd:decimal ; - owl:onProperty openlabel_v2:hasUpperBound ], + owl:maxCardinality 1 ; + owl:onProperty cmns-q:hasLowerBound ], [ a owl:Restriction ; - owl:allValuesFrom xsd:decimal ; - owl:onProperty openlabel_v2:hasLowerBound ], + owl:maxCardinality 1 ; + owl:onProperty schema:minValue ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty openlabel_v2:minValue ], + owl:onProperty schema:maxValue ], + [ a owl:Restriction ; + owl:allValuesFrom xsd:decimal ; + owl:onProperty schema:minValue ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:hasUpperBound ], + owl:onProperty cmns-q:hasUpperBound ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:hasUpperBound ], + owl:allValuesFrom xsd:decimal ; + owl:onProperty schema:maxValue ], [ a owl:Restriction ; owl:allValuesFrom xsd:decimal ; - owl:onProperty openlabel_v2:maxValue ], + owl:onProperty cmns-q:hasUpperBound ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:minValue ], + owl:onProperty schema:maxValue ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty openlabel_v2:maxValue ], + owl:onProperty schema:minValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:hasLowerBound ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:decimal ; - owl:onProperty openlabel_v2:minValue ], + owl:onProperty cmns-q:hasUpperBound ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty openlabel_v2:hasLowerBound ], + owl:onProperty cmns-q:hasLowerBound ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty openlabel_v2:maxValue ] ; + owl:allValuesFrom xsd:decimal ; + owl:onProperty cmns-q:hasLowerBound ] ; skos:definition "A point value or interval for quantitative measurements. Requires minValue and maxValue."@en ; - skos:exactMatch schema:QuantitativeValue ; + skos:exactMatch openlabel_v2:QuantitativeValue ; skos:inScheme . -openlabel_v2:RoadUserVehicleEnum a owl:Class ; - rdfs:label "RoadUserVehicleEnum"@en ; - owl:unionOf ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; - skos:definition "Types of vehicles."@en ; - skos:editorialNote "ISO 34504 lists: passenger car, bus, school bus, truck, tram, goods vehicle, dangerous goods vehicle, long/large vehicle, agricultural vehicle, fire truck, ambulance, police vehicle, rescue vehicle, crane/NRMM, disabled vehicle, etc. ASAM OpenLABEL uses a simplified aggregation."@en ; +openlabel_v2:JunctionRoundaboutEnum a owl:Class ; + rdfs:label "JunctionRoundaboutEnum"@en ; + owl:unionOf ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + skos:altLabel "Roundabout"@en ; + skos:definition "Types of roundabouts."@en ; + skos:editorialNote "v1 label: \"Roundabout\" (PAS 1883:2020, Section 5.2.4)."@en ; skos:inScheme ; - skos:note "ISO 34504:2023, 4.4.4.1 (Road user type — vehicle sub-tags)"@en ; - linkml:permissible_values openlabel_v2:VehicleAgricultural, + skos:note "ISO 34503:2023, 9.4.2"@en ; + linkml:permissible_values openlabel_v2:RoundaboutCompact, + openlabel_v2:RoundaboutCompactNosignal, + openlabel_v2:RoundaboutCompactSignal, + openlabel_v2:RoundaboutDouble, + openlabel_v2:RoundaboutDoubleNosignal, + openlabel_v2:RoundaboutDoubleSignal, + openlabel_v2:RoundaboutLarge, + openlabel_v2:RoundaboutLargeNosignal, + openlabel_v2:RoundaboutLargeSignal, + openlabel_v2:RoundaboutMini, + openlabel_v2:RoundaboutMiniNosignal, + openlabel_v2:RoundaboutMiniSignal, + openlabel_v2:RoundaboutNormal, + openlabel_v2:RoundaboutNormalNosignal, + openlabel_v2:RoundaboutNormalSignal . + +openlabel_v2:TrafficAgentTypeEnum a owl:Class ; + rdfs:label "TrafficAgentTypeEnum"@en ; + owl:unionOf ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + skos:definition "Combined set of traffic agent types (human and vehicle road users). Union of RoadUserHumanEnum and RoadUserVehicleEnum, used by trafficAgentTypeValue so a single enum range yields the @vocab context coercion and a single sh:in constraint (values written as bare terms)."@en ; + skos:inScheme ; + skos:note "ISO 34503:2023, 11.1"@en ; + linkml:permissible_values openlabel_v2:HumanAnimalRider, + openlabel_v2:HumanCyclist, + openlabel_v2:HumanDriver, + openlabel_v2:HumanMotorcyclist, + openlabel_v2:HumanPassenger, + openlabel_v2:HumanPedestrian, + openlabel_v2:HumanWheelchairUser, + openlabel_v2:VehicleAgricultural, openlabel_v2:VehicleBus, openlabel_v2:VehicleCar, openlabel_v2:VehicleConstruction, @@ -3780,6 +4037,9 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:trafficFlowRateValue ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue xsd:decimal ) ] ; + owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty openlabel_v2:trafficFlowRateValue ], @@ -3807,12 +4067,6 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty openlabel_v2:TrafficFlowRate ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue [ a rdfs:Datatype ; - owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; - owl:onDatatype xsd:integer ; - owl:withRestrictions ( [ xsd:minInclusive 1 ] ) ] ) ] ) ] ; - owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:SceneryTemporaryStructure ], @@ -3822,6 +4076,12 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:LaneSpecificationDimensions ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue [ a rdfs:Datatype ; + owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; + owl:onDatatype xsd:integer ; + owl:withRestrictions ( [ xsd:minInclusive 1 ] ) ] ) ] ) ] ; + owl:onProperty openlabel_v2:laneSpecificationLaneCountValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:WeatherRain ], @@ -3873,12 +4133,6 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:TrafficVolume ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue [ a rdfs:Datatype ; - owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; - owl:onDatatype xsd:integer ; - owl:withRestrictions ( [ xsd:minInclusive 0 ] ) ] ) ] ) ] ; - owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:daySunElevationValue ], @@ -4194,6 +4448,12 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:unionOf ( schema:QuantitativeValue [ a rdfs:Datatype ; + owl:intersectionOf ( xsd:integer [ a rdfs:Datatype ; + owl:onDatatype xsd:integer ; + owl:withRestrictions ( [ xsd:minInclusive 0 ] ) ] ) ] ) ] ; + owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:weatherWindValue ], @@ -4242,9 +4502,6 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:LongitudinalLevelPlane ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:QuantitativeValue xsd:decimal ) ] ; - owl:onProperty openlabel_v2:laneSpecificationDimensionsValue ], [ a owl:Restriction ; owl:allValuesFrom xsd:decimal ; owl:onProperty openlabel_v2:particulatesWaterValue ], @@ -4257,9 +4514,6 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty openlabel_v2:SignsInformation ], - [ a owl:Restriction ; - owl:allValuesFrom [ owl:unionOf ( openlabel_v2:RoadUserHumanEnum openlabel_v2:RoadUserVehicleEnum ) ] ; - owl:onProperty openlabel_v2:trafficAgentTypeValue ], [ a owl:Restriction ; owl:allValuesFrom xsd:boolean ; owl:onProperty openlabel_v2:ParticulatesWater ], @@ -4302,6 +4556,9 @@ openlabel_v2:Odd a owl:Class, [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty openlabel_v2:DrivableAreaType ], + [ a owl:Restriction ; + owl:allValuesFrom openlabel_v2:TrafficAgentTypeEnum ; + owl:onProperty openlabel_v2:trafficAgentTypeValue ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty openlabel_v2:subjectVehicleSpeedValue ], diff --git a/artifacts/openlabel-v2/openlabel-v2.schema.json b/artifacts/openlabel-v2/openlabel-v2.schema.json new file mode 100644 index 00000000..87a5c3b4 --- /dev/null +++ b/artifacts/openlabel-v2/openlabel-v2.schema.json @@ -0,0 +1,821 @@ +{ + "$defs": { + "Attributes": { + "additionalProperties": false, + "description": "Nested attributes for any data entry. Same structure as tag_data.", + "properties": { + "boolean": { + "description": "Nested boolean attributes.", + "items": { + "$ref": "#/$defs/BooleanVal" + }, + "type": "array" + }, + "num": { + "description": "Nested numeric attributes.", + "items": { + "$ref": "#/$defs/NumVal" + }, + "type": "array" + }, + "text": { + "description": "Nested text attributes.", + "items": { + "$ref": "#/$defs/TextVal" + }, + "type": "array" + }, + "vec": { + "description": "Nested vector attributes.", + "items": { + "$ref": "#/$defs/VecVal" + }, + "type": "array" + } + }, + "title": "Attributes", + "type": "object" + }, + "BooleanVal": { + "additionalProperties": false, + "description": "A boolean value entry in tag_data or attributes (spec 8.7.1).", + "properties": { + "attributes": { + "$ref": "#/$defs/Attributes", + "description": "Nested attributes for this data entry." + }, + "name": { + "description": "Name of this data entry (used as index in data pointers).", + "type": "string" + }, + "type": { + "$ref": "#/$defs/ValueOnlyTypeEnum", + "description": "How the value shall be interpreted (ASAM allows only \"value\")." + }, + "val": { + "description": "The boolean value.", + "type": "boolean" + } + }, + "required": [ + "val" + ], + "title": "BooleanVal", + "type": "object" + }, + "BoundaryModeEnum": { + "description": "Mode for interpreting the ontology tagging boundary (spec 8.2.2).", + "enum": [ + "include", + "exclude" + ], + "title": "BoundaryModeEnum", + "type": "string" + }, + "Metadata": { + "additionalProperties": false, + "description": "Metadata about the annotation file. The schema_version is mandatory.", + "properties": { + "annotator": { + "description": "Name or identifier of the annotator.", + "type": "string" + }, + "comment": { + "description": "Free-text comment about the annotation.", + "type": "string" + }, + "file_version": { + "description": "Version of the annotation file.", + "type": "string" + }, + "name": { + "description": "Name of the annotation file.", + "type": "string" + }, + "schema_version": { + "const": "1.0.0", + "description": "The version of the ASAM OpenLABEL schema this file conforms to. ASAM constrains this to \"1.0.0\".", + "type": "string" + }, + "tagged_file": { + "description": "Path or URI to the raw data file that this annotation references.", + "type": "string" + } + }, + "required": [ + "schema_version" + ], + "title": "Metadata", + "type": "object" + }, + "NumTypeEnum": { + "description": "How a numeric value shall be interpreted in its context.", + "enum": [ + "value", + "min", + "max" + ], + "title": "NumTypeEnum", + "type": "string" + }, + "NumVal": { + "additionalProperties": false, + "description": "A numeric value entry in tag_data or attributes (spec 8.7.2).", + "properties": { + "attributes": { + "$ref": "#/$defs/Attributes", + "description": "Nested attributes for this data entry." + }, + "name": { + "description": "Name of this data entry.", + "type": "string" + }, + "type": { + "$ref": "#/$defs/NumTypeEnum", + "description": "How the number shall be interpreted: value, minimum, or maximum." + }, + "val": { + "description": "The numerical value. Modelled as a number to match the ASAM JSON Schema (num.val type=number). NOTE: spec 8.2.4's prose example shows \"val\": \"3.1\" (a string), which is inconsistent with the ASAM schema; the schema (number) is authoritative.", + "type": "number" + } + }, + "required": [ + "val" + ], + "title": "NumVal", + "type": "object" + }, + "OntologyEntry": { + "additionalProperties": false, + "description": "An ontology reference. Specifies the URI of the ontology and optional boundary controls for tagging subsets (spec 8.2.2).", + "properties": { + "boundary_list": { + "description": "List of tag names that define the tagging boundary. Used with boundary_mode to specify which subset of ontology tags is relevant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "boundary_mode": { + "$ref": "#/$defs/BoundaryModeEnum", + "description": "Whether boundary_list specifies inclusion or exclusion of tags." + }, + "uid": { + "description": "Unique identifier for this ontology entry (numeric UID or UUID). The pattern constrains the dict keys in the ontologies object (ASAM: numeric UID or UUID), rendered as JSON Schema propertyNames.", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + }, + "uri": { + "description": "URI of the ontology definition (RDF Turtle file URL).", + "format": "uri", + "type": "string" + } + }, + "required": [ + "uid", + "uri" + ], + "title": "OntologyEntry", + "type": "object" + }, + "OntologyEntry__identifier_optional": { + "additionalProperties": false, + "description": "An ontology reference. Specifies the URI of the ontology and optional boundary controls for tagging subsets (spec 8.2.2).", + "properties": { + "boundary_list": { + "description": "List of tag names that define the tagging boundary. Used with boundary_mode to specify which subset of ontology tags is relevant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "boundary_mode": { + "$ref": "#/$defs/BoundaryModeEnum", + "description": "Whether boundary_list specifies inclusion or exclusion of tags." + }, + "uid": { + "description": "Unique identifier for this ontology entry (numeric UID or UUID). The pattern constrains the dict keys in the ontologies object (ASAM: numeric UID or UUID), rendered as JSON Schema propertyNames.", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + }, + "uri": { + "description": "URI of the ontology definition (RDF Turtle file URL).", + "format": "uri", + "type": "string" + } + }, + "required": [ + "uri" + ], + "title": "OntologyEntry", + "type": "object" + }, + "OpenLabel": { + "additionalProperties": false, + "description": "The OpenLABEL root JSON object for scenario tagging. Contains metadata, ontology references, and tags. For scenario tagging, objects/actions/frames are not used (spec 8.1 - tags do not include spatiotemporal constructs).", + "properties": { + "metadata": { + "$ref": "#/$defs/Metadata", + "description": "Metadata about the annotation file (schema version, annotator, etc.)." + }, + "ontologies": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/OntologyEntry__identifier_optional" + }, + { + "description": "URI of the ontology definition (RDF Turtle file URL).", + "format": "uri", + "type": "string" + } + ] + }, + "description": "Ontology references keyed by UID. Each entry specifies the URI of an ontology and optional tagging boundary controls.", + "propertyNames": { + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + }, + "type": "object" + }, + "tags": { + "additionalProperties": { + "$ref": "#/$defs/TagEntry__identifier_optional" + }, + "description": "Tags keyed by UID. Each entry specifies the tag type (from an ontology) and optional tag_data with values.", + "propertyNames": { + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + }, + "type": "object" + } + }, + "required": [ + "metadata" + ], + "title": "OpenLabel", + "type": "object" + }, + "OpenLabelFile": { + "additionalProperties": false, + "description": "Root of an ASAM OpenLABEL JSON file. Contains a single \"openlabel\" key.", + "properties": { + "openlabel": { + "$ref": "#/$defs/OpenLabel", + "description": "The OpenLABEL root object containing all annotation data." + } + }, + "required": [ + "openlabel" + ], + "title": "OpenLabelFile", + "type": "object" + }, + "ResourceUid": { + "additionalProperties": false, + "description": "A reference to an element in an external resource (ASAM resource_uid): a map keyed by a numeric/UUID id whose value is the element's identifier string in the external resource.", + "properties": { + "identifier_in_resource": { + "description": "Identifier of the element in the external resource.", + "type": "string" + }, + "uid": { + "description": "External-resource reference key (numeric UID or UUID).", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + } + }, + "required": [ + "uid", + "identifier_in_resource" + ], + "title": "ResourceUid", + "type": "object" + }, + "ResourceUid__identifier_optional": { + "additionalProperties": false, + "description": "A reference to an element in an external resource (ASAM resource_uid): a map keyed by a numeric/UUID id whose value is the element's identifier string in the external resource.", + "properties": { + "identifier_in_resource": { + "description": "Identifier of the element in the external resource.", + "type": "string" + }, + "uid": { + "description": "External-resource reference key (numeric UID or UUID).", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + } + }, + "required": [ + "identifier_in_resource" + ], + "title": "ResourceUid", + "type": "object" + }, + "TagData": { + "additionalProperties": false, + "description": "Generic data associated with a tag. Contains arrays of typed values (boolean, numeric, text, vector). For scenario tagging, only non-geometric data types are used (spec 8.7).", + "properties": { + "boolean": { + "description": "List of boolean values describing this tag.", + "items": { + "$ref": "#/$defs/BooleanVal" + }, + "type": "array" + }, + "num": { + "description": "List of numeric values describing this tag.", + "items": { + "$ref": "#/$defs/NumVal" + }, + "type": "array" + }, + "text": { + "description": "List of text values describing this tag.", + "items": { + "$ref": "#/$defs/TextVal" + }, + "type": "array" + }, + "vec": { + "description": "List of vector (array) values describing this tag.", + "items": { + "$ref": "#/$defs/VecVal" + }, + "type": "array" + } + }, + "title": "TagData", + "type": "object" + }, + "TagEntry": { + "additionalProperties": false, + "description": "A single tag in an ASAM OpenLABEL file. References a tag type from an ontology and optionally includes tag_data with values.", + "properties": { + "ontology_uid": { + "description": "UID of the ontology (from the ontologies section) where this tag type is defined. Required: every scenario tag references its ontology (spec 8.2.1). (ASAM's JSON Schema lists only \"type\" as required, but all spec examples and real files include ontology_uid; keeping it required also avoids a LinkML simple-dict shorthand that ASAM forbids.)", + "type": "string" + }, + "resource_uid": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/ResourceUid__identifier_optional" + }, + { + "description": "Identifier of the element in the external resource.", + "type": "string" + } + ] + }, + "description": "Links to external resources, keyed by UID (ASAM resource_uid: a map of id -> the element's identifier string in the external resource).", + "propertyNames": { + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + }, + "type": "object" + }, + "tag_data": { + "anyOf": [ + { + "$ref": "#/$defs/TagData" + }, + { + "type": "string" + } + ], + "description": "Optional data associated with this tag (values, ranges, text). ASAM models tag_data as oneOf[object, string]; both forms are allowed." + }, + "type": { + "$ref": "#/$defs/TagTypeEnum", + "description": "The type of tag, referencing a class or property name from the ontology. Constrained to valid values from the openlabel-v2 vocabulary." + }, + "uid": { + "description": "Unique identifier for this tag entry (numeric UID or UUID). The pattern constrains the dict keys in the tags object (ASAM: numeric UID or UUID), rendered as JSON Schema propertyNames.", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + } + }, + "required": [ + "uid", + "type", + "ontology_uid" + ], + "title": "TagEntry", + "type": "object" + }, + "TagEntry__identifier_optional": { + "additionalProperties": false, + "description": "A single tag in an ASAM OpenLABEL file. References a tag type from an ontology and optionally includes tag_data with values.", + "properties": { + "ontology_uid": { + "description": "UID of the ontology (from the ontologies section) where this tag type is defined. Required: every scenario tag references its ontology (spec 8.2.1). (ASAM's JSON Schema lists only \"type\" as required, but all spec examples and real files include ontology_uid; keeping it required also avoids a LinkML simple-dict shorthand that ASAM forbids.)", + "type": "string" + }, + "resource_uid": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/ResourceUid__identifier_optional" + }, + { + "description": "Identifier of the element in the external resource.", + "type": "string" + } + ] + }, + "description": "Links to external resources, keyed by UID (ASAM resource_uid: a map of id -> the element's identifier string in the external resource).", + "propertyNames": { + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + }, + "type": "object" + }, + "tag_data": { + "anyOf": [ + { + "$ref": "#/$defs/TagData" + }, + { + "type": "string" + } + ], + "description": "Optional data associated with this tag (values, ranges, text). ASAM models tag_data as oneOf[object, string]; both forms are allowed." + }, + "type": { + "$ref": "#/$defs/TagTypeEnum", + "description": "The type of tag, referencing a class or property name from the ontology. Constrained to valid values from the openlabel-v2 vocabulary." + }, + "uid": { + "description": "Unique identifier for this tag entry (numeric UID or UUID). The pattern constrains the dict keys in the tags object (ASAM: numeric UID or UUID), rendered as JSON Schema propertyNames.", + "pattern": "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", + "type": "string" + } + }, + "required": [ + "type", + "ontology_uid" + ], + "title": "TagEntry", + "type": "object" + }, + "TagTypeEnum": { + "description": "All valid values for the tag.type field in ASAM OpenLABEL v1 format files. Derived from the openlabel-v2 ontology vocabulary (classes, enums, slots). AUTO-GENERATED \u2014 do not edit manually.", + "enum": [ + "AdminTag", + "Behaviour", + "BehaviourMotion", + "DrivableAreaGeometry", + "DrivableAreaLaneSpecification", + "DrivableAreaSigns", + "DrivableAreaSurface", + "DynamicElementsSubjectVehicle", + "DynamicElementsTraffic", + "EnvironmentConnectivity", + "EnvironmentIllumination", + "EnvironmentWeather", + "GeometryHorizontal", + "GeometryLongitudinal", + "IlluminationDay", + "Odd", + "OddDynamicElements", + "OddEnvironment", + "OddScenery", + "RoadUser", + "Scenario", + "SceneryDrivableArea", + "SceneryJunction", + "Tag", + "licenseURI", + "ownerEmail", + "ownerName", + "ownerURL", + "scenarioCreatedDate", + "scenarioDefinition", + "scenarioDefinitionLanguageURI", + "scenarioDescription", + "scenarioName", + "scenarioParentReference", + "scenarioUniqueReference", + "scenarioVersion", + "scenarioVisualisationURL", + "DaySunElevation", + "HorizontalCurves", + "HorizontalStraights", + "IlluminationCloudiness", + "LaneSpecificationDimensions", + "LaneSpecificationLaneCount", + "LaneSpecificationMarking", + "LongitudinalDownSlope", + "LongitudinalLevelPlane", + "LongitudinalUpSlope", + "MotionAccelerate", + "MotionAway", + "MotionCross", + "MotionCutIn", + "MotionCutOut", + "MotionDecelerate", + "MotionDrive", + "MotionLaneChangeLeft", + "MotionLaneChangeRight", + "MotionOvertake", + "MotionReverse", + "MotionRun", + "MotionSlide", + "MotionStop", + "MotionTowards", + "MotionTurn", + "MotionTurnLeft", + "MotionTurnRight", + "MotionUTurn", + "MotionWalk", + "RoadUserAnimal", + "SubjectVehicleSpeed", + "TrafficAgentDensity", + "TrafficAgentType", + "TrafficFlowRate", + "TrafficSpecialVehicle", + "TrafficVolume", + "WeatherRain", + "WeatherSnow", + "WeatherWind", + "BehaviourCommunication", + "ConnectivityCommunication", + "ConnectivityPositioning", + "DaySunPosition", + "DrivableAreaEdge", + "DrivableAreaSurfaceCondition", + "DrivableAreaSurfaceFeature", + "DrivableAreaSurfaceType", + "DrivableAreaType", + "EnvironmentParticulates", + "GeometryTransverse", + "IlluminationArtificial", + "IlluminationLowLight", + "JunctionIntersection", + "JunctionRoundabout", + "LaneSpecificationTravelDirection", + "LaneSpecificationType", + "RainType", + "RoadUserHuman", + "RoadUserVehicle", + "SceneryFixedStructure", + "ScenerySpecialStructure", + "SceneryTemporaryStructure", + "SceneryZone", + "SignsInformation", + "SignsRegulatory", + "SignsWarning", + "trafficAgentTypeValue", + "CommunicationHeadlightFlash", + "CommunicationHorn", + "CommunicationSignalEmergency", + "CommunicationSignalHazard", + "CommunicationSignalLeft", + "CommunicationSignalRight", + "CommunicationSignalSlowing", + "CommunicationWave", + "CommunicationV2i", + "CommunicationV2v", + "V2iCellular", + "V2iSatellite", + "V2iWifi", + "V2vCellular", + "V2vSatellite", + "V2vWifi", + "PositioningGalileo", + "PositioningGlonass", + "PositioningGps", + "SunPositionBehind", + "SunPositionFront", + "SunPositionLeft", + "SunPositionRight", + "EdgeLineMarkers", + "EdgeNone", + "EdgeShoulderGrass", + "EdgeShoulderPavedOrGravel", + "EdgeSolidBarriers", + "EdgeTemporaryLineMarkers", + "SurfaceConditionContamination", + "SurfaceConditionFlooded", + "SurfaceConditionIcy", + "SurfaceConditionMirage", + "SurfaceConditionSnow", + "SurfaceConditionStandingWater", + "SurfaceConditionWet", + "SurfaceFeatureCrack", + "SurfaceFeaturePothole", + "SurfaceFeatureRut", + "SurfaceFeatureSwell", + "SurfaceTypeLoose", + "SurfaceTypeSegmented", + "SurfaceTypeUniform", + "MotorwayManaged", + "MotorwayUnmanaged", + "RoadTypeDistributor", + "RoadTypeMinor", + "RoadTypeMotorway", + "RoadTypeParking", + "RoadTypeRadial", + "RoadTypeShared", + "RoadTypeSlip", + "ParticulatesDust", + "ParticulatesMarine", + "ParticulatesPollution", + "ParticulatesVolcanic", + "ParticulatesWater", + "TransverseBarriers", + "TransverseDivided", + "TransverseLanesTogether", + "TransversePavements", + "TransverseUndivided", + "ArtificialStreetLighting", + "ArtificialVehicleLighting", + "LowLightAmbient", + "LowLightNight", + "IntersectionCrossroad", + "IntersectionGradeSeperated", + "IntersectionStaggered", + "IntersectionTJunction", + "IntersectionYJunction", + "RoundaboutCompact", + "RoundaboutCompactNosignal", + "RoundaboutCompactSignal", + "RoundaboutDouble", + "RoundaboutDoubleNosignal", + "RoundaboutDoubleSignal", + "RoundaboutLarge", + "RoundaboutLargeNosignal", + "RoundaboutLargeSignal", + "RoundaboutMini", + "RoundaboutMiniNosignal", + "RoundaboutMiniSignal", + "RoundaboutNormal", + "RoundaboutNormalNosignal", + "RoundaboutNormalSignal", + "TravelDirectionLeft", + "TravelDirectionRight", + "LaneTypeBus", + "LaneTypeCycle", + "LaneTypeEmergency", + "LaneTypeSpecial", + "LaneTypeTraffic", + "LaneTypeTram", + "RainTypeConvective", + "RainTypeDynamic", + "RainTypeOrographic", + "HumanAnimalRider", + "HumanCyclist", + "HumanDriver", + "HumanMotorcyclist", + "HumanPassenger", + "HumanPedestrian", + "HumanWheelchairUser", + "VehicleAgricultural", + "VehicleBus", + "VehicleCar", + "VehicleConstruction", + "VehicleCycle", + "VehicleEmergency", + "VehicleMotorcycle", + "VehicleTrailer", + "VehicleTruck", + "VehicleVan", + "VehicleWheelchair", + "FixedStructureBuilding", + "FixedStructureStreetFurniture", + "FixedStructureStreetlight", + "FixedStructureVegetation", + "SpecialStructureAutoAccess", + "SpecialStructureBridge", + "SpecialStructurePedestrianCrossing", + "SpecialStructureRailCrossing", + "SpecialStructureTollPlaza", + "SpecialStructureTunnel", + "TemporaryStructureConstructionDetour", + "TemporaryStructureRefuseCollection", + "TemporaryStructureRoadSignage", + "TemporaryStructureRoadWorks", + "ZoneGeoFenced", + "ZoneInterference", + "ZoneRegion", + "ZoneSchool", + "ZoneTrafficManagement", + "InformationSignsUniform", + "InformationSignsUniformFullTime", + "InformationSignsUniformTemporary", + "InformationSignsVariable", + "InformationSignsVariableFullTime", + "InformationSignsVariableTemporary", + "RegulatorySignsUniform", + "RegulatorySignsUniformFullTime", + "RegulatorySignsUniformTemporary", + "RegulatorySignsVariable", + "RegulatorySignsVariableFullTime", + "RegulatorySignsVariableTemporary", + "WarningSignsUniform", + "WarningSignsUniformFullTime", + "WarningSignsUniformTemporary", + "WarningSignsVariable", + "WarningSignsVariableFullTime", + "WarningSignsVariableTemporary" + ], + "title": "TagTypeEnum", + "type": "string" + }, + "TextVal": { + "additionalProperties": false, + "description": "A text value entry in tag_data or attributes (spec 8.7.3).", + "properties": { + "attributes": { + "$ref": "#/$defs/Attributes", + "description": "Nested attributes for this data entry." + }, + "name": { + "description": "Name of this data entry.", + "type": "string" + }, + "type": { + "$ref": "#/$defs/ValueOnlyTypeEnum", + "description": "How the text shall be interpreted (ASAM allows only \"value\")." + }, + "val": { + "description": "The text value.", + "type": "string" + } + }, + "required": [ + "val" + ], + "title": "TextVal", + "type": "object" + }, + "ValueOnlyTypeEnum": { + "description": "Interpretation for boolean/text data entries. ASAM allows only \"value\".", + "enum": [ + "value" + ], + "title": "ValueOnlyTypeEnum", + "type": "string" + }, + "VecTypeEnum": { + "description": "How a vector (array) value shall be interpreted (ASAM: range or values).", + "enum": [ + "range", + "values" + ], + "title": "VecTypeEnum", + "type": "string" + }, + "VecVal": { + "additionalProperties": false, + "description": "A vector (array) value entry in tag_data or attributes (spec 8.7.4). Used for ranges, sets, and multi-valued data.", + "properties": { + "attributes": { + "$ref": "#/$defs/Attributes", + "description": "Nested attributes for this data entry." + }, + "name": { + "description": "Name of this data entry.", + "type": "string" + }, + "type": { + "$ref": "#/$defs/VecTypeEnum", + "description": "How the vector shall be interpreted: range or values (ASAM vec.type)." + }, + "val": { + "description": "Array of values. ASAM vec.val items are oneOf[number, string] (e.g. a numeric range [3.4, 3.7] or a set [2, 3]).", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "type": "array" + } + }, + "required": [ + "val" + ], + "title": "VecVal", + "type": "object" + } + }, + "$id": "https://w3id.org/ascs-ev/envited-x/openlabel/schema/v1", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "additionalProperties": false, + "description": "Root of an ASAM OpenLABEL JSON file. Contains a single \"openlabel\" key.", + "metamodel_version": "1.11.0", + "properties": { + "openlabel": { + "$ref": "#/$defs/OpenLabel", + "description": "The OpenLABEL root object containing all annotation data." + } + }, + "required": [ + "openlabel" + ], + "title": "openlabel-v2-schema", + "type": "object", + "version": "1.0.0" +} diff --git a/artifacts/openlabel-v2/openlabel-v2.shacl.ttl b/artifacts/openlabel-v2/openlabel-v2.shacl.ttl index d28edb9e..8d309e0b 100644 --- a/artifacts/openlabel-v2/openlabel-v2.shacl.ttl +++ b/artifacts/openlabel-v2/openlabel-v2.shacl.ttl @@ -6,1311 +6,7513 @@ @prefix sh: . @prefix xsd: . -openlabel_v2:OddDynamicElements a sh:NodeShape ; - rdfs:comment "Dynamic elements subset of the operational design domain."@en ; +openlabel_v2:BehaviourMotion a sh:NodeShape ; + rdfs:comment "An activity in which the road user changes position, velocity or direction."@en ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; - sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user changes their heading."@en ; + sh:maxCount 1 ; + sh:message "MotionTurn (BehaviourMotion): An activity where the road user changes their heading. ISO 34504:2023, 4.4.4.3 (Lateral action — turning)"@en ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path openlabel_v2:MotionTurn ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where a pedestrian is slipping/sliding on the road."@en ; + sh:maxCount 1 ; + sh:message "MotionSlide (BehaviourMotion): An activity where a pedestrian is slipping/sliding on the road. ASAM OpenLABEL V1.0.0"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:MotionSlide ], + [ sh:description "Rate of acceleration (ms⁻²)."@en ; + sh:maxCount 1 ; + sh:message "motionAccelerateValue (BehaviourMotion): Rate of acceleration (ms⁻²). ISO 34504:2023, 4.4.4.2 (Longitudinal action — accelerating, quantification)"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 2 ; + sh:path openlabel_v2:motionAccelerateValue ], + [ sh:description "Rate of deceleration (ms⁻²)."@en ; + sh:maxCount 1 ; + sh:message "motionDecelerateValue (BehaviourMotion): Rate of deceleration (ms⁻²). ISO 34504:2023, 4.4.4.2 (Longitudinal action — decelerating, quantification)"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 8 ; + sh:path openlabel_v2:motionDecelerateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Subject exits the intersection on a road to the right of the original."@en ; + sh:maxCount 1 ; + sh:message "MotionTurnRight (BehaviourMotion): Subject exits the intersection on a road to the right of the original. ISO 34504:2023, 4.4.4.3 (Lateral action — turning, right)"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:MotionTurnRight ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject vehicle is moving in the opposite direction to which it is facing."@en ; + sh:maxCount 1 ; + sh:message "MotionReverse (BehaviourMotion): An activity where the subject vehicle is moving in the opposite direction to which it is facing. ISO 34504:2023, 4.4.4.2 (Longitudinal action — reversing)"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:MotionReverse ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject vehicle ends up directly in front of the object vehicle."@en ; + sh:maxCount 1 ; + sh:message "MotionCutIn (BehaviourMotion): An activity where the subject vehicle ends up directly in front of the object vehicle. ISO 34504:2023, 4.4.4.3 (Lateral action — changing lane)"@en ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path openlabel_v2:MotionCutIn ], + [ sh:description "Speed (km/h)."@en ; + sh:maxCount 1 ; + sh:message "motionDriveValue (BehaviourMotion): Speed (km/h). ISO 34504:2023, 4.4.4.5 (State or initial state — relative speed)"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 10 ; + sh:path openlabel_v2:motionDriveValue ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user increases their velocity."@en ; + sh:maxCount 1 ; + sh:message "MotionAccelerate (BehaviourMotion): An activity where the road user increases their velocity. ISO 34504:2023, 4.4.4.2 (Longitudinal action — accelerating)"@en ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path openlabel_v2:MotionAccelerate ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the trajectory of the road user crosses the trajectory of the object."@en ; + sh:maxCount 1 ; + sh:message "MotionCross (BehaviourMotion): An activity where the trajectory of the road user crosses the trajectory of the object. ISO 34504:2023, 4.4.4.5 (State or initial state — direction: crossing)"@en ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path openlabel_v2:MotionCross ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject vehicle is in a lane left of the original."@en ; + sh:maxCount 1 ; + sh:message "MotionLaneChangeLeft (BehaviourMotion): An activity where the subject vehicle is in a lane left of the original. ISO 34504:2023, 4.4.4.3 (Lateral action — changing lane, left)"@en ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path openlabel_v2:MotionLaneChangeLeft ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user decreases their velocity."@en ; + sh:maxCount 1 ; + sh:message "MotionDecelerate (BehaviourMotion): An activity where the road user decreases their velocity. ISO 34504:2023, 4.4.4.2 (Longitudinal action — decelerating)"@en ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path openlabel_v2:MotionDecelerate ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject vehicle is moving in the direction it is facing."@en ; + sh:maxCount 1 ; + sh:message "MotionDrive (BehaviourMotion): An activity where the subject vehicle is moving in the direction it is facing. ISO 34504:2023, 4.4.4.2 (Longitudinal action — driving forward)"@en ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path openlabel_v2:MotionDrive ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject starts behind and ends up in front by changing lanes."@en ; + sh:maxCount 1 ; + sh:message "MotionOvertake (BehaviourMotion): An activity where the subject starts behind and ends up in front by changing lanes. ISO 34504:2023, 4.4.4.3 (Lateral action — changing lane)"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:MotionOvertake ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user is closer to the object by the end."@en ; + sh:maxCount 1 ; + sh:message "MotionTowards (BehaviourMotion): An activity where the road user is closer to the object by the end. ASAM OpenLABEL V1.0.0"@en ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path openlabel_v2:MotionTowards ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the object vehicle suddenly moves out of the lane."@en ; + sh:maxCount 1 ; + sh:message "MotionCutOut (BehaviourMotion): An activity where the object vehicle suddenly moves out of the lane. ISO 34504:2023, 4.4.4.3 (Lateral action — changing lane)"@en ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path openlabel_v2:MotionCutOut ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the subject vehicle is in a lane right of the original."@en ; + sh:maxCount 1 ; + sh:message "MotionLaneChangeRight (BehaviourMotion): An activity where the subject vehicle is in a lane right of the original. ISO 34504:2023, 4.4.4.3 (Lateral action — changing lane, right)"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:MotionLaneChangeRight ], + [ sh:description "Communication type of road user behaviour."@en ; + sh:in ( openlabel_v2:CommunicationHeadlightFlash openlabel_v2:CommunicationHorn openlabel_v2:CommunicationSignalEmergency openlabel_v2:CommunicationSignalHazard openlabel_v2:CommunicationSignalLeft openlabel_v2:CommunicationSignalRight openlabel_v2:CommunicationSignalSlowing openlabel_v2:CommunicationWave ) ; + sh:message "BehaviourCommunication (BehaviourMotion): Communication type of road user behaviour. ASAM OpenLABEL V1.0.0"@en ; + sh:order 0 ; + sh:path openlabel_v2:BehaviourCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user is stationary."@en ; + sh:maxCount 1 ; + sh:message "MotionStop (BehaviourMotion): An activity where the road user is stationary. ISO 34504:2023, 4.4.4.2 (Longitudinal action — standing still)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:MotionStop ], + [ sh:datatype xsd:boolean ; + sh:description "An activity where the road user is further away from the object by the end."@en ; + sh:maxCount 1 ; + sh:message "MotionAway (BehaviourMotion): An activity where the road user is further away from the object by the end. ASAM OpenLABEL V1.0.0"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:MotionAway ], + [ sh:datatype xsd:boolean ; + sh:description "Subject performs a turn resulting in heading in the opposite direction."@en ; + sh:maxCount 1 ; + sh:message "MotionUTurn (BehaviourMotion): Subject performs a turn resulting in heading in the opposite direction. ISO 34504:2023, 4.4.4.3 (Lateral action — turning, left U-turn / right U-turn)"@en ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path openlabel_v2:MotionUTurn ], + [ sh:datatype xsd:boolean ; + sh:description "Locomotion mode where at least one foot is always on the ground."@en ; + sh:maxCount 1 ; + sh:message "MotionWalk (BehaviourMotion): Locomotion mode where at least one foot is always on the ground. ASAM OpenLABEL V1.0.0"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:MotionWalk ], + [ sh:datatype xsd:boolean ; + sh:description "Locomotion mode where at a specific point no foot touches the ground."@en ; + sh:maxCount 1 ; + sh:message "MotionRun (BehaviourMotion): Locomotion mode where at a specific point no foot touches the ground. ASAM OpenLABEL V1.0.0"@en ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path openlabel_v2:MotionRun ], + [ sh:datatype xsd:boolean ; + sh:description "Subject exits the intersection on a road to the left of the original."@en ; + sh:maxCount 1 ; + sh:message "MotionTurnLeft (BehaviourMotion): Subject exits the intersection on a road to the left of the original. ISO 34504:2023, 4.4.4.3 (Lateral action — turning, left)"@en ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path openlabel_v2:MotionTurnLeft ] ; + sh:targetClass openlabel_v2:BehaviourMotion . + +openlabel_v2:DrivableAreaGeometry a sh:NodeShape ; + rdfs:comment "Drivable area geometry."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; sh:maxCount 0 ; - sh:message "SceneryTemporaryStructure (OddDynamicElements): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; - sh:order 42 ; - sh:path openlabel_v2:SceneryTemporaryStructure ], + sh:message "ConnectivityCommunication (DrivableAreaGeometry): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (DrivableAreaGeometry): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DrivableAreaGeometry): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (DrivableAreaGeometry): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (DrivableAreaGeometry): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (DrivableAreaGeometry): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (DrivableAreaGeometry): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (DrivableAreaGeometry): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DrivableAreaGeometry): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (DrivableAreaGeometry): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (DrivableAreaGeometry): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DrivableAreaGeometry): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (DrivableAreaGeometry): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DrivableAreaGeometry): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (DrivableAreaGeometry): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (DrivableAreaGeometry): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (DrivableAreaGeometry): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DrivableAreaGeometry): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (DrivableAreaGeometry): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DrivableAreaGeometry): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (DrivableAreaGeometry): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (DrivableAreaGeometry): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DrivableAreaGeometry): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DrivableAreaGeometry): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DrivableAreaGeometry): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (DrivableAreaGeometry): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DrivableAreaGeometry): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (DrivableAreaGeometry): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (DrivableAreaGeometry): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (DrivableAreaGeometry): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (DrivableAreaGeometry): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (DrivableAreaGeometry): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DrivableAreaGeometry): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (DrivableAreaGeometry): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (DrivableAreaGeometry): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (DrivableAreaGeometry): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (DrivableAreaGeometry): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DrivableAreaGeometry): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DrivableAreaGeometry): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (DrivableAreaGeometry): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (DrivableAreaGeometry): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (DrivableAreaGeometry): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (DrivableAreaGeometry): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (DrivableAreaGeometry): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (DrivableAreaGeometry): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DrivableAreaGeometry): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DrivableAreaGeometry): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (DrivableAreaGeometry): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DrivableAreaGeometry): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DrivableAreaGeometry): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DrivableAreaGeometry): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DrivableAreaGeometry): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (DrivableAreaGeometry): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (DrivableAreaGeometry): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (DrivableAreaGeometry): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (DrivableAreaGeometry): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (DrivableAreaGeometry): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DrivableAreaGeometry): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (DrivableAreaGeometry): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (DrivableAreaGeometry): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (DrivableAreaGeometry): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DrivableAreaGeometry): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DrivableAreaGeometry): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (DrivableAreaGeometry): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ] ; + sh:targetClass openlabel_v2:DrivableAreaGeometry . + +openlabel_v2:DrivableAreaLaneSpecification a sh:NodeShape ; + rdfs:comment "Drivable area lane specification."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (DrivableAreaLaneSpecification): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (DrivableAreaLaneSpecification): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DrivableAreaLaneSpecification): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DrivableAreaLaneSpecification): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DrivableAreaLaneSpecification): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (DrivableAreaLaneSpecification): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (DrivableAreaLaneSpecification): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (DrivableAreaLaneSpecification): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (DrivableAreaLaneSpecification): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (DrivableAreaLaneSpecification): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (DrivableAreaLaneSpecification): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DrivableAreaLaneSpecification): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (DrivableAreaLaneSpecification): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (DrivableAreaLaneSpecification): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DrivableAreaLaneSpecification): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DrivableAreaLaneSpecification): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (DrivableAreaLaneSpecification): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (DrivableAreaLaneSpecification): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DrivableAreaLaneSpecification): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (DrivableAreaLaneSpecification): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DrivableAreaLaneSpecification): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (DrivableAreaLaneSpecification): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (DrivableAreaLaneSpecification): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (DrivableAreaLaneSpecification): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (DrivableAreaLaneSpecification): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (DrivableAreaLaneSpecification): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DrivableAreaLaneSpecification): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (DrivableAreaLaneSpecification): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (DrivableAreaLaneSpecification): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (DrivableAreaLaneSpecification): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DrivableAreaLaneSpecification): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DrivableAreaLaneSpecification): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DrivableAreaLaneSpecification): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (DrivableAreaLaneSpecification): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DrivableAreaLaneSpecification): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (DrivableAreaLaneSpecification): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (DrivableAreaLaneSpecification): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (DrivableAreaLaneSpecification): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (DrivableAreaLaneSpecification): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (DrivableAreaLaneSpecification): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (DrivableAreaLaneSpecification): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DrivableAreaLaneSpecification): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DrivableAreaLaneSpecification): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (DrivableAreaLaneSpecification): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (DrivableAreaLaneSpecification): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DrivableAreaLaneSpecification): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DrivableAreaLaneSpecification): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (DrivableAreaLaneSpecification): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (DrivableAreaLaneSpecification): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (DrivableAreaLaneSpecification): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (DrivableAreaLaneSpecification): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DrivableAreaLaneSpecification): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (DrivableAreaLaneSpecification): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DrivableAreaLaneSpecification): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (DrivableAreaLaneSpecification): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (DrivableAreaLaneSpecification): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (DrivableAreaLaneSpecification): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (DrivableAreaLaneSpecification): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DrivableAreaLaneSpecification): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DrivableAreaLaneSpecification): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (DrivableAreaLaneSpecification): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (DrivableAreaLaneSpecification): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (DrivableAreaLaneSpecification): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DrivableAreaLaneSpecification): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ] ; + sh:targetClass openlabel_v2:DrivableAreaLaneSpecification . + +openlabel_v2:DrivableAreaSigns a sh:NodeShape ; + rdfs:comment "Drivable area signs."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (DrivableAreaSigns): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DrivableAreaSigns): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (DrivableAreaSigns): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (DrivableAreaSigns): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DrivableAreaSigns): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DrivableAreaSigns): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (DrivableAreaSigns): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (DrivableAreaSigns): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DrivableAreaSigns): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (DrivableAreaSigns): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (DrivableAreaSigns): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (DrivableAreaSigns): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (DrivableAreaSigns): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (DrivableAreaSigns): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (DrivableAreaSigns): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DrivableAreaSigns): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DrivableAreaSigns): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (DrivableAreaSigns): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DrivableAreaSigns): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (DrivableAreaSigns): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (DrivableAreaSigns): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (DrivableAreaSigns): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (DrivableAreaSigns): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DrivableAreaSigns): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (DrivableAreaSigns): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (DrivableAreaSigns): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (DrivableAreaSigns): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DrivableAreaSigns): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DrivableAreaSigns): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (DrivableAreaSigns): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (DrivableAreaSigns): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (DrivableAreaSigns): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DrivableAreaSigns): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DrivableAreaSigns): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (DrivableAreaSigns): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DrivableAreaSigns): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DrivableAreaSigns): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DrivableAreaSigns): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (DrivableAreaSigns): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (DrivableAreaSigns): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (DrivableAreaSigns): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (DrivableAreaSigns): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (DrivableAreaSigns): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (DrivableAreaSigns): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (DrivableAreaSigns): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DrivableAreaSigns): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DrivableAreaSigns): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DrivableAreaSigns): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (DrivableAreaSigns): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (DrivableAreaSigns): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (DrivableAreaSigns): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (DrivableAreaSigns): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (DrivableAreaSigns): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (DrivableAreaSigns): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (DrivableAreaSigns): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (DrivableAreaSigns): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DrivableAreaSigns): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (DrivableAreaSigns): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (DrivableAreaSigns): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DrivableAreaSigns): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (DrivableAreaSigns): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (DrivableAreaSigns): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DrivableAreaSigns): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DrivableAreaSigns): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ] ; + sh:targetClass openlabel_v2:DrivableAreaSigns . + +openlabel_v2:DrivableAreaSurface a sh:NodeShape ; + rdfs:comment "Drivable area surface."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DrivableAreaSurface): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DrivableAreaSurface): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (DrivableAreaSurface): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DrivableAreaSurface): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DrivableAreaSurface): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (DrivableAreaSurface): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DrivableAreaSurface): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (DrivableAreaSurface): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (DrivableAreaSurface): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (DrivableAreaSurface): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (DrivableAreaSurface): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (DrivableAreaSurface): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (DrivableAreaSurface): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DrivableAreaSurface): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (DrivableAreaSurface): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (DrivableAreaSurface): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DrivableAreaSurface): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (DrivableAreaSurface): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (DrivableAreaSurface): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DrivableAreaSurface): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (DrivableAreaSurface): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DrivableAreaSurface): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DrivableAreaSurface): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (DrivableAreaSurface): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (DrivableAreaSurface): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (DrivableAreaSurface): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (DrivableAreaSurface): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (DrivableAreaSurface): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DrivableAreaSurface): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DrivableAreaSurface): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (DrivableAreaSurface): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (DrivableAreaSurface): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (DrivableAreaSurface): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DrivableAreaSurface): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DrivableAreaSurface): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (DrivableAreaSurface): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DrivableAreaSurface): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (DrivableAreaSurface): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DrivableAreaSurface): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (DrivableAreaSurface): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (DrivableAreaSurface): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (DrivableAreaSurface): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (DrivableAreaSurface): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (DrivableAreaSurface): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (DrivableAreaSurface): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (DrivableAreaSurface): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (DrivableAreaSurface): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (DrivableAreaSurface): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (DrivableAreaSurface): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (DrivableAreaSurface): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DrivableAreaSurface): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (DrivableAreaSurface): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (DrivableAreaSurface): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DrivableAreaSurface): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (DrivableAreaSurface): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DrivableAreaSurface): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (DrivableAreaSurface): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DrivableAreaSurface): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DrivableAreaSurface): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (DrivableAreaSurface): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (DrivableAreaSurface): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (DrivableAreaSurface): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DrivableAreaSurface): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (DrivableAreaSurface): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ] ; + sh:targetClass openlabel_v2:DrivableAreaSurface . + +openlabel_v2:DynamicElementsSubjectVehicle a sh:NodeShape ; + rdfs:comment "Subject vehicle dynamic element."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DynamicElementsSubjectVehicle): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DynamicElementsSubjectVehicle): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (DynamicElementsSubjectVehicle): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (DynamicElementsSubjectVehicle): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DynamicElementsSubjectVehicle): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (DynamicElementsSubjectVehicle): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentType (DynamicElementsSubjectVehicle): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 1 ; + sh:message "trafficFlowRateValue (DynamicElementsSubjectVehicle): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (DynamicElementsSubjectVehicle): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (DynamicElementsSubjectVehicle): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DynamicElementsSubjectVehicle): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DynamicElementsSubjectVehicle): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (DynamicElementsSubjectVehicle): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (DynamicElementsSubjectVehicle): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (DynamicElementsSubjectVehicle): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (DynamicElementsSubjectVehicle): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 1 ; + sh:message "TrafficVolume (DynamicElementsSubjectVehicle): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (DynamicElementsSubjectVehicle): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 1 ; + sh:message "trafficVolumeValue (DynamicElementsSubjectVehicle): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (DynamicElementsSubjectVehicle): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (DynamicElementsSubjectVehicle): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (DynamicElementsSubjectVehicle): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (DynamicElementsSubjectVehicle): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DynamicElementsSubjectVehicle): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DynamicElementsSubjectVehicle): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DynamicElementsSubjectVehicle): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (DynamicElementsSubjectVehicle): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (DynamicElementsSubjectVehicle): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DynamicElementsSubjectVehicle): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 1 ; + sh:message "TrafficSpecialVehicle (DynamicElementsSubjectVehicle): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (DynamicElementsSubjectVehicle): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DynamicElementsSubjectVehicle): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (DynamicElementsSubjectVehicle): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 1 ; + sh:message "trafficAgentDensityValue (DynamicElementsSubjectVehicle): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DynamicElementsSubjectVehicle): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (DynamicElementsSubjectVehicle): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DynamicElementsSubjectVehicle): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (DynamicElementsSubjectVehicle): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DynamicElementsSubjectVehicle): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (DynamicElementsSubjectVehicle): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (DynamicElementsSubjectVehicle): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (DynamicElementsSubjectVehicle): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DynamicElementsSubjectVehicle): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (DynamicElementsSubjectVehicle): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (DynamicElementsSubjectVehicle): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DynamicElementsSubjectVehicle): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (DynamicElementsSubjectVehicle): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DynamicElementsSubjectVehicle): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DynamicElementsSubjectVehicle): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:message "trafficAgentTypeValue (DynamicElementsSubjectVehicle): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (DynamicElementsSubjectVehicle): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 1 ; + sh:message "TrafficFlowRate (DynamicElementsSubjectVehicle): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (DynamicElementsSubjectVehicle): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DynamicElementsSubjectVehicle): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DynamicElementsSubjectVehicle): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DynamicElementsSubjectVehicle): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (DynamicElementsSubjectVehicle): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DynamicElementsSubjectVehicle): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 1 ; + sh:message "SubjectVehicleSpeed (DynamicElementsSubjectVehicle): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DynamicElementsSubjectVehicle): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (DynamicElementsSubjectVehicle): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (DynamicElementsSubjectVehicle): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 1 ; + sh:message "subjectVehicleSpeedValue (DynamicElementsSubjectVehicle): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentDensity (DynamicElementsSubjectVehicle): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ] ; + sh:targetClass openlabel_v2:DynamicElementsSubjectVehicle . + +openlabel_v2:DynamicElementsTraffic a sh:NodeShape ; + rdfs:comment "Traffic dynamic elements."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (DynamicElementsTraffic): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (DynamicElementsTraffic): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (DynamicElementsTraffic): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (DynamicElementsTraffic): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (DynamicElementsTraffic): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (DynamicElementsTraffic): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (DynamicElementsTraffic): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (DynamicElementsTraffic): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 1 ; + sh:message "subjectVehicleSpeedValue (DynamicElementsTraffic): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (DynamicElementsTraffic): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (DynamicElementsTraffic): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (DynamicElementsTraffic): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 1 ; + sh:message "trafficAgentDensityValue (DynamicElementsTraffic): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (DynamicElementsTraffic): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (DynamicElementsTraffic): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (DynamicElementsTraffic): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 1 ; + sh:message "SubjectVehicleSpeed (DynamicElementsTraffic): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (DynamicElementsTraffic): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (DynamicElementsTraffic): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentType (DynamicElementsTraffic): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (DynamicElementsTraffic): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (DynamicElementsTraffic): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 1 ; + sh:message "TrafficVolume (DynamicElementsTraffic): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (DynamicElementsTraffic): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (DynamicElementsTraffic): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (DynamicElementsTraffic): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (DynamicElementsTraffic): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (DynamicElementsTraffic): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (DynamicElementsTraffic): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (DynamicElementsTraffic): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (DynamicElementsTraffic): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 1 ; + sh:message "trafficFlowRateValue (DynamicElementsTraffic): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (DynamicElementsTraffic): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (DynamicElementsTraffic): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (DynamicElementsTraffic): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (DynamicElementsTraffic): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (DynamicElementsTraffic): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (DynamicElementsTraffic): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (DynamicElementsTraffic): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (DynamicElementsTraffic): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 1 ; + sh:message "TrafficSpecialVehicle (DynamicElementsTraffic): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (DynamicElementsTraffic): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (DynamicElementsTraffic): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 1 ; + sh:message "trafficVolumeValue (DynamicElementsTraffic): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (DynamicElementsTraffic): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (DynamicElementsTraffic): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (DynamicElementsTraffic): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (DynamicElementsTraffic): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (DynamicElementsTraffic): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (DynamicElementsTraffic): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (DynamicElementsTraffic): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (DynamicElementsTraffic): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:message "trafficAgentTypeValue (DynamicElementsTraffic): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (DynamicElementsTraffic): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (DynamicElementsTraffic): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentDensity (DynamicElementsTraffic): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (DynamicElementsTraffic): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 1 ; + sh:message "TrafficFlowRate (DynamicElementsTraffic): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (DynamicElementsTraffic): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (DynamicElementsTraffic): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (DynamicElementsTraffic): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (DynamicElementsTraffic): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (DynamicElementsTraffic): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (DynamicElementsTraffic): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ] ; + sh:targetClass openlabel_v2:DynamicElementsTraffic . + +openlabel_v2:EnvironmentConnectivity a sh:NodeShape ; + rdfs:comment "Connectivity conditions."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (EnvironmentConnectivity): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 1 ; + sh:message "weatherWindValue (EnvironmentConnectivity): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (EnvironmentConnectivity): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherSnow (EnvironmentConnectivity): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (EnvironmentConnectivity): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (EnvironmentConnectivity): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesWater (EnvironmentConnectivity): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (EnvironmentConnectivity): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 1 ; + sh:message "WeatherWind (EnvironmentConnectivity): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 1 ; + sh:message "weatherSnowValue (EnvironmentConnectivity): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (EnvironmentConnectivity): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (EnvironmentConnectivity): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 1 ; + sh:message "particulatesWaterValue (EnvironmentConnectivity): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 1 ; + sh:message "illuminationCloudinessValue (EnvironmentConnectivity): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (EnvironmentConnectivity): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesPollution (EnvironmentConnectivity): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 1 ; + sh:message "IlluminationLowLight (EnvironmentConnectivity): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 1 ; + sh:message "ConnectivityPositioning (EnvironmentConnectivity): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (EnvironmentConnectivity): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (EnvironmentConnectivity): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (EnvironmentConnectivity): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 1 ; + sh:message "EnvironmentParticulates (EnvironmentConnectivity): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (EnvironmentConnectivity): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (EnvironmentConnectivity): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 1 ; + sh:message "IlluminationArtificial (EnvironmentConnectivity): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherRain (EnvironmentConnectivity): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (EnvironmentConnectivity): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 1 ; + sh:message "weatherRainValue (EnvironmentConnectivity): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (EnvironmentConnectivity): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (EnvironmentConnectivity): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (EnvironmentConnectivity): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (EnvironmentConnectivity): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesMarine (EnvironmentConnectivity): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (EnvironmentConnectivity): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 1 ; + sh:message "IlluminationCloudiness (EnvironmentConnectivity): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (EnvironmentConnectivity): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (EnvironmentConnectivity): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (EnvironmentConnectivity): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (EnvironmentConnectivity): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 1 ; + sh:message "RainType (EnvironmentConnectivity): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 1 ; + sh:message "daySunElevationValue (EnvironmentConnectivity): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (EnvironmentConnectivity): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 1 ; + sh:message "ConnectivityCommunication (EnvironmentConnectivity): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (EnvironmentConnectivity): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesVolcanic (EnvironmentConnectivity): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (EnvironmentConnectivity): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 1 ; + sh:message "DaySunElevation (EnvironmentConnectivity): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (EnvironmentConnectivity): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesDust (EnvironmentConnectivity): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (EnvironmentConnectivity): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (EnvironmentConnectivity): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 1 ; + sh:message "DaySunPosition (EnvironmentConnectivity): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (EnvironmentConnectivity): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (EnvironmentConnectivity): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (EnvironmentConnectivity): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (EnvironmentConnectivity): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (EnvironmentConnectivity): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (EnvironmentConnectivity): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (EnvironmentConnectivity): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (EnvironmentConnectivity): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (EnvironmentConnectivity): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (EnvironmentConnectivity): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (EnvironmentConnectivity): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (EnvironmentConnectivity): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ] ; + sh:targetClass openlabel_v2:EnvironmentConnectivity . + +openlabel_v2:EnvironmentIllumination a sh:NodeShape ; + rdfs:comment "Illumination conditions."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (EnvironmentIllumination): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (EnvironmentIllumination): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (EnvironmentIllumination): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 1 ; + sh:message "IlluminationCloudiness (EnvironmentIllumination): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 1 ; + sh:message "EnvironmentParticulates (EnvironmentIllumination): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 1 ; + sh:message "daySunElevationValue (EnvironmentIllumination): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (EnvironmentIllumination): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (EnvironmentIllumination): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (EnvironmentIllumination): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (EnvironmentIllumination): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 1 ; + sh:message "WeatherWind (EnvironmentIllumination): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 1 ; + sh:message "weatherSnowValue (EnvironmentIllumination): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (EnvironmentIllumination): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (EnvironmentIllumination): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesVolcanic (EnvironmentIllumination): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (EnvironmentIllumination): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (EnvironmentIllumination): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (EnvironmentIllumination): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (EnvironmentIllumination): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (EnvironmentIllumination): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (EnvironmentIllumination): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 1 ; + sh:message "DaySunPosition (EnvironmentIllumination): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (EnvironmentIllumination): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesPollution (EnvironmentIllumination): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 1 ; + sh:message "particulatesWaterValue (EnvironmentIllumination): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherRain (EnvironmentIllumination): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (EnvironmentIllumination): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (EnvironmentIllumination): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (EnvironmentIllumination): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (EnvironmentIllumination): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 1 ; + sh:message "illuminationCloudinessValue (EnvironmentIllumination): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (EnvironmentIllumination): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (EnvironmentIllumination): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (EnvironmentIllumination): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 1 ; + sh:message "weatherRainValue (EnvironmentIllumination): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (EnvironmentIllumination): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (EnvironmentIllumination): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (EnvironmentIllumination): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesWater (EnvironmentIllumination): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 1 ; + sh:message "IlluminationLowLight (EnvironmentIllumination): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (EnvironmentIllumination): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (EnvironmentIllumination): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 1 ; + sh:message "IlluminationArtificial (EnvironmentIllumination): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (EnvironmentIllumination): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (EnvironmentIllumination): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesDust (EnvironmentIllumination): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 1 ; + sh:message "weatherWindValue (EnvironmentIllumination): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 1 ; + sh:message "DaySunElevation (EnvironmentIllumination): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (EnvironmentIllumination): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (EnvironmentIllumination): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (EnvironmentIllumination): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 1 ; + sh:message "ConnectivityPositioning (EnvironmentIllumination): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (EnvironmentIllumination): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (EnvironmentIllumination): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (EnvironmentIllumination): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (EnvironmentIllumination): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 1 ; + sh:message "RainType (EnvironmentIllumination): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherSnow (EnvironmentIllumination): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesMarine (EnvironmentIllumination): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (EnvironmentIllumination): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (EnvironmentIllumination): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (EnvironmentIllumination): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (EnvironmentIllumination): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 1 ; + sh:message "ConnectivityCommunication (EnvironmentIllumination): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ] ; + sh:targetClass openlabel_v2:EnvironmentIllumination . + +openlabel_v2:EnvironmentWeather a sh:NodeShape ; + rdfs:comment "Weather conditions."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (EnvironmentWeather): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 1 ; + sh:message "ConnectivityCommunication (EnvironmentWeather): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (EnvironmentWeather): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesMarine (EnvironmentWeather): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherRain (EnvironmentWeather): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (EnvironmentWeather): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 1 ; + sh:message "IlluminationArtificial (EnvironmentWeather): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 1 ; + sh:message "RainType (EnvironmentWeather): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (EnvironmentWeather): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (EnvironmentWeather): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (EnvironmentWeather): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (EnvironmentWeather): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (EnvironmentWeather): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (EnvironmentWeather): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesVolcanic (EnvironmentWeather): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (EnvironmentWeather): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (EnvironmentWeather): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (EnvironmentWeather): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (EnvironmentWeather): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesWater (EnvironmentWeather): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 1 ; + sh:message "ConnectivityPositioning (EnvironmentWeather): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (EnvironmentWeather): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 1 ; + sh:message "WeatherWind (EnvironmentWeather): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (EnvironmentWeather): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 1 ; + sh:message "weatherWindValue (EnvironmentWeather): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherSnow (EnvironmentWeather): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (EnvironmentWeather): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 1 ; + sh:message "IlluminationCloudiness (EnvironmentWeather): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (EnvironmentWeather): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (EnvironmentWeather): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (EnvironmentWeather): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (EnvironmentWeather): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 1 ; + sh:message "daySunElevationValue (EnvironmentWeather): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (EnvironmentWeather): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (EnvironmentWeather): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (EnvironmentWeather): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 1 ; + sh:message "weatherSnowValue (EnvironmentWeather): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (EnvironmentWeather): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (EnvironmentWeather): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (EnvironmentWeather): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 1 ; + sh:message "DaySunPosition (EnvironmentWeather): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (EnvironmentWeather): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (EnvironmentWeather): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (EnvironmentWeather): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (EnvironmentWeather): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (EnvironmentWeather): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (EnvironmentWeather): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 1 ; + sh:message "particulatesWaterValue (EnvironmentWeather): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 1 ; + sh:message "weatherRainValue (EnvironmentWeather): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (EnvironmentWeather): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (EnvironmentWeather): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (EnvironmentWeather): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (EnvironmentWeather): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (EnvironmentWeather): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (EnvironmentWeather): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (EnvironmentWeather): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 1 ; + sh:message "IlluminationLowLight (EnvironmentWeather): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 1 ; + sh:message "EnvironmentParticulates (EnvironmentWeather): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (EnvironmentWeather): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 1 ; + sh:message "DaySunElevation (EnvironmentWeather): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 1 ; + sh:message "illuminationCloudinessValue (EnvironmentWeather): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (EnvironmentWeather): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesDust (EnvironmentWeather): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesPollution (EnvironmentWeather): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ] ; + sh:targetClass openlabel_v2:EnvironmentWeather . + +openlabel_v2:GeometryHorizontal a sh:NodeShape ; + rdfs:comment "Horizontal plane geometry of the drivable area."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (GeometryHorizontal): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (GeometryHorizontal): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (GeometryHorizontal): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (GeometryHorizontal): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (GeometryHorizontal): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (GeometryHorizontal): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (GeometryHorizontal): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (GeometryHorizontal): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (GeometryHorizontal): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (GeometryHorizontal): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (GeometryHorizontal): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (GeometryHorizontal): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (GeometryHorizontal): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (GeometryHorizontal): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (GeometryHorizontal): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (GeometryHorizontal): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (GeometryHorizontal): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (GeometryHorizontal): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (GeometryHorizontal): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (GeometryHorizontal): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (GeometryHorizontal): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (GeometryHorizontal): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (GeometryHorizontal): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (GeometryHorizontal): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (GeometryHorizontal): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (GeometryHorizontal): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (GeometryHorizontal): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (GeometryHorizontal): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (GeometryHorizontal): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (GeometryHorizontal): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (GeometryHorizontal): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (GeometryHorizontal): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (GeometryHorizontal): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (GeometryHorizontal): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (GeometryHorizontal): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (GeometryHorizontal): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (GeometryHorizontal): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (GeometryHorizontal): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (GeometryHorizontal): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (GeometryHorizontal): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (GeometryHorizontal): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (GeometryHorizontal): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (GeometryHorizontal): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (GeometryHorizontal): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (GeometryHorizontal): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (GeometryHorizontal): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (GeometryHorizontal): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (GeometryHorizontal): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (GeometryHorizontal): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (GeometryHorizontal): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (GeometryHorizontal): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (GeometryHorizontal): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (GeometryHorizontal): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (GeometryHorizontal): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (GeometryHorizontal): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (GeometryHorizontal): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (GeometryHorizontal): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (GeometryHorizontal): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (GeometryHorizontal): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (GeometryHorizontal): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (GeometryHorizontal): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (GeometryHorizontal): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (GeometryHorizontal): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (GeometryHorizontal): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ] ; + sh:targetClass openlabel_v2:GeometryHorizontal . + +openlabel_v2:GeometryLongitudinal a sh:NodeShape ; + rdfs:comment "Longitudinal plane geometry of the drivable area."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (GeometryLongitudinal): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (GeometryLongitudinal): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (GeometryLongitudinal): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalLevelPlane (GeometryLongitudinal): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (GeometryLongitudinal): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (GeometryLongitudinal): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (GeometryLongitudinal): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (GeometryLongitudinal): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (GeometryLongitudinal): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (GeometryLongitudinal): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalUpSlopeValue (GeometryLongitudinal): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (GeometryLongitudinal): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (GeometryLongitudinal): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (GeometryLongitudinal): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (GeometryLongitudinal): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (GeometryLongitudinal): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (GeometryLongitudinal): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (GeometryLongitudinal): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (GeometryLongitudinal): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (GeometryLongitudinal): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (GeometryLongitudinal): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (GeometryLongitudinal): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (GeometryLongitudinal): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (GeometryLongitudinal): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (GeometryLongitudinal): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (GeometryLongitudinal): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (GeometryLongitudinal): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (GeometryLongitudinal): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (GeometryLongitudinal): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (GeometryLongitudinal): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (GeometryLongitudinal): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (GeometryLongitudinal): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationDimensionsValue (GeometryLongitudinal): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (GeometryLongitudinal): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (GeometryLongitudinal): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (GeometryLongitudinal): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (GeometryLongitudinal): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (GeometryLongitudinal): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (GeometryLongitudinal): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (GeometryLongitudinal): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (GeometryLongitudinal): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (GeometryLongitudinal): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (GeometryLongitudinal): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (GeometryLongitudinal): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (GeometryLongitudinal): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (GeometryLongitudinal): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (GeometryLongitudinal): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (GeometryLongitudinal): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (GeometryLongitudinal): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (GeometryLongitudinal): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (GeometryLongitudinal): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (GeometryLongitudinal): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (GeometryLongitudinal): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (GeometryLongitudinal): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (GeometryLongitudinal): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (GeometryLongitudinal): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (GeometryLongitudinal): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (GeometryLongitudinal): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (GeometryLongitudinal): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (GeometryLongitudinal): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (GeometryLongitudinal): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (GeometryLongitudinal): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (GeometryLongitudinal): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (GeometryLongitudinal): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ] ; + sh:targetClass openlabel_v2:GeometryLongitudinal . + +openlabel_v2:IlluminationDay a sh:NodeShape ; + rdfs:comment "Daytime illumination."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 1 ; + sh:message "particulatesWaterValue (IlluminationDay): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 1 ; + sh:message "EnvironmentParticulates (IlluminationDay): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 1 ; + sh:message "weatherWindValue (IlluminationDay): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 1 ; + sh:message "weatherSnowValue (IlluminationDay): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 1 ; + sh:message "WeatherWind (IlluminationDay): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (IlluminationDay): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (IlluminationDay): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (IlluminationDay): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 1 ; + sh:message "daySunElevationValue (IlluminationDay): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (IlluminationDay): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (IlluminationDay): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (IlluminationDay): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (IlluminationDay): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (IlluminationDay): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesVolcanic (IlluminationDay): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 1 ; + sh:message "weatherRainValue (IlluminationDay): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (IlluminationDay): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesDust (IlluminationDay): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (IlluminationDay): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 1 ; + sh:message "IlluminationArtificial (IlluminationDay): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesPollution (IlluminationDay): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (IlluminationDay): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 1 ; + sh:message "DaySunPosition (IlluminationDay): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesMarine (IlluminationDay): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (IlluminationDay): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 1 ; + sh:message "IlluminationLowLight (IlluminationDay): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 1 ; + sh:message "RainType (IlluminationDay): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (IlluminationDay): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (IlluminationDay): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (IlluminationDay): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (IlluminationDay): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 1 ; + sh:message "IlluminationCloudiness (IlluminationDay): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (IlluminationDay): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (IlluminationDay): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (IlluminationDay): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (IlluminationDay): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (IlluminationDay): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (IlluminationDay): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (IlluminationDay): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (IlluminationDay): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (IlluminationDay): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesWater (IlluminationDay): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (IlluminationDay): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (IlluminationDay): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 1 ; + sh:message "ConnectivityPositioning (IlluminationDay): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (IlluminationDay): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (IlluminationDay): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (IlluminationDay): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 1 ; + sh:message "illuminationCloudinessValue (IlluminationDay): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (IlluminationDay): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (IlluminationDay): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (IlluminationDay): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (IlluminationDay): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherRain (IlluminationDay): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (IlluminationDay): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (IlluminationDay): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 1 ; + sh:message "ConnectivityCommunication (IlluminationDay): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 1 ; + sh:message "DaySunElevation (IlluminationDay): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (IlluminationDay): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (IlluminationDay): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (IlluminationDay): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (IlluminationDay): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (IlluminationDay): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherSnow (IlluminationDay): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ] ; + sh:targetClass openlabel_v2:IlluminationDay . + +openlabel_v2:OddDynamicElements a sh:NodeShape ; + rdfs:comment "Dynamic elements subset of the operational design domain."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (OddDynamicElements): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (OddDynamicElements): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (OddDynamicElements): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (OddDynamicElements): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (OddDynamicElements): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (OddDynamicElements): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (OddDynamicElements): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (OddDynamicElements): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (OddDynamicElements): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (OddDynamicElements): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 0 ; + sh:message "IlluminationArtificial (OddDynamicElements): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (OddDynamicElements): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (OddDynamicElements): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (OddDynamicElements): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 0 ; + sh:message "weatherWindValue (OddDynamicElements): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (OddDynamicElements): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (OddDynamicElements): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (OddDynamicElements): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (OddDynamicElements): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (OddDynamicElements): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (OddDynamicElements): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (OddDynamicElements): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 1 ; + sh:message "trafficFlowRateValue (OddDynamicElements): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesWater (OddDynamicElements): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (OddDynamicElements): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 1 ; + sh:message "SubjectVehicleSpeed (OddDynamicElements): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (OddDynamicElements): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 1 ; + sh:message "TrafficFlowRate (OddDynamicElements): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (OddDynamicElements): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (OddDynamicElements): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesPollution (OddDynamicElements): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentType (OddDynamicElements): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 1 ; + sh:message "TrafficAgentDensity (OddDynamicElements): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (OddDynamicElements): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (OddDynamicElements): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (OddDynamicElements): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (OddDynamicElements): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:message "trafficAgentTypeValue (OddDynamicElements): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (OddDynamicElements): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (OddDynamicElements): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (OddDynamicElements): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (OddDynamicElements): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherSnow (OddDynamicElements): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 0 ; + sh:message "DaySunElevation (OddDynamicElements): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (OddDynamicElements): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (OddDynamicElements): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (OddDynamicElements): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 1 ; + sh:message "TrafficVolume (OddDynamicElements): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 0 ; + sh:message "ConnectivityPositioning (OddDynamicElements): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 1 ; + sh:message "TrafficSpecialVehicle (OddDynamicElements): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 1 ; + sh:message "subjectVehicleSpeedValue (OddDynamicElements): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (OddDynamicElements): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (OddDynamicElements): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 1 ; + sh:message "trafficAgentDensityValue (OddDynamicElements): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 1 ; + sh:message "trafficVolumeValue (OddDynamicElements): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (OddDynamicElements): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (OddDynamicElements): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (OddDynamicElements): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (OddDynamicElements): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (OddDynamicElements): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (OddDynamicElements): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (OddDynamicElements): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (OddDynamicElements): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (OddDynamicElements): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ] ; + sh:targetClass openlabel_v2:OddDynamicElements . + +openlabel_v2:OddEnvironment a sh:NodeShape ; + rdfs:comment "Environment-related subset of the operational design domain."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceType (OddEnvironment): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesWater (OddEnvironment): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceFeature (OddEnvironment): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 1 ; + sh:message "illuminationCloudinessValue (OddEnvironment): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (OddEnvironment): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalDownSlopeValue (OddEnvironment): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 0 ; + sh:message "GeometryTransverse (OddEnvironment): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 0 ; + sh:message "SceneryTemporaryStructure (OddEnvironment): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationType (OddEnvironment): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationLaneCountValue (OddEnvironment): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsInformation (OddEnvironment): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationDimensions (OddEnvironment): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 1 ; + sh:message "IlluminationCloudiness (OddEnvironment): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsRegulatory (OddEnvironment): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 0 ; + sh:message "JunctionIntersection (OddEnvironment): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; + sh:maxCount 0 ; + sh:message "TrafficVolume (OddEnvironment): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalUpSlope (OddEnvironment): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (OddEnvironment): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (OddEnvironment): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 0 ; + sh:message "ScenerySpecialStructure (OddEnvironment): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic agent density."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentDensity (OddEnvironment): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalLevelPlane (OddEnvironment): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; + sh:maxCount 0 ; + sh:message "TrafficFlowRate (OddEnvironment): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:maxCount 1 ; + sh:message "weatherRainValue (OddEnvironment): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 0 ; + sh:message "SceneryFixedStructure (OddEnvironment): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (OddEnvironment): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 1 ; + sh:message "ConnectivityCommunication (OddEnvironment): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesPollution (OddEnvironment): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 0 ; + sh:message "JunctionRoundabout (OddEnvironment): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 1 ; + sh:message "RainType (OddEnvironment): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:description "Lane width in metres."@en ; + sh:maxCount 0 ; + sh:message "laneSpecificationDimensionsValue (OddEnvironment): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 1 ; + sh:message "DaySunPosition (OddEnvironment): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of curved roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalCurves (OddEnvironment): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:maxCount 1 ; + sh:message "DaySunElevation (OddEnvironment): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 1 ; + sh:message "EnvironmentParticulates (OddEnvironment): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (OddEnvironment): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesMarine (OddEnvironment): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; + sh:maxCount 0 ; + sh:message "longitudinalUpSlopeValue (OddEnvironment): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 1 ; + sh:message "IlluminationLowLight (OddEnvironment): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 1 ; + sh:message "WeatherWind (OddEnvironment): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesDust (OddEnvironment): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationMarking (OddEnvironment): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaSurfaceCondition (OddEnvironment): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 0 ; + sh:message "LongitudinalDownSlope (OddEnvironment): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 0 ; + sh:message "LaneSpecificationLaneCount (OddEnvironment): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherRain (OddEnvironment): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; + sh:maxCount 1 ; + sh:message "weatherWindValue (OddEnvironment): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 0 ; + sh:message "HorizontalStraights (OddEnvironment): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (OddEnvironment): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:maxCount 1 ; + sh:message "ConnectivityPositioning (OddEnvironment): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 0 ; + sh:message "horizontalCurvesValue (OddEnvironment): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (OddEnvironment): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + sh:maxCount 1 ; + sh:message "IlluminationArtificial (OddEnvironment): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaType (OddEnvironment): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 1 ; + sh:message "daySunElevationValue (OddEnvironment): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 0 ; + sh:message "SceneryZone (OddEnvironment): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:maxCount 0 ; + sh:message "DrivableAreaEdge (OddEnvironment): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (OddEnvironment): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 0 ; + sh:message "SignsWarning (OddEnvironment): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], [ sh:datatype xsd:boolean ; - sh:description "Presence of cloudiness."@en ; - sh:maxCount 0 ; - sh:message "IlluminationCloudiness (OddDynamicElements): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 1 ; + sh:message "ParticulatesVolcanic (OddEnvironment): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 16 ; - sh:path openlabel_v2:IlluminationCloudiness ], - [ sh:description "Type of rainfall."@en ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; + sh:maxCount 1 ; + sh:message "WeatherSnow (OddEnvironment): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 1 ; + sh:message "weatherSnowValue (OddEnvironment): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 1 ; + sh:message "particulatesWaterValue (OddEnvironment): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 0 ; + sh:message "LaneSpecificationTravelDirection (OddEnvironment): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ] ; + sh:targetClass openlabel_v2:OddEnvironment . + +openlabel_v2:OddScenery a sh:NodeShape ; + rdfs:comment "Scenery-related subset of the operational design domain."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of rainfall."@en ; sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; sh:maxCount 0 ; - sh:message "RainType (OddDynamicElements): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:message "RainType (OddScenery): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; sh:order 39 ; sh:path openlabel_v2:RainType ], - [ sh:description "Type of low-light condition."@en ; - sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; - sh:maxCount 0 ; - sh:message "IlluminationLowLight (OddDynamicElements): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; - sh:order 18 ; - sh:path openlabel_v2:IlluminationLowLight ], [ sh:datatype xsd:boolean ; - sh:description "Presence of wind."@en ; + sh:description "Presence of volcanic ash particulates."@en ; sh:maxCount 0 ; - sh:message "WeatherWind (OddDynamicElements): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:message "ParticulatesVolcanic (OddScenery): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 62 ; - sh:path openlabel_v2:WeatherWind ], - [ sh:datatype xsd:decimal ; - sh:description "Cloud cover in okta."@en ; + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; sh:maxCount 0 ; - sh:message "illuminationCloudinessValue (OddDynamicElements): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:message "trafficAgentDensityValue (OddScenery): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 17 ; - sh:path openlabel_v2:illuminationCloudinessValue ], + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; + sh:maxCount 1 ; + sh:message "SceneryTemporaryStructure (OddScenery): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], [ sh:datatype xsd:boolean ; - sh:description "Presence of rainfall."@en ; + sh:description "Presence of a specified traffic volume."@en ; sh:maxCount 0 ; - sh:message "WeatherRain (OddDynamicElements): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:message "TrafficVolume (OddScenery): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 58 ; - sh:path openlabel_v2:WeatherRain ], - [ sh:description "Type of drivable area surface condition."@en ; - sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceCondition (OddDynamicElements): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; - sh:order 6 ; - sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], [ sh:datatype xsd:boolean ; - sh:description "Presence of an uphill gradient."@en ; + sh:description "Presence of a specified traffic agent density."@en ; sh:maxCount 0 ; - sh:message "LongitudinalUpSlope (OddDynamicElements): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:message "TrafficAgentDensity (OddScenery): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 31 ; - sh:path openlabel_v2:LongitudinalUpSlope ], - [ sh:datatype xsd:decimal ; - sh:description "Upward gradient as a percentage."@en ; + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of snowfall."@en ; sh:maxCount 0 ; - sh:message "longitudinalUpSlopeValue (OddDynamicElements): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:message "WeatherSnow (OddScenery): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; sh:nodeKind sh:Literal ; - sh:order 32 ; - sh:path openlabel_v2:longitudinalUpSlopeValue ], + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], [ sh:description "Type of artificial illumination."@en ; sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; sh:maxCount 0 ; - sh:message "IlluminationArtificial (OddDynamicElements): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:message "IlluminationArtificial (OddScenery): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; sh:order 15 ; sh:path openlabel_v2:IlluminationArtificial ], - [ sh:description "Type of special structure present in the scenery."@en ; - sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; - sh:maxCount 0 ; - sh:message "ScenerySpecialStructure (OddDynamicElements): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; - sh:order 41 ; - sh:path openlabel_v2:ScenerySpecialStructure ], - [ sh:description "Number of lanes."@en ; - sh:maxCount 0 ; - sh:message "laneSpecificationLaneCountValue (OddDynamicElements): Number of lanes. ISO 34503:2023, 9.3.4"@en ; - sh:or ( [ sh:datatype xsd:integer ; - sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 24 ; - sh:path openlabel_v2:laneSpecificationLaneCountValue ], - [ sh:description "Type of information sign."@en ; - sh:in ( openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; - sh:maxCount 0 ; - sh:message "SignsInformation (OddDynamicElements): Type of information sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 44 ; - sh:path openlabel_v2:SignsInformation ], - [ sh:datatype xsd:decimal ; - sh:description "Wind speed in metres per second."@en ; - sh:maxCount 0 ; - sh:message "weatherWindValue (OddDynamicElements): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 63 ; - sh:path openlabel_v2:weatherWindValue ], - [ sh:description "Type of regulatory sign."@en ; - sh:in ( openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; - sh:maxCount 0 ; - sh:message "SignsRegulatory (OddDynamicElements): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 45 ; - sh:path openlabel_v2:SignsRegulatory ], - [ sh:description "Position of the sun relative to the direction of travel."@en ; - sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; - sh:maxCount 0 ; - sh:message "DaySunPosition (OddDynamicElements): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; - sh:order 4 ; - sh:path openlabel_v2:DaySunPosition ], - [ sh:description "Type of particulates present in the environment."@en ; - sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; - sh:maxCount 0 ; - sh:message "EnvironmentParticulates (OddDynamicElements): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; - sh:order 10 ; - sh:path openlabel_v2:EnvironmentParticulates ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of curved roadway geometry."@en ; - sh:maxCount 0 ; - sh:message "HorizontalCurves (OddDynamicElements): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 12 ; - sh:path openlabel_v2:HorizontalCurves ], [ sh:datatype xsd:decimal ; sh:description "Rainfall intensity in millimetres per hour."@en ; sh:maxCount 0 ; - sh:message "weatherRainValue (OddDynamicElements): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:message "weatherRainValue (OddScenery): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; sh:nodeKind sh:Literal ; sh:order 59 ; sh:path openlabel_v2:weatherRainValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of marine spray in coastal areas."@en ; - sh:maxCount 0 ; - sh:message "ParticulatesMarine (OddDynamicElements): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 34 ; - sh:path openlabel_v2:ParticulatesMarine ], - [ sh:datatype xsd:decimal ; - sh:description "Meteorological optical range in metres."@en ; + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; sh:maxCount 0 ; - sh:message "particulatesWaterValue (OddDynamicElements): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 38 ; - sh:path openlabel_v2:particulatesWaterValue ], + sh:message "ConnectivityCommunication (OddScenery): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], [ sh:datatype xsd:integer ; - sh:description "Traffic flow rate in vehicles per hour."@en ; - sh:maxCount 1 ; - sh:message "trafficFlowRateValue (OddDynamicElements): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (OddScenery): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 54 ; - sh:path openlabel_v2:trafficFlowRateValue ], + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:description "Presence of smoke or pollution particulates."@en ; sh:maxCount 0 ; - sh:message "ParticulatesWater (OddDynamicElements): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:message "ParticulatesPollution (OddScenery): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 37 ; - sh:path openlabel_v2:ParticulatesWater ], + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], [ sh:datatype xsd:boolean ; - sh:description "Presence of volcanic ash particulates."@en ; + sh:description "Presence of sand or dust particulates."@en ; sh:maxCount 0 ; - sh:message "ParticulatesVolcanic (OddDynamicElements): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:message "ParticulatesDust (OddScenery): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 36 ; - sh:path openlabel_v2:ParticulatesVolcanic ], + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (OddScenery): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified subject vehicle speed."@en ; + sh:description "Presence of curved roadway geometry."@en ; sh:maxCount 1 ; - sh:message "SubjectVehicleSpeed (OddDynamicElements): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:message "HorizontalCurves (OddScenery): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 47 ; - sh:path openlabel_v2:SubjectVehicleSpeed ], + sh:order 12 ; + sh:path openlabel_v2:HorizontalCurves ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (OddScenery): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationDimensions (OddScenery): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (OddScenery): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (OddScenery): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], [ sh:description "Type of drivable area surface."@en ; sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (OddScenery): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (OddScenery): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (OddScenery): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceType (OddDynamicElements): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; - sh:order 8 ; - sh:path openlabel_v2:DrivableAreaSurfaceType ], + sh:message "ConnectivityPositioning (OddScenery): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic flow rate."@en ; - sh:maxCount 1 ; - sh:message "TrafficFlowRate (OddDynamicElements): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:description "Presence of a specified traffic agent type."@en ; + sh:maxCount 0 ; + sh:message "TrafficAgentType (OddScenery): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 53 ; - sh:path openlabel_v2:TrafficFlowRate ], + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], [ sh:description "Type of drivable area surface feature."@en ; sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceFeature (OddDynamicElements): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (OddScenery): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; sh:order 7 ; sh:path openlabel_v2:DrivableAreaSurfaceFeature ], [ sh:datatype xsd:boolean ; - sh:description "Presence of smoke or pollution particulates."@en ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; sh:maxCount 0 ; - sh:message "ParticulatesPollution (OddDynamicElements): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:message "DaySunElevation (OddScenery): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; sh:nodeKind sh:Literal ; - sh:order 35 ; - sh:path openlabel_v2:ParticulatesPollution ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic agent type."@en ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; sh:maxCount 1 ; - sh:message "TrafficAgentType (OddDynamicElements): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:message "JunctionIntersection (OddScenery): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; + sh:maxCount 0 ; + sh:message "illuminationCloudinessValue (OddScenery): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; sh:nodeKind sh:Literal ; - sh:order 51 ; - sh:path openlabel_v2:TrafficAgentType ], + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (OddScenery): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic agent density."@en ; + sh:description "Presence of special vehicles."@en ; + sh:maxCount 0 ; + sh:message "TrafficSpecialVehicle (OddScenery): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; sh:maxCount 1 ; - sh:message "TrafficAgentDensity (OddDynamicElements): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:message "LongitudinalLevelPlane (OddScenery): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 49 ; - sh:path openlabel_v2:TrafficAgentDensity ], - [ sh:description "Type of basic road structure present in the scenery."@en ; - sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; - sh:maxCount 0 ; - sh:message "SceneryFixedStructure (OddDynamicElements): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; - sh:order 40 ; - sh:path openlabel_v2:SceneryFixedStructure ], + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], [ sh:datatype xsd:decimal ; - sh:description "Downward gradient as a percentage."@en ; + sh:description "Wind speed in metres per second."@en ; sh:maxCount 0 ; - sh:message "longitudinalDownSlopeValue (OddDynamicElements): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:message "weatherWindValue (OddScenery): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; sh:nodeKind sh:Literal ; - sh:order 29 ; - sh:path openlabel_v2:longitudinalDownSlopeValue ], - [ sh:description "Lane width in metres."@en ; - sh:maxCount 0 ; - sh:message "laneSpecificationDimensionsValue (OddDynamicElements): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; - sh:or ( [ sh:datatype xsd:decimal ; - sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 22 ; - sh:path openlabel_v2:laneSpecificationDimensionsValue ], - [ sh:description "Type of roundabout."@en ; - sh:in ( openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; - sh:maxCount 0 ; - sh:message "JunctionRoundabout (OddDynamicElements): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; - sh:order 20 ; - sh:path openlabel_v2:JunctionRoundabout ], + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified lane count."@en ; + sh:description "Presence of wind."@en ; sh:maxCount 0 ; - sh:message "LaneSpecificationLaneCount (OddDynamicElements): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:message "WeatherWind (OddScenery): Presence of wind. ISO 34503:2023, 10.2.3"@en ; sh:nodeKind sh:Literal ; - sh:order 23 ; - sh:path openlabel_v2:LaneSpecificationLaneCount ], + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:maxCount 0 ; + sh:message "DaySunPosition (OddScenery): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], [ sh:description "Type of transverse geometry."@en ; sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; - sh:maxCount 0 ; - sh:message "GeometryTransverse (OddDynamicElements): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (OddScenery): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; sh:order 11 ; sh:path openlabel_v2:GeometryTransverse ], - [ sh:description "Type of zone."@en ; - sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; - sh:maxCount 0 ; - sh:message "SceneryZone (OddDynamicElements): Type of zone. ISO 34503:2023, 9.2"@en ; - sh:order 43 ; - sh:path openlabel_v2:SceneryZone ], - [ sh:description "Type of lane."@en ; - sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; - sh:maxCount 0 ; - sh:message "LaneSpecificationType (OddDynamicElements): Type of lane. ISO 34503:2023, 9.3.4"@en ; - sh:order 27 ; - sh:path openlabel_v2:LaneSpecificationType ], - [ sh:description "Type of drivable area edge."@en ; - sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaEdge (OddDynamicElements): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; - sh:order 5 ; - sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (OddScenery): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (OddScenery): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of snowfall."@en ; + sh:description "Presence of rainfall."@en ; sh:maxCount 0 ; - sh:message "WeatherSnow (OddDynamicElements): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:message "WeatherRain (OddScenery): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; sh:nodeKind sh:Literal ; - sh:order 60 ; - sh:path openlabel_v2:WeatherSnow ], + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified sun elevation above the horizon."@en ; - sh:maxCount 0 ; - sh:message "DaySunElevation (OddDynamicElements): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (OddScenery): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path openlabel_v2:DaySunElevation ], - [ sh:description "Direction of travel."@en ; - sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; - sh:maxCount 0 ; - sh:message "LaneSpecificationTravelDirection (OddDynamicElements): Direction of travel. ISO 34503:2023, 9.3.4"@en ; - sh:order 26 ; - sh:path openlabel_v2:LaneSpecificationTravelDirection ], + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], [ sh:datatype xsd:boolean ; - sh:description "Presence of sand or dust particulates."@en ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; sh:maxCount 0 ; - sh:message "ParticulatesDust (OddDynamicElements): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:message "ParticulatesWater (OddScenery): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 33 ; - sh:path openlabel_v2:ParticulatesDust ], + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic volume."@en ; - sh:maxCount 1 ; - sh:message "TrafficVolume (OddDynamicElements): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; - sh:nodeKind sh:Literal ; - sh:order 56 ; - sh:path openlabel_v2:TrafficVolume ], - [ sh:description "Type of positioning system."@en ; - sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:description "Presence of a specified traffic flow rate."@en ; sh:maxCount 0 ; - sh:message "ConnectivityPositioning (OddDynamicElements): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; - sh:order 1 ; - sh:path openlabel_v2:ConnectivityPositioning ], + sh:message "TrafficFlowRate (OddScenery): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], [ sh:datatype xsd:boolean ; - sh:description "Presence of special vehicles."@en ; + sh:description "Presence of straight roadway geometry."@en ; sh:maxCount 1 ; - sh:message "TrafficSpecialVehicle (OddDynamicElements): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:message "HorizontalStraights (OddScenery): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 55 ; - sh:path openlabel_v2:TrafficSpecialVehicle ], - [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Lane width in metres."@en ; sh:maxCount 1 ; - sh:message "subjectVehicleSpeedValue (OddDynamicElements): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; - sh:or ( [ sh:datatype xsd:integer ; + sh:message "laneSpecificationDimensionsValue (OddScenery): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 48 ; - sh:path openlabel_v2:subjectVehicleSpeedValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of lane markings."@en ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (OddScenery): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (OddScenery): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; sh:maxCount 0 ; - sh:message "LaneSpecificationMarking (OddDynamicElements): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:message "weatherSnowValue (OddScenery): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; sh:nodeKind sh:Literal ; - sh:order 25 ; - sh:path openlabel_v2:LaneSpecificationMarking ], - [ sh:datatype xsd:decimal ; - sh:description "Sun elevation in degrees."@en ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of marine spray in coastal areas."@en ; sh:maxCount 0 ; - sh:message "daySunElevationValue (OddDynamicElements): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:message "ParticulatesMarine (OddScenery): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path openlabel_v2:daySunElevationValue ], - [ sh:description "Types of traffic agents present."@en ; - sh:message "trafficAgentTypeValue (OddDynamicElements): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; - sh:or ( [ sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ] [ sh:in ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ] ) ; - sh:order 52 ; - sh:path openlabel_v2:trafficAgentTypeValue ], - [ sh:datatype xsd:integer ; - sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified lane count."@en ; sh:maxCount 1 ; - sh:message "trafficAgentDensityValue (OddDynamicElements): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; + sh:message "LaneSpecificationLaneCount (OddScenery): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 50 ; - sh:path openlabel_v2:trafficAgentDensityValue ], - [ sh:datatype xsd:integer ; - sh:description "Traffic volume in vehicle kilometres."@en ; + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; sh:maxCount 1 ; - sh:message "trafficVolumeValue (OddDynamicElements): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; + sh:message "LongitudinalUpSlope (OddScenery): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 57 ; - sh:path openlabel_v2:trafficVolumeValue ], - [ sh:description "Type of warning sign."@en ; - sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of cloudiness."@en ; sh:maxCount 0 ; - sh:message "SignsWarning (OddDynamicElements): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 46 ; - sh:path openlabel_v2:SignsWarning ], - [ sh:description "Type of communication connectivity."@en ; - sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:message "IlluminationCloudiness (OddScenery): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (OddScenery): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; + sh:maxCount 1 ; + sh:message "LaneSpecificationTravelDirection (OddScenery): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; sh:maxCount 0 ; - sh:message "ConnectivityCommunication (OddDynamicElements): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; - sh:order 0 ; - sh:path openlabel_v2:ConnectivityCommunication ], + sh:message "IlluminationLowLight (OddScenery): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], [ sh:datatype xsd:boolean ; sh:description "Presence of a downhill gradient."@en ; - sh:maxCount 0 ; - sh:message "LongitudinalDownSlope (OddDynamicElements): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (OddScenery): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; sh:order 28 ; sh:path openlabel_v2:LongitudinalDownSlope ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of specified lane dimensions."@en ; - sh:maxCount 0 ; - sh:message "LaneSpecificationDimensions (OddDynamicElements): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; - sh:nodeKind sh:Literal ; - sh:order 21 ; - sh:path openlabel_v2:LaneSpecificationDimensions ], [ sh:description "Type of drivable area."@en ; sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaType (OddDynamicElements): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:maxCount 1 ; + sh:message "DrivableAreaType (OddScenery): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; sh:order 9 ; sh:path openlabel_v2:DrivableAreaType ], - [ sh:description "Type of intersection."@en ; - sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; - sh:maxCount 0 ; - sh:message "JunctionIntersection (OddDynamicElements): Type of intersection. ISO 34503:2023, 9.4.3"@en ; - sh:order 19 ; - sh:path openlabel_v2:JunctionIntersection ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of straight roadway geometry."@en ; - sh:maxCount 0 ; - sh:message "HorizontalStraights (OddDynamicElements): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path openlabel_v2:HorizontalStraights ], [ sh:datatype xsd:decimal ; - sh:description "Curve radius in metres."@en ; - sh:maxCount 0 ; - sh:message "horizontalCurvesValue (OddDynamicElements): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path openlabel_v2:horizontalCurvesValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of a level longitudinal plane."@en ; + sh:description "Meteorological optical range in metres."@en ; sh:maxCount 0 ; - sh:message "LongitudinalLevelPlane (OddDynamicElements): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:message "particulatesWaterValue (OddScenery): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 30 ; - sh:path openlabel_v2:LongitudinalLevelPlane ], + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (OddScenery): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], [ sh:datatype xsd:decimal ; - sh:description "Visibility in kilometres."@en ; + sh:description "Sun elevation in degrees."@en ; sh:maxCount 0 ; - sh:message "weatherSnowValue (OddDynamicElements): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:message "daySunElevationValue (OddScenery): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; sh:nodeKind sh:Literal ; - sh:order 61 ; - sh:path openlabel_v2:weatherSnowValue ] ; - sh:targetClass openlabel_v2:OddDynamicElements . - -openlabel_v2:OddEnvironment a sh:NodeShape ; - rdfs:comment "Environment-related subset of the operational design domain."@en ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of drivable area surface."@en ; - sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceType (OddEnvironment): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; - sh:order 8 ; - sh:path openlabel_v2:DrivableAreaSurfaceType ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; sh:maxCount 1 ; - sh:message "ParticulatesWater (OddEnvironment): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 37 ; - sh:path openlabel_v2:ParticulatesWater ], - [ sh:description "Type of drivable area surface feature."@en ; - sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceFeature (OddEnvironment): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; - sh:order 7 ; - sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + sh:message "SceneryZone (OddScenery): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], [ sh:datatype xsd:decimal ; - sh:description "Cloud cover in okta."@en ; + sh:description "Upward gradient as a percentage."@en ; sh:maxCount 1 ; - sh:message "illuminationCloudinessValue (OddEnvironment): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:message "longitudinalUpSlopeValue (OddScenery): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 17 ; - sh:path openlabel_v2:illuminationCloudinessValue ], + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified subject vehicle speed."@en ; sh:maxCount 0 ; - sh:message "SubjectVehicleSpeed (OddEnvironment): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:message "SubjectVehicleSpeed (OddScenery): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; sh:nodeKind sh:Literal ; sh:order 47 ; sh:path openlabel_v2:SubjectVehicleSpeed ], - [ sh:datatype xsd:decimal ; - sh:description "Downward gradient as a percentage."@en ; - sh:maxCount 0 ; - sh:message "longitudinalDownSlopeValue (OddEnvironment): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 29 ; - sh:path openlabel_v2:longitudinalDownSlopeValue ], - [ sh:description "Type of transverse geometry."@en ; - sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; - sh:maxCount 0 ; - sh:message "GeometryTransverse (OddEnvironment): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; - sh:order 11 ; - sh:path openlabel_v2:GeometryTransverse ], - [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; - sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; - sh:maxCount 0 ; - sh:message "SceneryTemporaryStructure (OddEnvironment): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; - sh:order 42 ; - sh:path openlabel_v2:SceneryTemporaryStructure ], - [ sh:description "Type of lane."@en ; - sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; - sh:maxCount 0 ; - sh:message "LaneSpecificationType (OddEnvironment): Type of lane. ISO 34503:2023, 9.3.4"@en ; - sh:order 27 ; - sh:path openlabel_v2:LaneSpecificationType ], - [ sh:description "Number of lanes."@en ; + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; sh:maxCount 0 ; - sh:message "laneSpecificationLaneCountValue (OddEnvironment): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:message "subjectVehicleSpeedValue (OddScenery): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; sh:or ( [ sh:datatype xsd:integer ; sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 24 ; - sh:path openlabel_v2:laneSpecificationLaneCountValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of specified lane dimensions."@en ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; sh:maxCount 0 ; - sh:message "LaneSpecificationDimensions (OddEnvironment): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:message "trafficFlowRateValue (OddScenery): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 21 ; - sh:path openlabel_v2:LaneSpecificationDimensions ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of cloudiness."@en ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; sh:maxCount 1 ; - sh:message "IlluminationCloudiness (OddEnvironment): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; - sh:nodeKind sh:Literal ; - sh:order 16 ; - sh:path openlabel_v2:IlluminationCloudiness ], - [ sh:description "Type of intersection."@en ; - sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; - sh:maxCount 0 ; - sh:message "JunctionIntersection (OddEnvironment): Type of intersection. ISO 34503:2023, 9.4.3"@en ; - sh:order 19 ; - sh:path openlabel_v2:JunctionIntersection ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic volume."@en ; - sh:maxCount 0 ; - sh:message "TrafficVolume (OddEnvironment): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:message "longitudinalDownSlopeValue (OddScenery): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 56 ; - sh:path openlabel_v2:TrafficVolume ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of an uphill gradient."@en ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ] ; + sh:targetClass openlabel_v2:OddScenery . + +openlabel_v2:Scenario a sh:NodeShape ; + rdfs:comment "A scenario that can be tagged with OpenLABEL tags."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class openlabel_v2:Tag ; + sh:description "A tag associated with a scenario."@en ; + sh:maxCount 1 ; + sh:message "hasTag (Scenario): A tag associated with a scenario."@en ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path openlabel_v2:hasTag ] ; + sh:targetClass openlabel_v2:Scenario . + +openlabel_v2:SceneryDrivableArea a sh:NodeShape ; + rdfs:comment "Drivable area of the scenery."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of volcanic ash particulates."@en ; sh:maxCount 0 ; - sh:message "LongitudinalUpSlope (OddEnvironment): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:message "ParticulatesVolcanic (SceneryDrivableArea): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 31 ; - sh:path openlabel_v2:LongitudinalUpSlope ], + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic agent type."@en ; - sh:maxCount 0 ; - sh:message "TrafficAgentType (OddEnvironment): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; - sh:nodeKind sh:Literal ; - sh:order 51 ; - sh:path openlabel_v2:TrafficAgentType ], - [ sh:datatype xsd:integer ; - sh:description "Traffic volume in vehicle kilometres."@en ; - sh:maxCount 0 ; - sh:message "trafficVolumeValue (OddEnvironment): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; + sh:description "Presence of a specified lane count."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationLaneCount (SceneryDrivableArea): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 57 ; - sh:path openlabel_v2:trafficVolumeValue ], - [ sh:description "Type of special structure present in the scenery."@en ; - sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; - sh:maxCount 0 ; - sh:message "ScenerySpecialStructure (OddEnvironment): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; - sh:order 41 ; - sh:path openlabel_v2:ScenerySpecialStructure ], + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:maxCount 0 ; + sh:message "ConnectivityCommunication (SceneryDrivableArea): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic agent density."@en ; sh:maxCount 0 ; - sh:message "TrafficAgentDensity (OddEnvironment): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; + sh:message "TrafficAgentDensity (SceneryDrivableArea): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; sh:order 49 ; sh:path openlabel_v2:TrafficAgentDensity ], - [ sh:description "Type of warning sign."@en ; - sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; + sh:maxCount 1 ; + sh:message "longitudinalDownSlopeValue (SceneryDrivableArea): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; sh:maxCount 0 ; - sh:message "SignsWarning (OddEnvironment): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 46 ; - sh:path openlabel_v2:SignsWarning ], + sh:message "DaySunPosition (SceneryDrivableArea): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a level longitudinal plane."@en ; + sh:description "Presence of a specified traffic agent type."@en ; sh:maxCount 0 ; - sh:message "LongitudinalLevelPlane (OddEnvironment): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; + sh:message "TrafficAgentType (SceneryDrivableArea): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 30 ; - sh:path openlabel_v2:LongitudinalLevelPlane ], + sh:order 51 ; + sh:path openlabel_v2:TrafficAgentType ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic flow rate."@en ; + sh:description "Presence of snowfall."@en ; sh:maxCount 0 ; - sh:message "TrafficFlowRate (OddEnvironment): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:message "WeatherSnow (SceneryDrivableArea): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; sh:nodeKind sh:Literal ; - sh:order 53 ; - sh:path openlabel_v2:TrafficFlowRate ], + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (SceneryDrivableArea): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], [ sh:datatype xsd:decimal ; sh:description "Rainfall intensity in millimetres per hour."@en ; - sh:maxCount 1 ; - sh:message "weatherRainValue (OddEnvironment): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:maxCount 0 ; + sh:message "weatherRainValue (SceneryDrivableArea): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; sh:nodeKind sh:Literal ; sh:order 59 ; sh:path openlabel_v2:weatherRainValue ], - [ sh:description "Type of basic road structure present in the scenery."@en ; - sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + [ sh:datatype xsd:decimal ; + sh:description "Wind speed in metres per second."@en ; sh:maxCount 0 ; - sh:message "SceneryFixedStructure (OddEnvironment): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; - sh:order 40 ; - sh:path openlabel_v2:SceneryFixedStructure ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of special vehicles."@en ; + sh:message "weatherWindValue (SceneryDrivableArea): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; sh:maxCount 0 ; - sh:message "TrafficSpecialVehicle (OddEnvironment): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:message "trafficFlowRateValue (SceneryDrivableArea): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 55 ; - sh:path openlabel_v2:TrafficSpecialVehicle ], - [ sh:description "Type of communication connectivity."@en ; - sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; sh:maxCount 1 ; - sh:message "ConnectivityCommunication (OddEnvironment): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; - sh:order 0 ; - sh:path openlabel_v2:ConnectivityCommunication ], + sh:message "SignsInformation (SceneryDrivableArea): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], [ sh:datatype xsd:boolean ; - sh:description "Presence of smoke or pollution particulates."@en ; - sh:maxCount 1 ; - sh:message "ParticulatesPollution (OddEnvironment): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:description "Presence of cloudiness."@en ; + sh:maxCount 0 ; + sh:message "IlluminationCloudiness (SceneryDrivableArea): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; sh:nodeKind sh:Literal ; - sh:order 35 ; - sh:path openlabel_v2:ParticulatesPollution ], + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (SceneryDrivableArea): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:maxCount 0 ; + sh:message "trafficAgentTypeValue (SceneryDrivableArea): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], [ sh:description "Type of rainfall."@en ; sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; - sh:maxCount 1 ; - sh:message "RainType (OddEnvironment): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:maxCount 0 ; + sh:message "RainType (SceneryDrivableArea): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; sh:order 39 ; sh:path openlabel_v2:RainType ], - [ sh:description "Lane width in metres."@en ; - sh:maxCount 0 ; - sh:message "laneSpecificationDimensionsValue (OddEnvironment): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; - sh:or ( [ sh:datatype xsd:decimal ; - sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 22 ; - sh:path openlabel_v2:laneSpecificationDimensionsValue ], - [ sh:description "Position of the sun relative to the direction of travel."@en ; - sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + [ sh:description "Type of drivable area edge."@en ; + sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; + sh:message "DrivableAreaEdge (SceneryDrivableArea): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:order 5 ; + sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:decimal ; + sh:description "Upward gradient as a percentage."@en ; sh:maxCount 1 ; - sh:message "DaySunPosition (OddEnvironment): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; - sh:order 4 ; - sh:path openlabel_v2:DaySunPosition ], + sh:message "longitudinalUpSlopeValue (SceneryDrivableArea): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path openlabel_v2:longitudinalUpSlopeValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of curved roadway geometry."@en ; - sh:maxCount 0 ; - sh:message "HorizontalCurves (OddEnvironment): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:maxCount 1 ; + sh:message "HorizontalCurves (SceneryDrivableArea): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; sh:order 12 ; sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:maxCount 0 ; + sh:message "trafficAgentDensityValue (SceneryDrivableArea): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified sun elevation above the horizon."@en ; + sh:description "Presence of straight roadway geometry."@en ; sh:maxCount 1 ; - sh:message "DaySunElevation (OddEnvironment): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; + sh:message "HorizontalStraights (SceneryDrivableArea): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path openlabel_v2:DaySunElevation ], + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], [ sh:description "Type of particulates present in the environment."@en ; sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; - sh:maxCount 1 ; - sh:message "EnvironmentParticulates (OddEnvironment): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (SceneryDrivableArea): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; sh:order 10 ; sh:path openlabel_v2:EnvironmentParticulates ], - [ sh:datatype xsd:integer ; - sh:description "Traffic flow rate in vehicles per hour."@en ; - sh:maxCount 0 ; - sh:message "trafficFlowRateValue (OddEnvironment): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; - sh:nodeKind sh:Literal ; - sh:order 54 ; - sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (SceneryDrivableArea): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], [ sh:datatype xsd:boolean ; sh:description "Presence of marine spray in coastal areas."@en ; - sh:maxCount 1 ; - sh:message "ParticulatesMarine (OddEnvironment): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (SceneryDrivableArea): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; sh:order 34 ; sh:path openlabel_v2:ParticulatesMarine ], - [ sh:datatype xsd:decimal ; - sh:description "Upward gradient as a percentage."@en ; + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (SceneryDrivableArea): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; sh:maxCount 0 ; - sh:message "longitudinalUpSlopeValue (OddEnvironment): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:message "ParticulatesPollution (SceneryDrivableArea): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 32 ; - sh:path openlabel_v2:longitudinalUpSlopeValue ], + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], [ sh:description "Type of low-light condition."@en ; sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; - sh:maxCount 1 ; - sh:message "IlluminationLowLight (OddEnvironment): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (SceneryDrivableArea): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; sh:order 18 ; sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceFeature (SceneryDrivableArea): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (SceneryDrivableArea): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (SceneryDrivableArea): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of wind."@en ; - sh:maxCount 1 ; - sh:message "WeatherWind (OddEnvironment): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (SceneryDrivableArea): Presence of wind. ISO 34503:2023, 10.2.3"@en ; sh:nodeKind sh:Literal ; sh:order 62 ; sh:path openlabel_v2:WeatherWind ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of sand or dust particulates."@en ; + [ sh:description "Type of drivable area."@en ; + sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; sh:maxCount 1 ; - sh:message "ParticulatesDust (OddEnvironment): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:message "DrivableAreaType (SceneryDrivableArea): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:order 9 ; + sh:path openlabel_v2:DrivableAreaType ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceType (SceneryDrivableArea): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (SceneryDrivableArea): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; sh:nodeKind sh:Literal ; - sh:order 33 ; - sh:path openlabel_v2:ParticulatesDust ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of lane markings."@en ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], + [ sh:datatype xsd:decimal ; + sh:description "Cloud cover in okta."@en ; sh:maxCount 0 ; - sh:message "LaneSpecificationMarking (OddEnvironment): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:message "illuminationCloudinessValue (SceneryDrivableArea): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; sh:nodeKind sh:Literal ; - sh:order 25 ; - sh:path openlabel_v2:LaneSpecificationMarking ], - [ sh:description "Type of drivable area surface condition."@en ; - sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic flow rate."@en ; sh:maxCount 0 ; - sh:message "DrivableAreaSurfaceCondition (OddEnvironment): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; - sh:order 6 ; - sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + sh:message "TrafficFlowRate (SceneryDrivableArea): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path openlabel_v2:TrafficFlowRate ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a downhill gradient."@en ; + sh:description "Presence of a specified subject vehicle speed."@en ; sh:maxCount 0 ; - sh:message "LongitudinalDownSlope (OddEnvironment): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:message "SubjectVehicleSpeed (SceneryDrivableArea): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; sh:nodeKind sh:Literal ; - sh:order 28 ; - sh:path openlabel_v2:LongitudinalDownSlope ], + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified lane count."@en ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; sh:maxCount 0 ; - sh:message "LaneSpecificationLaneCount (OddEnvironment): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:message "DaySunElevation (SceneryDrivableArea): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; sh:nodeKind sh:Literal ; - sh:order 23 ; - sh:path openlabel_v2:LaneSpecificationLaneCount ], + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], [ sh:datatype xsd:boolean ; - sh:description "Presence of rainfall."@en ; + sh:description "Presence of a level longitudinal plane."@en ; sh:maxCount 1 ; - sh:message "WeatherRain (OddEnvironment): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:message "LongitudinalLevelPlane (SceneryDrivableArea): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 58 ; - sh:path openlabel_v2:WeatherRain ], + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], [ sh:datatype xsd:decimal ; - sh:description "Wind speed in metres per second."@en ; - sh:maxCount 1 ; - sh:message "weatherWindValue (OddEnvironment): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (SceneryDrivableArea): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; sh:nodeKind sh:Literal ; - sh:order 63 ; - sh:path openlabel_v2:weatherWindValue ], + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of straight roadway geometry."@en ; + sh:description "Presence of special vehicles."@en ; sh:maxCount 0 ; - sh:message "HorizontalStraights (OddEnvironment): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:message "TrafficSpecialVehicle (SceneryDrivableArea): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path openlabel_v2:HorizontalStraights ], + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (SceneryDrivableArea): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], [ sh:datatype xsd:integer ; - sh:description "Traffic agent density in vehicles per kilometre."@en ; + sh:description "Traffic volume in vehicle kilometres."@en ; sh:maxCount 0 ; - sh:message "trafficAgentDensityValue (OddEnvironment): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:message "trafficVolumeValue (SceneryDrivableArea): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 50 ; - sh:path openlabel_v2:trafficAgentDensityValue ], - [ sh:description "Type of positioning system."@en ; - sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Lane width in metres."@en ; sh:maxCount 1 ; - sh:message "ConnectivityPositioning (OddEnvironment): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; - sh:order 1 ; - sh:path openlabel_v2:ConnectivityPositioning ], + sh:message "laneSpecificationDimensionsValue (SceneryDrivableArea): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], [ sh:datatype xsd:decimal ; sh:description "Curve radius in metres."@en ; - sh:maxCount 0 ; - sh:message "horizontalCurvesValue (OddEnvironment): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (SceneryDrivableArea): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; sh:order 13 ; sh:path openlabel_v2:horizontalCurvesValue ], - [ sh:description "Type of artificial illumination."@en ; - sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; sh:maxCount 1 ; - sh:message "IlluminationArtificial (OddEnvironment): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; - sh:order 15 ; - sh:path openlabel_v2:IlluminationArtificial ], - [ sh:description "Type of information sign."@en ; - sh:in ( openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; - sh:maxCount 0 ; - sh:message "SignsInformation (OddEnvironment): Type of information sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 44 ; - sh:path openlabel_v2:SignsInformation ], - [ sh:description "Type of drivable area."@en ; - sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaType (OddEnvironment): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; - sh:order 9 ; - sh:path openlabel_v2:DrivableAreaType ], - [ sh:description "Types of traffic agents present."@en ; - sh:maxCount 0 ; - sh:message "trafficAgentTypeValue (OddEnvironment): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; - sh:or ( [ sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ] [ sh:in ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ] ) ; - sh:order 52 ; - sh:path openlabel_v2:trafficAgentTypeValue ], - [ sh:datatype xsd:decimal ; - sh:description "Sun elevation in degrees."@en ; + sh:message "SceneryTemporaryStructure (SceneryDrivableArea): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of lane markings."@en ; sh:maxCount 1 ; - sh:message "daySunElevationValue (OddEnvironment): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:message "LaneSpecificationMarking (SceneryDrivableArea): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path openlabel_v2:daySunElevationValue ], + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], [ sh:description "Type of zone."@en ; sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; - sh:maxCount 0 ; - sh:message "SceneryZone (OddEnvironment): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:maxCount 1 ; + sh:message "SceneryZone (SceneryDrivableArea): Type of zone. ISO 34503:2023, 9.2"@en ; sh:order 43 ; sh:path openlabel_v2:SceneryZone ], - [ sh:description "Type of drivable area edge."@en ; - sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; - sh:maxCount 0 ; - sh:message "DrivableAreaEdge (OddEnvironment): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; - sh:order 5 ; - sh:path openlabel_v2:DrivableAreaEdge ], - [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (SceneryDrivableArea): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; sh:maxCount 0 ; - sh:message "subjectVehicleSpeedValue (OddEnvironment): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; - sh:or ( [ sh:datatype xsd:integer ; - sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 48 ; - sh:path openlabel_v2:subjectVehicleSpeedValue ], - [ sh:description "Type of regulatory sign."@en ; - sh:in ( openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:message "ParticulatesWater (SceneryDrivableArea): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path openlabel_v2:ParticulatesWater ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of rainfall."@en ; sh:maxCount 0 ; - sh:message "SignsRegulatory (OddEnvironment): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 45 ; - sh:path openlabel_v2:SignsRegulatory ], + sh:message "WeatherRain (SceneryDrivableArea): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], [ sh:datatype xsd:boolean ; - sh:description "Presence of volcanic ash particulates."@en ; + sh:description "Presence of a downhill gradient."@en ; sh:maxCount 1 ; - sh:message "ParticulatesVolcanic (OddEnvironment): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; + sh:message "LongitudinalDownSlope (SceneryDrivableArea): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 36 ; - sh:path openlabel_v2:ParticulatesVolcanic ], - [ sh:description "Type of roundabout."@en ; - sh:in ( openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; sh:maxCount 0 ; - sh:message "JunctionRoundabout (OddEnvironment): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; - sh:order 20 ; - sh:path openlabel_v2:JunctionRoundabout ], + sh:message "ConnectivityPositioning (SceneryDrivableArea): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (SceneryDrivableArea): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], [ sh:datatype xsd:boolean ; - sh:description "Presence of snowfall."@en ; - sh:maxCount 1 ; - sh:message "WeatherSnow (OddEnvironment): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:description "Presence of sand or dust particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesDust (SceneryDrivableArea): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 60 ; - sh:path openlabel_v2:WeatherSnow ], - [ sh:datatype xsd:decimal ; - sh:description "Visibility in kilometres."@en ; + sh:order 33 ; + sh:path openlabel_v2:ParticulatesDust ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of specified lane dimensions."@en ; sh:maxCount 1 ; - sh:message "weatherSnowValue (OddEnvironment): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:message "LaneSpecificationDimensions (SceneryDrivableArea): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 61 ; - sh:path openlabel_v2:weatherSnowValue ], - [ sh:datatype xsd:decimal ; - sh:description "Meteorological optical range in metres."@en ; + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; sh:maxCount 1 ; - sh:message "particulatesWaterValue (OddEnvironment): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 38 ; - sh:path openlabel_v2:particulatesWaterValue ], + sh:message "JunctionIntersection (SceneryDrivableArea): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], [ sh:description "Direction of travel."@en ; sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; - sh:maxCount 0 ; - sh:message "LaneSpecificationTravelDirection (OddEnvironment): Direction of travel. ISO 34503:2023, 9.3.4"@en ; - sh:order 26 ; - sh:path openlabel_v2:LaneSpecificationTravelDirection ] ; - sh:targetClass openlabel_v2:OddEnvironment . - -openlabel_v2:OddScenery a sh:NodeShape ; - rdfs:comment "Scenery-related subset of the operational design domain."@en ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of rainfall."@en ; - sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; - sh:maxCount 0 ; - sh:message "RainType (OddScenery): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; - sh:order 39 ; - sh:path openlabel_v2:RainType ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of volcanic ash particulates."@en ; - sh:maxCount 0 ; - sh:message "ParticulatesVolcanic (OddScenery): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 36 ; - sh:path openlabel_v2:ParticulatesVolcanic ], - [ sh:description "Type of regulatory sign."@en ; - sh:in ( openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; - sh:maxCount 1 ; - sh:message "SignsRegulatory (OddScenery): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 45 ; - sh:path openlabel_v2:SignsRegulatory ], - [ sh:datatype xsd:integer ; - sh:description "Traffic agent density in vehicles per kilometre."@en ; - sh:maxCount 0 ; - sh:message "trafficAgentDensityValue (OddScenery): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; - sh:nodeKind sh:Literal ; - sh:order 50 ; - sh:path openlabel_v2:trafficAgentDensityValue ], - [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; - sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; sh:maxCount 1 ; - sh:message "SceneryTemporaryStructure (OddScenery): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; - sh:order 42 ; - sh:path openlabel_v2:SceneryTemporaryStructure ], + sh:message "LaneSpecificationTravelDirection (SceneryDrivableArea): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic volume."@en ; sh:maxCount 0 ; - sh:message "TrafficVolume (OddScenery): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; + sh:message "TrafficVolume (SceneryDrivableArea): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; sh:order 56 ; sh:path openlabel_v2:TrafficVolume ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified traffic agent density."@en ; - sh:maxCount 0 ; - sh:message "TrafficAgentDensity (OddScenery): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; - sh:nodeKind sh:Literal ; - sh:order 49 ; - sh:path openlabel_v2:TrafficAgentDensity ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of snowfall."@en ; - sh:maxCount 0 ; - sh:message "WeatherSnow (OddScenery): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (SceneryDrivableArea): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 60 ; - sh:path openlabel_v2:WeatherSnow ], + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; + sh:maxCount 1 ; + sh:message "SceneryFixedStructure (SceneryDrivableArea): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:description "Number of lanes."@en ; + sh:maxCount 1 ; + sh:message "laneSpecificationLaneCountValue (SceneryDrivableArea): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ], [ sh:description "Type of artificial illumination."@en ; sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; sh:maxCount 0 ; - sh:message "IlluminationArtificial (OddScenery): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:message "IlluminationArtificial (SceneryDrivableArea): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; sh:order 15 ; - sh:path openlabel_v2:IlluminationArtificial ], - [ sh:datatype xsd:decimal ; - sh:description "Rainfall intensity in millimetres per hour."@en ; + sh:path openlabel_v2:IlluminationArtificial ] ; + sh:targetClass openlabel_v2:SceneryDrivableArea . + +openlabel_v2:SceneryJunction a sh:NodeShape ; + rdfs:comment "Junctions present in the scenery."@en ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Presence of an uphill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalUpSlope (SceneryJunction): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path openlabel_v2:LongitudinalUpSlope ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a specified traffic volume."@en ; sh:maxCount 0 ; - sh:message "weatherRainValue (OddScenery): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; + sh:message "TrafficVolume (SceneryJunction): Presence of a specified traffic volume. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 59 ; - sh:path openlabel_v2:weatherRainValue ], - [ sh:description "Type of communication connectivity."@en ; - sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; + sh:order 56 ; + sh:path openlabel_v2:TrafficVolume ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (SceneryJunction): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], + [ sh:description "Type of positioning system."@en ; + sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; sh:maxCount 0 ; - sh:message "ConnectivityCommunication (OddScenery): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; - sh:order 0 ; - sh:path openlabel_v2:ConnectivityCommunication ], - [ sh:datatype xsd:integer ; - sh:description "Traffic volume in vehicle kilometres."@en ; + sh:message "ConnectivityPositioning (SceneryJunction): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; + sh:order 1 ; + sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of low-light condition."@en ; + sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; + sh:maxCount 0 ; + sh:message "IlluminationLowLight (SceneryJunction): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; + sh:order 18 ; + sh:path openlabel_v2:IlluminationLowLight ], + [ sh:description "Type of intersection."@en ; + sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:maxCount 1 ; + sh:message "JunctionIntersection (SceneryJunction): Type of intersection. ISO 34503:2023, 9.4.3"@en ; + sh:order 19 ; + sh:path openlabel_v2:JunctionIntersection ], + [ sh:description "Type of artificial illumination."@en ; + sh:in ( openlabel_v2:ArtificialStreetLighting openlabel_v2:ArtificialVehicleLighting ) ; sh:maxCount 0 ; - sh:message "trafficVolumeValue (OddScenery): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; - sh:nodeKind sh:Literal ; - sh:order 57 ; - sh:path openlabel_v2:trafficVolumeValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of smoke or pollution particulates."@en ; + sh:message "IlluminationArtificial (SceneryJunction): Type of artificial illumination. ISO 34503:2023, 10.4 b)"@en ; + sh:order 15 ; + sh:path openlabel_v2:IlluminationArtificial ], + [ sh:description "Position of the sun relative to the direction of travel."@en ; + sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; sh:maxCount 0 ; - sh:message "ParticulatesPollution (OddScenery): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; + sh:message "DaySunPosition (SceneryJunction): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; + sh:order 4 ; + sh:path openlabel_v2:DaySunPosition ], + [ sh:datatype xsd:decimal ; + sh:description "Meteorological optical range in metres."@en ; + sh:maxCount 0 ; + sh:message "particulatesWaterValue (SceneryJunction): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 35 ; - sh:path openlabel_v2:ParticulatesPollution ], + sh:order 38 ; + sh:path openlabel_v2:particulatesWaterValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of sand or dust particulates."@en ; sh:maxCount 0 ; - sh:message "ParticulatesDust (OddScenery): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; + sh:message "ParticulatesDust (SceneryJunction): Presence of sand or dust particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; sh:order 33 ; sh:path openlabel_v2:ParticulatesDust ], - [ sh:description "Type of lane."@en ; - sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; - sh:message "LaneSpecificationType (OddScenery): Type of lane. ISO 34503:2023, 9.3.4"@en ; - sh:order 27 ; - sh:path openlabel_v2:LaneSpecificationType ], + [ sh:description "Type of drivable area surface condition."@en ; + sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + sh:maxCount 1 ; + sh:message "DrivableAreaSurfaceCondition (SceneryJunction): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; + sh:order 6 ; + sh:path openlabel_v2:DrivableAreaSurfaceCondition ], + [ sh:description "Type of special structure present in the scenery."@en ; + sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; + sh:maxCount 1 ; + sh:message "ScenerySpecialStructure (SceneryJunction): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; + sh:order 41 ; + sh:path openlabel_v2:ScenerySpecialStructure ], [ sh:datatype xsd:boolean ; sh:description "Presence of curved roadway geometry."@en ; sh:maxCount 1 ; - sh:message "HorizontalCurves (OddScenery): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; + sh:message "HorizontalCurves (SceneryJunction): Presence of curved roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; sh:order 12 ; sh:path openlabel_v2:HorizontalCurves ], + [ sh:datatype xsd:decimal ; + sh:description "Visibility in kilometres."@en ; + sh:maxCount 0 ; + sh:message "weatherSnowValue (SceneryJunction): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path openlabel_v2:weatherSnowValue ], + [ sh:datatype xsd:decimal ; + sh:description "Sun elevation in degrees."@en ; + sh:maxCount 0 ; + sh:message "daySunElevationValue (SceneryJunction): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path openlabel_v2:daySunElevationValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of specified lane dimensions."@en ; - sh:maxCount 1 ; - sh:message "LaneSpecificationDimensions (OddScenery): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; + sh:description "Presence of rainfall."@en ; + sh:maxCount 0 ; + sh:message "WeatherRain (SceneryJunction): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; sh:nodeKind sh:Literal ; - sh:order 21 ; - sh:path openlabel_v2:LaneSpecificationDimensions ], - [ sh:description "Type of basic road structure present in the scenery."@en ; - sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; - sh:maxCount 1 ; - sh:message "SceneryFixedStructure (OddScenery): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; - sh:order 40 ; - sh:path openlabel_v2:SceneryFixedStructure ], - [ sh:description "Type of drivable area surface."@en ; - sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; + sh:order 58 ; + sh:path openlabel_v2:WeatherRain ], + [ sh:description "Type of rainfall."@en ; + sh:in ( openlabel_v2:RainTypeConvective openlabel_v2:RainTypeDynamic openlabel_v2:RainTypeOrographic ) ; + sh:maxCount 0 ; + sh:message "RainType (SceneryJunction): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:order 39 ; + sh:path openlabel_v2:RainType ], + [ sh:datatype xsd:decimal ; + sh:description "Downward gradient as a percentage."@en ; sh:maxCount 1 ; - sh:message "DrivableAreaSurfaceType (OddScenery): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; - sh:order 8 ; - sh:path openlabel_v2:DrivableAreaSurfaceType ], - [ sh:description "Type of positioning system."@en ; - sh:in ( openlabel_v2:PositioningGalileo openlabel_v2:PositioningGlonass openlabel_v2:PositioningGps ) ; + sh:message "longitudinalDownSlopeValue (SceneryJunction): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path openlabel_v2:longitudinalDownSlopeValue ], + [ sh:datatype xsd:integer ; + sh:description "Traffic agent density in vehicles per kilometre."@en ; sh:maxCount 0 ; - sh:message "ConnectivityPositioning (OddScenery): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; - sh:order 1 ; - sh:path openlabel_v2:ConnectivityPositioning ], + sh:message "trafficAgentDensityValue (SceneryJunction): Traffic agent density in vehicles per kilometre. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path openlabel_v2:trafficAgentDensityValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic agent type."@en ; sh:maxCount 0 ; - sh:message "TrafficAgentType (OddScenery): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; + sh:message "TrafficAgentType (SceneryJunction): Presence of a specified traffic agent type. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; sh:order 51 ; sh:path openlabel_v2:TrafficAgentType ], - [ sh:description "Type of drivable area surface feature."@en ; - sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; - sh:maxCount 1 ; - sh:message "DrivableAreaSurfaceFeature (OddScenery): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; - sh:order 7 ; - sh:path openlabel_v2:DrivableAreaSurfaceFeature ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified sun elevation above the horizon."@en ; - sh:maxCount 0 ; - sh:message "DaySunElevation (OddScenery): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; - sh:nodeKind sh:Literal ; - sh:order 2 ; - sh:path openlabel_v2:DaySunElevation ], - [ sh:description "Type of intersection."@en ; - sh:in ( openlabel_v2:IntersectionCrossroad openlabel_v2:IntersectionGradeSeperated openlabel_v2:IntersectionStaggered openlabel_v2:IntersectionTJunction openlabel_v2:IntersectionYJunction ) ; + sh:description "Presence of specified lane dimensions."@en ; sh:maxCount 1 ; - sh:message "JunctionIntersection (OddScenery): Type of intersection. ISO 34503:2023, 9.4.3"@en ; - sh:order 19 ; - sh:path openlabel_v2:JunctionIntersection ], - [ sh:datatype xsd:decimal ; - sh:description "Cloud cover in okta."@en ; - sh:maxCount 0 ; - sh:message "illuminationCloudinessValue (OddScenery): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; + sh:message "LaneSpecificationDimensions (SceneryJunction): Presence of specified lane dimensions. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 17 ; - sh:path openlabel_v2:illuminationCloudinessValue ], - [ sh:description "Type of roundabout."@en ; - sh:in ( openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; - sh:maxCount 1 ; - sh:message "JunctionRoundabout (OddScenery): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; - sh:order 20 ; - sh:path openlabel_v2:JunctionRoundabout ], - [ sh:description "Type of particulates present in the environment."@en ; - sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; - sh:maxCount 0 ; - sh:message "EnvironmentParticulates (OddScenery): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; - sh:order 10 ; - sh:path openlabel_v2:EnvironmentParticulates ], + sh:order 21 ; + sh:path openlabel_v2:LaneSpecificationDimensions ], [ sh:datatype xsd:boolean ; - sh:description "Presence of special vehicles."@en ; + sh:description "Presence of a specified traffic agent density."@en ; sh:maxCount 0 ; - sh:message "TrafficSpecialVehicle (OddScenery): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; + sh:message "TrafficAgentDensity (SceneryJunction): Presence of a specified traffic agent density. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 55 ; - sh:path openlabel_v2:TrafficSpecialVehicle ], + sh:order 49 ; + sh:path openlabel_v2:TrafficAgentDensity ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a level longitudinal plane."@en ; - sh:maxCount 1 ; - sh:message "LongitudinalLevelPlane (OddScenery): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 30 ; - sh:path openlabel_v2:LongitudinalLevelPlane ], - [ sh:datatype xsd:decimal ; - sh:description "Wind speed in metres per second."@en ; + sh:description "Presence of cloudiness."@en ; sh:maxCount 0 ; - sh:message "weatherWindValue (OddScenery): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; + sh:message "IlluminationCloudiness (SceneryJunction): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; sh:nodeKind sh:Literal ; - sh:order 63 ; - sh:path openlabel_v2:weatherWindValue ], + sh:order 16 ; + sh:path openlabel_v2:IlluminationCloudiness ], [ sh:datatype xsd:boolean ; - sh:description "Presence of wind."@en ; + sh:description "Presence of a specified sun elevation above the horizon."@en ; sh:maxCount 0 ; - sh:message "WeatherWind (OddScenery): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:message "DaySunElevation (SceneryJunction): Presence of a specified sun elevation above the horizon. ISO 34503:2023, 10.4 d)"@en ; sh:nodeKind sh:Literal ; - sh:order 62 ; - sh:path openlabel_v2:WeatherWind ], - [ sh:description "Position of the sun relative to the direction of travel."@en ; - sh:in ( openlabel_v2:SunPositionBehind openlabel_v2:SunPositionFront openlabel_v2:SunPositionLeft openlabel_v2:SunPositionRight ) ; + sh:order 2 ; + sh:path openlabel_v2:DaySunElevation ], + [ sh:description "Type of communication connectivity."@en ; + sh:in ( openlabel_v2:CommunicationV2i openlabel_v2:CommunicationV2v openlabel_v2:V2iCellular openlabel_v2:V2iSatellite openlabel_v2:V2iWifi openlabel_v2:V2vCellular openlabel_v2:V2vSatellite openlabel_v2:V2vWifi ) ; sh:maxCount 0 ; - sh:message "DaySunPosition (OddScenery): Position of the sun relative to the direction of travel. ISO 34503:2023, 10.4 a) 1)"@en ; - sh:order 4 ; - sh:path openlabel_v2:DaySunPosition ], - [ sh:description "Type of transverse geometry."@en ; - sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; - sh:maxCount 1 ; - sh:message "GeometryTransverse (OddScenery): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; - sh:order 11 ; - sh:path openlabel_v2:GeometryTransverse ], - [ sh:description "Type of special structure present in the scenery."@en ; - sh:in ( openlabel_v2:SpecialStructureAutoAccess openlabel_v2:SpecialStructureBridge openlabel_v2:SpecialStructurePedestrianCrossing openlabel_v2:SpecialStructureRailCrossing openlabel_v2:SpecialStructureTollPlaza openlabel_v2:SpecialStructureTunnel ) ; - sh:maxCount 1 ; - sh:message "ScenerySpecialStructure (OddScenery): Type of special structure present in the scenery. ISO 34503:2023, 9.6"@en ; - sh:order 41 ; - sh:path openlabel_v2:ScenerySpecialStructure ], - [ sh:datatype xsd:decimal ; - sh:description "Curve radius in metres."@en ; - sh:maxCount 1 ; - sh:message "horizontalCurvesValue (OddScenery): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 13 ; - sh:path openlabel_v2:horizontalCurvesValue ], + sh:message "ConnectivityCommunication (SceneryJunction): Type of communication connectivity. ISO 34503:2023, 10.5 a)"@en ; + sh:order 0 ; + sh:path openlabel_v2:ConnectivityCommunication ], [ sh:datatype xsd:boolean ; - sh:description "Presence of rainfall."@en ; - sh:maxCount 0 ; - sh:message "WeatherRain (OddScenery): Presence of rainfall. ISO 34503:2023, 10.2.4"@en ; + sh:description "Presence of straight roadway geometry."@en ; + sh:maxCount 1 ; + sh:message "HorizontalStraights (SceneryJunction): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 58 ; - sh:path openlabel_v2:WeatherRain ], + sh:order 14 ; + sh:path openlabel_v2:HorizontalStraights ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (SceneryJunction): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], [ sh:datatype xsd:boolean ; - sh:description "Presence of lane markings."@en ; + sh:description "Presence of a specified lane count."@en ; sh:maxCount 1 ; - sh:message "LaneSpecificationMarking (OddScenery): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; + sh:message "LaneSpecificationLaneCount (SceneryJunction): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 25 ; - sh:path openlabel_v2:LaneSpecificationMarking ], + sh:order 23 ; + sh:path openlabel_v2:LaneSpecificationLaneCount ], [ sh:datatype xsd:boolean ; sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; sh:maxCount 0 ; - sh:message "ParticulatesWater (OddScenery): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; + sh:message "ParticulatesWater (SceneryJunction): Presence of non-precipitating water droplets or ice crystals. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; sh:order 37 ; sh:path openlabel_v2:ParticulatesWater ], + [ sh:description "Type of zone."@en ; + sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:maxCount 1 ; + sh:message "SceneryZone (SceneryJunction): Type of zone. ISO 34503:2023, 9.2"@en ; + sh:order 43 ; + sh:path openlabel_v2:SceneryZone ], + [ sh:datatype xsd:integer ; + sh:description "Traffic volume in vehicle kilometres."@en ; + sh:maxCount 0 ; + sh:message "trafficVolumeValue (SceneryJunction): Traffic volume in vehicle kilometres. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path openlabel_v2:trafficVolumeValue ], + [ sh:description "Type of particulates present in the environment."@en ; + sh:in ( openlabel_v2:ParticulatesDust openlabel_v2:ParticulatesMarine openlabel_v2:ParticulatesPollution openlabel_v2:ParticulatesVolcanic openlabel_v2:ParticulatesWater ) ; + sh:maxCount 0 ; + sh:message "EnvironmentParticulates (SceneryJunction): Type of particulates present in the environment. ISO 34503:2023, 10.3"@en ; + sh:order 10 ; + sh:path openlabel_v2:EnvironmentParticulates ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic flow rate."@en ; sh:maxCount 0 ; - sh:message "TrafficFlowRate (OddScenery): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; + sh:message "TrafficFlowRate (SceneryJunction): Presence of a specified traffic flow rate. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; sh:order 53 ; sh:path openlabel_v2:TrafficFlowRate ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of straight roadway geometry."@en ; - sh:maxCount 1 ; - sh:message "HorizontalStraights (OddScenery): Presence of straight roadway geometry. ISO 34503:2023, 9.3.3"@en ; - sh:nodeKind sh:Literal ; - sh:order 14 ; - sh:path openlabel_v2:HorizontalStraights ], - [ sh:description "Lane width in metres."@en ; - sh:maxCount 1 ; - sh:message "laneSpecificationDimensionsValue (OddScenery): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; - sh:or ( [ sh:datatype xsd:decimal ; + [ sh:description "Subject vehicle speed in kilometres per hour."@en ; + sh:maxCount 0 ; + sh:message "subjectVehicleSpeedValue (SceneryJunction): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; + sh:or ( [ sh:datatype xsd:integer ; sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 22 ; - sh:path openlabel_v2:laneSpecificationDimensionsValue ], + sh:order 48 ; + sh:path openlabel_v2:subjectVehicleSpeedValue ], [ sh:description "Type of drivable area edge."@en ; sh:in ( openlabel_v2:EdgeLineMarkers openlabel_v2:EdgeNone openlabel_v2:EdgeShoulderGrass openlabel_v2:EdgeShoulderPavedOrGravel openlabel_v2:EdgeSolidBarriers openlabel_v2:EdgeTemporaryLineMarkers ) ; - sh:message "DrivableAreaEdge (OddScenery): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; + sh:message "DrivableAreaEdge (SceneryJunction): Type of drivable area edge. ISO 34503:2023, 9.3.6"@en ; sh:order 5 ; sh:path openlabel_v2:DrivableAreaEdge ], + [ sh:datatype xsd:decimal ; + sh:description "Curve radius in metres."@en ; + sh:maxCount 1 ; + sh:message "horizontalCurvesValue (SceneryJunction): Curve radius in metres. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path openlabel_v2:horizontalCurvesValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a downhill gradient."@en ; + sh:maxCount 1 ; + sh:message "LongitudinalDownSlope (SceneryJunction): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path openlabel_v2:LongitudinalDownSlope ], [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; sh:maxCount 0 ; - sh:message "trafficAgentTypeValue (OddScenery): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; - sh:or ( [ sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ] [ sh:in ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ] ) ; + sh:message "trafficAgentTypeValue (SceneryJunction): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; sh:order 52 ; sh:path openlabel_v2:trafficAgentTypeValue ], - [ sh:description "Type of drivable area surface condition."@en ; - sh:in ( openlabel_v2:SurfaceConditionContamination openlabel_v2:SurfaceConditionFlooded openlabel_v2:SurfaceConditionIcy openlabel_v2:SurfaceConditionMirage openlabel_v2:SurfaceConditionSnow openlabel_v2:SurfaceConditionStandingWater openlabel_v2:SurfaceConditionWet ) ; + [ sh:description "Type of drivable area surface feature."@en ; + sh:in ( openlabel_v2:SurfaceFeatureCrack openlabel_v2:SurfaceFeaturePothole openlabel_v2:SurfaceFeatureRut openlabel_v2:SurfaceFeatureSwell ) ; sh:maxCount 1 ; - sh:message "DrivableAreaSurfaceCondition (OddScenery): Type of drivable area surface condition. ISO 34503:2023, 9.3.7"@en ; - sh:order 6 ; - sh:path openlabel_v2:DrivableAreaSurfaceCondition ], - [ sh:datatype xsd:decimal ; - sh:description "Visibility in kilometres."@en ; + sh:message "DrivableAreaSurfaceFeature (SceneryJunction): Type of drivable area surface feature. ISO 34503:2023, 9.3.7"@en ; + sh:order 7 ; + sh:path openlabel_v2:DrivableAreaSurfaceFeature ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of smoke or pollution particulates."@en ; sh:maxCount 0 ; - sh:message "weatherSnowValue (OddScenery): Visibility in kilometres. ISO 34503:2023, 10.2.5"@en ; + sh:message "ParticulatesPollution (SceneryJunction): Presence of smoke or pollution particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 61 ; - sh:path openlabel_v2:weatherSnowValue ], + sh:order 35 ; + sh:path openlabel_v2:ParticulatesPollution ], [ sh:datatype xsd:boolean ; - sh:description "Presence of marine spray in coastal areas."@en ; + sh:description "Presence of snowfall."@en ; sh:maxCount 0 ; - sh:message "ParticulatesMarine (OddScenery): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:message "WeatherSnow (SceneryJunction): Presence of snowfall. ISO 34503:2023, 10.2.5"@en ; sh:nodeKind sh:Literal ; - sh:order 34 ; - sh:path openlabel_v2:ParticulatesMarine ], + sh:order 60 ; + sh:path openlabel_v2:WeatherSnow ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified lane count."@en ; - sh:maxCount 1 ; - sh:message "LaneSpecificationLaneCount (OddScenery): Presence of a specified lane count. ISO 34503:2023, 9.3.4"@en ; + sh:description "Presence of volcanic ash particulates."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesVolcanic (SceneryJunction): Presence of volcanic ash particulates. ISO 34503:2023, 10.3"@en ; sh:nodeKind sh:Literal ; - sh:order 23 ; - sh:path openlabel_v2:LaneSpecificationLaneCount ], + sh:order 36 ; + sh:path openlabel_v2:ParticulatesVolcanic ], [ sh:datatype xsd:boolean ; - sh:description "Presence of an uphill gradient."@en ; - sh:maxCount 1 ; - sh:message "LongitudinalUpSlope (OddScenery): Presence of an uphill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:description "Presence of a specified subject vehicle speed."@en ; + sh:maxCount 0 ; + sh:message "SubjectVehicleSpeed (SceneryJunction): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; sh:nodeKind sh:Literal ; - sh:order 31 ; - sh:path openlabel_v2:LongitudinalUpSlope ], + sh:order 47 ; + sh:path openlabel_v2:SubjectVehicleSpeed ], [ sh:datatype xsd:boolean ; - sh:description "Presence of cloudiness."@en ; - sh:maxCount 0 ; - sh:message "IlluminationCloudiness (OddScenery): Presence of cloudiness. ISO 34503:2023, 10.4 c)"@en ; + sh:description "Presence of lane markings."@en ; + sh:maxCount 1 ; + sh:message "LaneSpecificationMarking (SceneryJunction): Presence of lane markings. ISO 34503:2023, 9.3.4"@en ; sh:nodeKind sh:Literal ; - sh:order 16 ; - sh:path openlabel_v2:IlluminationCloudiness ], - [ sh:description "Number of lanes."@en ; + sh:order 25 ; + sh:path openlabel_v2:LaneSpecificationMarking ], + [ sh:description "Lane width in metres."@en ; sh:maxCount 1 ; - sh:message "laneSpecificationLaneCountValue (OddScenery): Number of lanes. ISO 34503:2023, 9.3.4"@en ; - sh:or ( [ sh:datatype xsd:integer ; + sh:message "laneSpecificationDimensionsValue (SceneryJunction): Lane width in metres. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:decimal ; sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 24 ; - sh:path openlabel_v2:laneSpecificationLaneCountValue ], - [ sh:description "Direction of travel."@en ; - sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; - sh:maxCount 1 ; - sh:message "LaneSpecificationTravelDirection (OddScenery): Direction of travel. ISO 34503:2023, 9.3.4"@en ; - sh:order 26 ; - sh:path openlabel_v2:LaneSpecificationTravelDirection ], - [ sh:description "Type of low-light condition."@en ; - sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; - sh:maxCount 0 ; - sh:message "IlluminationLowLight (OddScenery): Type of low-light condition. ISO 34503:2023, 10.4 a) 2)"@en ; - sh:order 18 ; - sh:path openlabel_v2:IlluminationLowLight ], + sh:order 22 ; + sh:path openlabel_v2:laneSpecificationDimensionsValue ], [ sh:datatype xsd:boolean ; - sh:description "Presence of a downhill gradient."@en ; + sh:description "Presence of marine spray in coastal areas."@en ; + sh:maxCount 0 ; + sh:message "ParticulatesMarine (SceneryJunction): Presence of marine spray in coastal areas. ISO 34503:2023, 10.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path openlabel_v2:ParticulatesMarine ], + [ sh:description "Type of drivable area surface."@en ; + sh:in ( openlabel_v2:SurfaceTypeLoose openlabel_v2:SurfaceTypeSegmented openlabel_v2:SurfaceTypeUniform ) ; sh:maxCount 1 ; - sh:message "LongitudinalDownSlope (OddScenery): Presence of a downhill gradient. ISO 34503:2023, 9.3.3"@en ; + sh:message "DrivableAreaSurfaceType (SceneryJunction): Type of drivable area surface. ISO 34503:2023, 9.3.7"@en ; + sh:order 8 ; + sh:path openlabel_v2:DrivableAreaSurfaceType ], + [ sh:datatype xsd:integer ; + sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:maxCount 0 ; + sh:message "trafficFlowRateValue (SceneryJunction): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; + sh:minInclusive 0 ; sh:nodeKind sh:Literal ; - sh:order 28 ; - sh:path openlabel_v2:LongitudinalDownSlope ], + sh:order 54 ; + sh:path openlabel_v2:trafficFlowRateValue ], + [ sh:description "Type of lane."@en ; + sh:in ( openlabel_v2:LaneTypeBus openlabel_v2:LaneTypeCycle openlabel_v2:LaneTypeEmergency openlabel_v2:LaneTypeSpecial openlabel_v2:LaneTypeTraffic openlabel_v2:LaneTypeTram ) ; + sh:message "LaneSpecificationType (SceneryJunction): Type of lane. ISO 34503:2023, 9.3.4"@en ; + sh:order 27 ; + sh:path openlabel_v2:LaneSpecificationType ], [ sh:description "Type of drivable area."@en ; sh:in ( openlabel_v2:MotorwayManaged openlabel_v2:MotorwayUnmanaged openlabel_v2:RoadTypeDistributor openlabel_v2:RoadTypeMinor openlabel_v2:RoadTypeMotorway openlabel_v2:RoadTypeParking openlabel_v2:RoadTypeRadial openlabel_v2:RoadTypeShared openlabel_v2:RoadTypeSlip ) ; sh:maxCount 1 ; - sh:message "DrivableAreaType (OddScenery): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; + sh:message "DrivableAreaType (SceneryJunction): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; sh:order 9 ; sh:path openlabel_v2:DrivableAreaType ], + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsInformation (SceneryJunction): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], [ sh:datatype xsd:decimal ; - sh:description "Meteorological optical range in metres."@en ; + sh:description "Cloud cover in okta."@en ; sh:maxCount 0 ; - sh:message "particulatesWaterValue (OddScenery): Meteorological optical range in metres. ISO 34503:2023, 10.3"@en ; + sh:message "illuminationCloudinessValue (SceneryJunction): Cloud cover in okta. ISO 34503:2023, 10.4 c)"@en ; sh:nodeKind sh:Literal ; - sh:order 38 ; - sh:path openlabel_v2:particulatesWaterValue ], + sh:order 17 ; + sh:path openlabel_v2:illuminationCloudinessValue ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of wind."@en ; + sh:maxCount 0 ; + sh:message "WeatherWind (SceneryJunction): Presence of wind. ISO 34503:2023, 10.2.3"@en ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path openlabel_v2:WeatherWind ], [ sh:datatype xsd:decimal ; - sh:description "Sun elevation in degrees."@en ; + sh:description "Wind speed in metres per second."@en ; sh:maxCount 0 ; - sh:message "daySunElevationValue (OddScenery): Sun elevation in degrees. ISO 34503:2023, 10.4 d)"@en ; + sh:message "weatherWindValue (SceneryJunction): Wind speed in metres per second. ISO 34503:2023, 10.2.3"@en ; sh:nodeKind sh:Literal ; - sh:order 3 ; - sh:path openlabel_v2:daySunElevationValue ], - [ sh:description "Type of zone."@en ; - sh:in ( openlabel_v2:ZoneGeoFenced openlabel_v2:ZoneInterference openlabel_v2:ZoneRegion openlabel_v2:ZoneSchool openlabel_v2:ZoneTrafficManagement ) ; + sh:order 63 ; + sh:path openlabel_v2:weatherWindValue ], + [ sh:description "Type of temporary drivable area structure present in the scenery."@en ; + sh:in ( openlabel_v2:TemporaryStructureConstructionDetour openlabel_v2:TemporaryStructureRefuseCollection openlabel_v2:TemporaryStructureRoadSignage openlabel_v2:TemporaryStructureRoadWorks ) ; sh:maxCount 1 ; - sh:message "SceneryZone (OddScenery): Type of zone. ISO 34503:2023, 9.2"@en ; - sh:order 43 ; - sh:path openlabel_v2:SceneryZone ], + sh:message "SceneryTemporaryStructure (SceneryJunction): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; + sh:order 42 ; + sh:path openlabel_v2:SceneryTemporaryStructure ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (SceneryJunction): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], [ sh:datatype xsd:decimal ; sh:description "Upward gradient as a percentage."@en ; sh:maxCount 1 ; - sh:message "longitudinalUpSlopeValue (OddScenery): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:message "longitudinalUpSlopeValue (SceneryJunction): Upward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; sh:order 32 ; sh:path openlabel_v2:longitudinalUpSlopeValue ], - [ sh:datatype xsd:boolean ; - sh:description "Presence of a specified subject vehicle speed."@en ; + [ sh:datatype xsd:decimal ; + sh:description "Rainfall intensity in millimetres per hour."@en ; sh:maxCount 0 ; - sh:message "SubjectVehicleSpeed (OddScenery): Presence of a specified subject vehicle speed. ISO 34503:2023, 11.2"@en ; + sh:message "weatherRainValue (SceneryJunction): Rainfall intensity in millimetres per hour. ISO 34503:2023, 10.2.4"@en ; sh:nodeKind sh:Literal ; - sh:order 47 ; - sh:path openlabel_v2:SubjectVehicleSpeed ], - [ sh:description "Subject vehicle speed in kilometres per hour."@en ; - sh:maxCount 0 ; - sh:message "subjectVehicleSpeedValue (OddScenery): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; - sh:or ( [ sh:datatype xsd:integer ; - sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; - sh:order 48 ; - sh:path openlabel_v2:subjectVehicleSpeedValue ], - [ sh:description "Type of information sign."@en ; - sh:in ( openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; + sh:order 59 ; + sh:path openlabel_v2:weatherRainValue ], + [ sh:description "Type of basic road structure present in the scenery."@en ; + sh:in ( openlabel_v2:FixedStructureBuilding openlabel_v2:FixedStructureStreetFurniture openlabel_v2:FixedStructureStreetlight openlabel_v2:FixedStructureVegetation ) ; sh:maxCount 1 ; - sh:message "SignsInformation (OddScenery): Type of information sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 44 ; - sh:path openlabel_v2:SignsInformation ], - [ sh:datatype xsd:integer ; - sh:description "Traffic flow rate in vehicles per hour."@en ; + sh:message "SceneryFixedStructure (SceneryJunction): Type of basic road structure present in the scenery. ISO 34503:2023, 9.5"@en ; + sh:order 40 ; + sh:path openlabel_v2:SceneryFixedStructure ], + [ sh:description "Type of transverse geometry."@en ; + sh:in ( openlabel_v2:TransverseBarriers openlabel_v2:TransverseDivided openlabel_v2:TransverseLanesTogether openlabel_v2:TransversePavements openlabel_v2:TransverseUndivided ) ; + sh:maxCount 1 ; + sh:message "GeometryTransverse (SceneryJunction): Type of transverse geometry. ISO 34503:2023, 9.3.3"@en ; + sh:order 11 ; + sh:path openlabel_v2:GeometryTransverse ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of special vehicles."@en ; sh:maxCount 0 ; - sh:message "trafficFlowRateValue (OddScenery): Traffic flow rate in vehicles per hour. ISO 34503:2023, 11.1"@en ; - sh:minInclusive 0 ; + sh:message "TrafficSpecialVehicle (SceneryJunction): Presence of special vehicles. ISO 34503:2023, 11.1"@en ; sh:nodeKind sh:Literal ; - sh:order 54 ; - sh:path openlabel_v2:trafficFlowRateValue ], - [ sh:description "Type of warning sign."@en ; - sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:order 55 ; + sh:path openlabel_v2:TrafficSpecialVehicle ], + [ sh:description "Direction of travel."@en ; + sh:in ( openlabel_v2:TravelDirectionLeft openlabel_v2:TravelDirectionRight ) ; sh:maxCount 1 ; - sh:message "SignsWarning (OddScenery): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 46 ; - sh:path openlabel_v2:SignsWarning ], - [ sh:datatype xsd:decimal ; - sh:description "Downward gradient as a percentage."@en ; + sh:message "LaneSpecificationTravelDirection (SceneryJunction): Direction of travel. ISO 34503:2023, 9.3.4"@en ; + sh:order 26 ; + sh:path openlabel_v2:LaneSpecificationTravelDirection ], + [ sh:datatype xsd:boolean ; + sh:description "Presence of a level longitudinal plane."@en ; sh:maxCount 1 ; - sh:message "longitudinalDownSlopeValue (OddScenery): Downward gradient as a percentage. ISO 34503:2023, 9.3.3"@en ; + sh:message "LongitudinalLevelPlane (SceneryJunction): Presence of a level longitudinal plane. ISO 34503:2023, 9.3.3"@en ; sh:nodeKind sh:Literal ; - sh:order 29 ; - sh:path openlabel_v2:longitudinalDownSlopeValue ] ; - sh:targetClass openlabel_v2:OddScenery . - -openlabel_v2:Scenario a sh:NodeShape ; - rdfs:comment "A scenario that can be tagged with OpenLABEL tags."@en ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class openlabel_v2:Tag ; - sh:description "A tag associated with a scenario."@en ; + sh:order 30 ; + sh:path openlabel_v2:LongitudinalLevelPlane ], + [ sh:description "Number of lanes."@en ; sh:maxCount 1 ; - sh:message "hasTag (Scenario): A tag associated with a scenario."@en ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:order 0 ; - sh:path openlabel_v2:hasTag ] ; - sh:targetClass openlabel_v2:Scenario . + sh:message "laneSpecificationLaneCountValue (SceneryJunction): Number of lanes. ISO 34503:2023, 9.3.4"@en ; + sh:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:class schema:QuantitativeValue ] ) ; + sh:order 24 ; + sh:path openlabel_v2:laneSpecificationLaneCountValue ] ; + sh:targetClass openlabel_v2:SceneryJunction . openlabel_v2:Tag a sh:NodeShape ; rdfs:comment "The base tag."@en ; @@ -1655,6 +7857,12 @@ openlabel_v2:Odd a sh:NodeShape ; sh:message "ConnectivityPositioning (Odd): Type of positioning system. ISO 34503:2023, 10.5 b)"@en ; sh:order 1 ; sh:path openlabel_v2:ConnectivityPositioning ], + [ sh:description "Type of roundabout."@en ; + sh:in ( openlabel_v2:RoundaboutCompact openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDouble openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLarge openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMini openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; + sh:maxCount 1 ; + sh:message "JunctionRoundabout (Odd): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; + sh:order 20 ; + sh:path openlabel_v2:JunctionRoundabout ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic agent type."@en ; sh:maxCount 1 ; @@ -1696,6 +7904,11 @@ openlabel_v2:Odd a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 23 ; sh:path openlabel_v2:LaneSpecificationLaneCount ], + [ sh:description "Types of traffic agents present."@en ; + sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ; + sh:message "trafficAgentTypeValue (Odd): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; + sh:order 52 ; + sh:path openlabel_v2:trafficAgentTypeValue ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified sun elevation above the horizon."@en ; sh:maxCount 1 ; @@ -1736,11 +7949,12 @@ openlabel_v2:Odd a sh:NodeShape ; sh:message "DrivableAreaType (Odd): Type of drivable area. ISO 34503:2023, 9.3.2"@en ; sh:order 9 ; sh:path openlabel_v2:DrivableAreaType ], - [ sh:description "Types of traffic agents present."@en ; - sh:message "trafficAgentTypeValue (Odd): Types of traffic agents present. ISO 34503:2023, 11.1"@en ; - sh:or ( [ sh:in ( openlabel_v2:HumanAnimalRider openlabel_v2:HumanCyclist openlabel_v2:HumanDriver openlabel_v2:HumanMotorcyclist openlabel_v2:HumanPassenger openlabel_v2:HumanPedestrian openlabel_v2:HumanWheelchairUser ) ] [ sh:in ( openlabel_v2:VehicleAgricultural openlabel_v2:VehicleBus openlabel_v2:VehicleCar openlabel_v2:VehicleConstruction openlabel_v2:VehicleCycle openlabel_v2:VehicleEmergency openlabel_v2:VehicleMotorcycle openlabel_v2:VehicleTrailer openlabel_v2:VehicleTruck openlabel_v2:VehicleVan openlabel_v2:VehicleWheelchair ) ] ) ; - sh:order 52 ; - sh:path openlabel_v2:trafficAgentTypeValue ], + [ sh:description "Type of warning sign."@en ; + sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariable openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsWarning (Odd): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 46 ; + sh:path openlabel_v2:SignsWarning ], [ sh:datatype xsd:boolean ; sh:description "Presence of non-precipitating water droplets or ice crystals."@en ; sh:maxCount 1 ; @@ -1781,12 +7995,6 @@ openlabel_v2:Odd a sh:NodeShape ; sh:message "LaneSpecificationType (Odd): Type of lane. ISO 34503:2023, 9.3.4"@en ; sh:order 27 ; sh:path openlabel_v2:LaneSpecificationType ], - [ sh:description "Type of roundabout."@en ; - sh:in ( openlabel_v2:RoundaboutCompactNosignal openlabel_v2:RoundaboutCompactSignal openlabel_v2:RoundaboutDoubleNosignal openlabel_v2:RoundaboutDoubleSignal openlabel_v2:RoundaboutLargeNosignal openlabel_v2:RoundaboutLargeSignal openlabel_v2:RoundaboutMiniNosignal openlabel_v2:RoundaboutMiniSignal openlabel_v2:RoundaboutNormalNosignal openlabel_v2:RoundaboutNormalSignal ) ; - sh:maxCount 1 ; - sh:message "JunctionRoundabout (Odd): Type of roundabout. ISO 34503:2023, 9.4.2"@en ; - sh:order 20 ; - sh:path openlabel_v2:JunctionRoundabout ], [ sh:description "Type of low-light condition."@en ; sh:in ( openlabel_v2:LowLightAmbient openlabel_v2:LowLightNight ) ; sh:maxCount 1 ; @@ -1805,12 +8013,6 @@ openlabel_v2:Odd a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 34 ; sh:path openlabel_v2:ParticulatesMarine ], - [ sh:description "Type of warning sign."@en ; - sh:in ( openlabel_v2:WarningSignsUniform openlabel_v2:WarningSignsUniformFullTime openlabel_v2:WarningSignsUniformTemporary openlabel_v2:WarningSignsVariableFullTime openlabel_v2:WarningSignsVariableTemporary ) ; - sh:maxCount 1 ; - sh:message "SignsWarning (Odd): Type of warning sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 46 ; - sh:path openlabel_v2:SignsWarning ], [ sh:datatype xsd:boolean ; sh:description "Presence of a specified traffic agent density."@en ; sh:maxCount 1 ; @@ -1845,12 +8047,6 @@ openlabel_v2:Odd a sh:NodeShape ; sh:nodeKind sh:Literal ; sh:order 60 ; sh:path openlabel_v2:WeatherSnow ], - [ sh:description "Type of information sign."@en ; - sh:in ( openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; - sh:maxCount 1 ; - sh:message "SignsInformation (Odd): Type of information sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 44 ; - sh:path openlabel_v2:SignsInformation ], [ sh:description "Subject vehicle speed in kilometres per hour."@en ; sh:maxCount 1 ; sh:message "subjectVehicleSpeedValue (Odd): Subject vehicle speed in kilometres per hour. ISO 34503:2023, 11.2"@en ; @@ -1979,6 +8175,12 @@ openlabel_v2:Odd a sh:NodeShape ; sh:message "RainType (Odd): Type of rainfall. ISO 34503:2023, 10.2.4"@en ; sh:order 39 ; sh:path openlabel_v2:RainType ], + [ sh:description "Type of regulatory sign."@en ; + sh:in ( openlabel_v2:RegulatorySignsUniform openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariable openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + sh:maxCount 1 ; + sh:message "SignsRegulatory (Odd): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 45 ; + sh:path openlabel_v2:SignsRegulatory ], [ sh:description "Number of lanes."@en ; sh:maxCount 1 ; sh:message "laneSpecificationLaneCountValue (Odd): Number of lanes. ISO 34503:2023, 9.3.4"@en ; @@ -2013,12 +8215,12 @@ openlabel_v2:Odd a sh:NodeShape ; sh:message "SceneryTemporaryStructure (Odd): Type of temporary drivable area structure present in the scenery. ISO 34503:2023, 9.7"@en ; sh:order 42 ; sh:path openlabel_v2:SceneryTemporaryStructure ], - [ sh:description "Type of regulatory sign."@en ; - sh:in ( openlabel_v2:RegulatorySignsUniformFullTime openlabel_v2:RegulatorySignsUniformTemporary openlabel_v2:RegulatorySignsVariableFullTime openlabel_v2:RegulatorySignsVariableTemporary ) ; + [ sh:description "Type of information sign."@en ; + sh:in ( openlabel_v2:InformationSignsUniform openlabel_v2:InformationSignsUniformFullTime openlabel_v2:InformationSignsUniformTemporary openlabel_v2:InformationSignsVariable openlabel_v2:InformationSignsVariableFullTime openlabel_v2:InformationSignsVariableTemporary ) ; sh:maxCount 1 ; - sh:message "SignsRegulatory (Odd): Type of regulatory sign. ISO 34503:2023, 9.3.5"@en ; - sh:order 45 ; - sh:path openlabel_v2:SignsRegulatory ], + sh:message "SignsInformation (Odd): Type of information sign. ISO 34503:2023, 9.3.5"@en ; + sh:order 44 ; + sh:path openlabel_v2:SignsInformation ], [ sh:datatype xsd:decimal ; sh:description "Wind speed in metres per second."@en ; sh:maxCount 1 ; diff --git a/linkml/openlabel-v2/REFINEMENT_PROOF.md b/linkml/openlabel-v2/REFINEMENT_PROOF.md new file mode 100644 index 00000000..9b4e45c8 --- /dev/null +++ b/linkml/openlabel-v2/REFINEMENT_PROOF.md @@ -0,0 +1,58 @@ +# Refinement Proof — `openlabel-v2` + +Auto-generated by `scripts/schema_refinement_prover.py`. Asserts that the LinkML-generated JSON Schema (L) is a **sound refinement** of the normative reference JSON Schema (A) within the declared scope. Regenerate after any schema or submodule change. + +**Verdict: PROVEN (sound refinement modulo declared relaxations)** + +## 1. Scope projection ($ref reachability) + +- **In scope (10 defs):** `attributes`, `boolean`, `metadata`, `num`, `ontologies`, `resource_uid`, `tag`, `tag_data`, `text`, `vec` +- **Out of scope (36 defs):** `action`, `action_data`, `area_reference`, `bbox`, `binary`, `context`, `context_data`, `coordinate_system`, `coordinate_systems`, `cuboid`, `element_data_pointer`, `element_data_pointers`, `event`, `event_data`, `frame`, `frame_interval`, `image`, `line_reference`, `mat`, `mesh`, `object`, `object_data`, `openlabel`, `point2d`, `point3d`, `poly2d`, `poly3d`, `rbbox`, `rdf_agent`, `relation`, `resources`, `stream`, `stream_properties`, `streams`, `transform`, `transform_data` + +## 2. Structural correspondence (gap table) + +| Reference def | LinkML def | Aspect | Class | Detail | Justification | +|---|---|---|---|---|---| +| `boolean` | `BooleanVal` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `metadata` | `Metadata` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `num` | `NumVal` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `ontologies` | `OntologyEntry` | required | **REFINEMENT** | L additionally requires ['uid', 'uri'] | Intended strengthening (Delta): L validates what A leaves open. | +| `resource_uid` | `ResourceUid` | required | **REFINEMENT** | L additionally requires ['identifier_in_resource', 'uid'] | Intended strengthening (Delta): L validates what A leaves open. | +| `resource_uid` | `ResourceUid` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `tag` | `TagEntry` | required | **REFINEMENT** | L additionally requires ['ontology_uid', 'uid'] | Spec §8.2.1: every scenario tag references its ontology; all spec examples include ontology_uid. Disclosed stricter case. | +| `tag` | `TagEntry` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Rejects undocumented tag keys; tightens, never loosens, the contract. | +| `tag` | `TagEntry` | type (enum) | **REFINEMENT** | A: unconstrained -> L: enum of 256 | A leaves tag.type/num.type/vec.type as unconstrained strings; L pins them to the ASAM vocabulary (TagTypeEnum = 256 ontology classes) and spec value sets. Pure strengthening. | +| `tag_data` | `TagData` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `text` | `TextVal` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | +| `vec` | `VecVal` | additionalProperties | **REFINEMENT** | L closes the object (A is open) | Intended strengthening (Delta): L validates what A leaves open. | + +_36 OUT_OF_SCOPE definitions omitted from the table (listed in §1)._ + +## 3. Differential oracle + +### 3a. Soundness corpus (L-grammar + mutations → must be A-valid) + +- corpus size: **226** +- AGREE (both accept): 107 +- AGREE (both reject): 52 +- LINKML-STRICTER (A accept / L reject): 10 — expected (Δ refinements) +- disclosed looser (A reject / L accept, declared benign): 57 [simple_dict_object_form=57] +- **UNDISCLOSED LINKML-LOOSER (A reject / L accept): ✅ empty** + +### 3b. Completeness corpus (A|τ-valid → measure L strictness) + +- corpus size: **154** +- AGREE (both accept): 18 +- AGREE (both reject): 0 +- LINKML-STRICTER (A accept / L reject): 136 — expected (Δ refinements) +- disclosed looser (A reject / L accept, declared benign): 0 [none] +- **UNDISCLOSED LINKML-LOOSER (A reject / L accept): ✅ empty** + +## 4. Result + +- Soundness gate (no undisclosed LINKML-LOOSER): ✅ PASS +- Coverage gate (no UNMAPPED in-scope defs): ✅ PASS +- Structural LOOSER rows: 0 total, 0 undisclosed ✅ + +> **Interpretation.** The relation proven is L = A|τ refined by Δ (intended strengthenings: vocabulary enums, required fields, closed objects, const pins) and relaxed by the declared, bounded set Λ = {simple_dict_object_form}. Both Δ and Λ are finite and enumerated here, so the claim is falsifiable: any instance L accepts that A rejects for a reason outside Λ appears in the UNDISCLOSED bucket and fails the gate. + diff --git a/linkml/openlabel-v2/SCHEMA_MODELING.md b/linkml/openlabel-v2/SCHEMA_MODELING.md new file mode 100644 index 00000000..813226b4 --- /dev/null +++ b/linkml/openlabel-v2/SCHEMA_MODELING.md @@ -0,0 +1,321 @@ +# OpenLABEL v2 — Unified LinkML Modeling Strategy + +## Overview + +This directory contains **two complementary LinkML schemas** that together form +the single source of truth for ASAM OpenLABEL scenario tagging: + +| Schema | Purpose | Generates | +|--------|---------|-----------| +| `openlabel-v2.yaml` | Semantic model (tag vocabulary) | OWL ontology, SHACL shapes, JSON-LD context | +| `openlabel-v2-schema.yaml` | Structural model (file format) | JSON Schema for ASAM v1 format files | + +## Architecture + +``` +openlabel-v2.yaml (Semantic Model) +├── 25 classes: Tag, AdminTag, Odd, Behaviour, RoadUser, OddScenery, +│ SceneryJunction, EnvironmentWeather, ... (hierarchy category nodes) +├── 113 typed slots: WeatherRain (boolean), weatherRainValue (decimal), ... +├── 27 enums: DrivableAreaTypeEnum, JunctionIntersectionEnum, ... +│ └── 152 permissible values +└── Generates: + ├── openlabel-v2.owl.ttl (OWL 2 ontology) + ├── openlabel-v2.shacl.ttl (SHACL validation shapes) + └── openlabel-v2.context.jsonld (JSON-LD context with type coercion) + +openlabel-v2-schema.yaml (Structural Model) +├── 12 classes: OpenLabelFile, OpenLabel, Metadata, TagEntry, TagData, +│ BooleanVal, NumVal, TextVal, VecVal, Attributes, ... +├── TagTypeEnum: 256 valid tag.type values (every ASAM v1 tag class + admin tag) +├── BoundaryModeEnum, NumTypeEnum, VecTypeEnum, ValueOnlyTypeEnum +└── Generates: + └── openlabel-v2.schema.json (JSON Schema for ASAM v1 format) +``` + +## How They Work Together + +The **semantic model** defines WHAT tags exist and their validation rules. +The **structural model** defines HOW those tags are serialized in ASAM v1 JSON files. + +The bridge between them is `TagTypeEnum` — it lists all 256 valid `tag.type` values +derived from the semantic model's tag classes, slots, and enum values (every +`rdfs:Class` in the ASAM scenario tagging ontology plus the administration tags; +`*Value` value-properties and `hasTag` are excluded as they are not tag types). +When the vocabulary changes (e.g., adding a new tag), the `TagTypeEnum` is +regenerated and the JSON Schema automatically reflects the update. + +``` +User changes openlabel-v2.yaml (add new tag) + │ + ├── make generate → OWL/SHACL/context updated ✅ + │ + └── Regenerate TagTypeEnum → openlabel-v2-schema.yaml updated + │ + └── gen-json-schema → JSON Schema updated ✅ +``` + +## Scope + +This structural schema models **scenario-tagging files** — the `openlabel` object +restricted to `metadata`, `ontologies`, and `tags` (spec 8.1: tags carry no +spatiotemporal constructs). Multi-sensor labeling containers (`objects`, `frames`, +`streams`, `coordinate_systems`, …) are intentionally out of scope. A file that +combines tagging *and* labeling will therefore validate against the ASAM schema +but not this tagging-scoped schema; that is by design. + +## Functional Equivalence Proof + +There are two layers of evidence, anecdotal and systematic. + +**Systematic (machine-checked refinement proof).** The authoritative statement of +equivalence is `REFINEMENT_PROOF.md`, auto-generated by the ontology-independent +`scripts/schema_refinement_prover.py` and gated by +`tests/unit/test_schema_refinement.py`. It proves the falsifiable relation + +> **L = A|τ refined by Δ, relaxed by Λ** + +where `A` is the normative ASAM JSON Schema, `A|τ` is its scenario-tagging +projection (the `$ref`-reachability closure of `metadata`/`ontologies`/`tags` — 10 +in-scope defs, 36 out of scope, derived not asserted), `L` is the LinkML-generated +schema, `Δ` is the enumerated set of intended strengthenings (vocabulary enums, +required fields, closed objects, const pins), and `Λ` is the enumerated set of +disclosed, bounded relaxations (now just one — an inlined simple-dict object-form +LinkML expressivity limit; the dict-key-naming and explicit-`null` relaxations are +closed; see below). The proof has three pillars: scope +projection, a structural gap table, and a **differential oracle** that generates a +mutation + property-based instance corpus (via `hypothesis-jsonschema`) and checks +that nothing `L` accepts is rejected by `A` for a reason outside `Λ`. The +**soundness gate** fails on a single such counterexample. Regenerate after any +schema or submodule change: + +```bash +python scripts/schema_refinement_prover.py --spec linkml/openlabel-v2/proof_spec.yaml \ + --out linkml/openlabel-v2/REFINEMENT_PROOF.md +``` + +**Anecdotal (curated spec examples).** The table below cross-validates the canonical +chapter-8 examples against both schemas. Every row is asserted by +`tests/unit/test_openlabel_schema.py::TestFunctionalEquivalence` +(`SPEC_EXAMPLES` accept-in-both, `SHARED_INVALID` reject-in-both, `LINKML_STRICTER` +accept-in-ASAM / reject-in-LinkML): + +| Test Case | ASAM Schema | LinkML Schema | Verdict | +|-----------|-------------|---------------|---------| +| Valid: minimal tagging (§8.6) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Valid: numeric range `vec.val:[3.4,3.7]` (§8.2.5) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Valid: numeric set `vec.val:[2,3]` (§8.2.5) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Valid: numeric tag_data (§8.2.4) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Valid: `tag_data` as string (§8.7) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Valid: ontology entry as string (§8.2.1) | ✅ ACCEPT | ✅ ACCEPT | Equivalent | +| Invalid: missing metadata | ❌ REJECT | ❌ REJECT | Equivalent | +| Invalid: missing tag.type | ❌ REJECT | ❌ REJECT | Equivalent | +| Invalid: num.val wrong type | ❌ REJECT | ❌ REJECT | Equivalent | +| Invalid: **unknown tag.type** | ✅ ACCEPT | ❌ REJECT | **LinkML stricter** | +| Invalid: **wrong boundary_mode** | ✅ ACCEPT | ❌ REJECT | **LinkML stricter** | +| Invalid: **missing `tag.ontology_uid`** | ✅ ACCEPT | ❌ REJECT | **LinkML stricter** | + +**Result: equivalent acceptance/rejection for spec tagging files; LinkML is STRICTER +only where it adds value — it also validates the tag vocabulary (tag.type values), +the `schema_version`, the `boundary_mode`, and the boolean/text `type` enums, and it +requires `tag.ontology_uid`, all of which the ASAM schema leaves unconstrained.** + +> **Disclosed stricter case — `tag.ontology_uid` is required.** ASAM's JSON Schema +> lists only `type` as required on a tag, so a bare `{"type": "WeatherRain"}` is +> ASAM-valid but rejected here. This is intentional: every scenario tag references +> its ontology (spec 8.2.1), all spec examples include `ontology_uid`, and keeping +> it required also avoids a LinkML simple-dict shorthand (bare-string tags) that +> ASAM forbids. Real ASAM files that omit `ontology_uid` will not validate against +> this schema by design. + +## Additional Gains from LinkML Modeling + +### 1. Vocabulary Validation (NEW — ASAM schema lacks this) + +The ASAM JSON Schema defines `tag.type` as an unconstrained `string`. Any value +passes structural validation, even nonsense like `"CompletelyFakeTag"`. + +The LinkML-generated schema constrains `tag.type` to exactly 256 valid values +derived from the ontology. Invalid vocabulary is caught at validation time: + +``` +ASAM: {"type": "NonExistentTag", "ontology_uid": "0"} → ✅ VALID (!) +LinkML: {"type": "NonExistentTag", "ontology_uid": "0"} → ❌ INVALID + "is not one of ['Tag', 'AdminTag', 'Odd', ...]" +``` + +### 2. Single Source of Truth (No Drift) + +| Artifact | Before (v1) | After (v2) | +|----------|-------------|------------| +| OWL ontology | Hand-maintained by ASAM | Generated from LinkML | +| SHACL shapes | Hand-maintained by third party | Generated from LinkML | +| JSON-LD context | Auto-generated from OWL+SHACL | Generated from LinkML | +| JSON Schema | Hand-maintained by ASAM | Generated from LinkML | + +With both schemas in LinkML, **all four artifacts are generated from models**. +A vocabulary change requires editing ONE file (`openlabel-v2.yaml`). All +downstream artifacts update automatically. No manual synchronization needed. + +### 3. Enum Validation for Supporting Fields + +Beyond `tag.type`, the LinkML schema also validates: + +- `boundary_mode`: constrained to `["include", "exclude"]` +- `num.type`: constrained to `["value", "min", "max"]` +- `vec.type`: constrained to `["range", "set", "values"]` + +The ASAM schema has `boundary_mode` as an enum but leaves `num.type` and +`vec.type` unconstrained. The LinkML schema enforces all of them. + +### 4. Required Field Validation (Equivalent) + +Both schemas enforce: +- `metadata.schema_version` is required +- `tag.type` is required +- `tag.ontology_uid` is required +- `ontology.uri` is required +- `num.val`, `boolean.val`, `text.val`, `vec.val` are required + +### 5. Structural Typing (Equivalent) + +Both schemas validate: +- `num.val` must be a number (not a string) +- `boolean.val` must be a boolean +- `vec.val` must be an array +- `ontologies` and `tags` must be objects (dict-keyed) + +### 6. Documentation Co-location + +The LinkML schema includes `description` fields on every class and attribute, +providing inline documentation that appears in the generated JSON Schema as +`description` annotations. This makes the schema self-documenting. + +### 7. Cross-Validation with Semantic Artifacts + +When combined with the semantic model, users get **layered validation**: + +| Layer | Tool | What it validates | +|-------|------|-------------------| +| 1. Structure | JSON Schema (from schema model) | Keys, types, required fields | +| 2. Vocabulary | JSON Schema TagTypeEnum | Valid tag.type values | +| 3. Semantics | SHACL (from semantic model) | Enum values, cardinality, conditional rules | +| 4. Reasoning | OWL (from semantic model) | Class consistency, property ranges | + +A single `@context` IRI enables the v2 JSON-LD path (layers 3-4). +The JSON Schema path (layers 1-2) works without any context. + +## Synergy with Existing Ontology Model + +The `openlabel-v2.yaml` semantic model already provides: + +- **Closed SHACL shapes** — reject unknown properties +- **Conditional constraints** — 18 boolean↔value rules (e.g., if weatherWindValue present, WeatherWind must be true) +- **Type coercion via @vocab** — bare strings expand to IRIs during JSON-LD processing +- **QuantitativeValue support** — values can be simple numbers or structured min/max ranges + +The structural schema (`openlabel-v2-schema.yaml`) complements this by validating +the ASAM v1 file format — which uses a different (generic) representation of the +same semantic content. Together, they support both: + +1. **v1 path**: Plain JSON → JSON Schema validation (structure + vocabulary) +2. **v2 path**: JSON-LD → SHACL validation (structure + semantics + constraints) + +### Migration Support + +Users with existing ASAM v1 files can: +1. Validate structure/vocabulary with the generated JSON Schema (immediate value) +2. Optionally add `@context` to migrate to v2 format (full semantic validation) + +Both paths are supported by artifacts generated from the same LinkML source. + +## Usage + +```bash +# Generate semantic artifacts (OWL, SHACL, context) +make generate DOMAIN=openlabel-v2 + +# Generate JSON Schema from structural model +gen-json-schema linkml/openlabel-v2/openlabel-v2-schema.yaml > artifacts/openlabel-v2/openlabel-v2.schema.json + +# Regenerate TagTypeEnum after vocabulary changes +python scripts/sync_tag_type_enum.py + +# Validate a v1 format file against the generated schema +python -c " +import json, jsonschema +with open('artifacts/openlabel-v2/openlabel-v2.schema.json') as f: + schema = json.load(f) +with open('my_tagging_file.json') as f: + instance = json.load(f) +jsonschema.validate(instance, schema) +print('Valid!') +" +``` + +## Known Differences from ASAM Schema + +| Aspect | ASAM JSON Schema | LinkML-generated | +|--------|-----------------|-----------------| +| Dict key validation | `patternProperties: "^(0-9\|UUID)$"` | `additionalProperties` (any key) | +| `tag.type` constraint | None (any string) | Enum with 256 values (full ASAM vocabulary) | +| `tag_data` as string | Allowed via `oneOf` | Allowed via `any_of` (object or string) | +| `vec.val` items | `oneOf[number, string]` | `any_of[number, string]` (numeric ranges/sets) | +| `schema_version` | `enum: ["1.0.0"]` | `const: "1.0.0"` | +| `boolean`/`text` `type` | `enum: ["value"]` | `ValueOnlyTypeEnum` (value) | +| Multi-sensor definitions | 36 (objects, frames, geometry) | Not included (tagging only) | +| Scope | All of OpenLABEL | Scenario tagging subset | + +### Disclosed relaxations (Λ) — where LinkML is *looser* than ASAM + +The refinement proof is honest about every direction in which the generated schema +accepts inputs ASAM rejects. The differential oracle surfaces these automatically; +each is either eliminated or declared in `proof_spec.yaml`: + +| # | Relaxation | Status | Effect / resolution | +|---|-----------|--------|---------------------| +| Λ1 | **Dict-key naming** | **Closed** | ASAM restricts `tags`/`ontologies`/`resource_uid` keys to numeric/UUID via `patternProperties`. Closed by adding `pattern` to the `uid` identifier slots → emitted as JSON Schema `propertyNames` (linkml jsonschemagen, [PR #16](https://github.com/ASCS-eV/linkml/pull/16)), plus `--closed` so the root rejects unknown keys. `key_pattern` is omitted from `allow_looseness`, so the gate **fails** if it reappears. | +| Λ2 | **Explicit `null` on optional fields** | **Closed** | LinkML defaults optional scalars to `type: ["", "null"]` (`include_null=True`). Closed by generating with the native `--no-include-null` flag ([PR #15](https://github.com/ASCS-eV/linkml/pull/15)), scoped per-domain via `linkml/openlabel-v2/jsonschema.genopts`. Omitted from `allow_looseness` (regression-guarded). | +| Λ3 | **Inlined simple-dict object form** | **Declared** (`allow_looseness: [simple_dict_object_form]`) | `tag.resource_uid` is ASAM's id→string map. LinkML models it as an inlined simple-dict (`ResourceUid`: `uid` + `identifier_in_resource`), which always *also* accepts the object form `{identifier_in_resource: ...}` for the value, not just the bare string. ASAM accepts only the string. This is a **LinkML expressivity limit** (an inlined simple-dict cannot be restricted to scalar-only values), not a model defect — affects only the optional `resource_uid` value form; keys and the string form validate identically. | + +Λ1 and Λ2 are now **closed** (the two linkml generator features were upstreamed via +the ASCS-eV fork). Λ3 is the single residual; it is not expressible away in LinkML's +structural model and is therefore declared and reported in `REFINEMENT_PROOF.md`. + +> **Toolchain note.** JSON-Schema generation runs through the `gen-json-schema` CLI +> with per-domain options in `linkml//jsonschema.genopts` (openlabel-v2: +> `--no-include-null --closed`); domains without that file get LinkML defaults. +> Regenerating requires the linkml version pinned in `submodules/linkml/` and +> `pyproject.toml` (the `feat/envited-x-pipeline` SHA carrying the `--include-null` +> and `propertyNames` generator features, metamodel 1.11.0); an older venv silently +> drops `format: uri` and the `propertyNames`/`--no-include-null` behavior. + +### Schema `$id` namespace + +The structural model's `id` is `https://w3id.org/ascs-ev/envited-x/openlabel/schema/v1`, +a deliberate sibling of the semantic model's `…/envited-x/openlabel/v2`. The extra +`/schema/` segment distinguishes the two models that share the single `openlabel` +domain (the documented `…/envited-x/{domain}/v{n}` pattern assumes one model per +domain). It is a JSON-Schema `$id` only — not a resolvable ontology IRI — so no w3id +redirect is required. The semantic model keeps the canonical domain IRI. + +## File Inventory + +``` +linkml/openlabel-v2/ +├── openlabel-v2.yaml ← Semantic model (vocabulary + constraints) +├── openlabel-v2-schema.yaml ← Structural model (file format) +├── proof_spec.yaml ← Refinement-proof spec (scope, Δ, Λ, justifications) +├── proof_seeds/ ← Canonical chapter-8 example instances (proof corpus) +├── REFINEMENT_PROOF.md ← Auto-generated machine-checked refinement proof +├── GAP_ANALYSIS.md ← Detailed v1↔v2 comparison +├── IMPROVEMENTS.md ← v2 improvements over v1 +└── SCHEMA_MODELING.md ← This file + +scripts/schema_refinement_prover.py ← Ontology-independent prover (reusable) +tests/unit/test_schema_refinement.py ← Proof gate (CI) +``` + +To prove a *different* JSON-Schema → LinkML migration, drop a sibling +`proof_spec.yaml` next to its model; the prover and the test pick it up +automatically (the test globs `linkml/*/proof_spec.yaml`). diff --git a/linkml/openlabel-v2/jsonschema.genopts b/linkml/openlabel-v2/jsonschema.genopts new file mode 100644 index 00000000..da38205c --- /dev/null +++ b/linkml/openlabel-v2/jsonschema.genopts @@ -0,0 +1 @@ +--no-include-null --closed diff --git a/linkml/openlabel-v2/openlabel-v2-schema.yaml b/linkml/openlabel-v2/openlabel-v2-schema.yaml new file mode 100644 index 00000000..61a80125 --- /dev/null +++ b/linkml/openlabel-v2/openlabel-v2-schema.yaml @@ -0,0 +1,961 @@ +# ASAM OpenLABEL Scenario Tagging File Format Schema +# ============================================================================= +# +# This LinkML schema models the STRUCTURAL format of ASAM OpenLABEL v1.0.0 +# scenario tagging JSON files. It generates a JSON Schema that validates the +# file format (structure, keys, required fields) AND the tag vocabulary +# (valid tag.type values derived from the openlabel-v2 ontology). +# +# Architecture: +# openlabel-v2.yaml -> Semantic model (OWL, SHACL, JSON-LD context) +# openlabel-v2-schema.yaml -> Structural model (JSON Schema for v1 format) +# +# The TagTypeEnum bridges both: it lists all valid tag.type values from the +# ontology vocabulary. Changes to the ontology automatically flow into the +# JSON Schema when this enum is regenerated. +# +# Usage: +# gen-json-schema linkml/openlabel-v2/openlabel-v2-schema.yaml +# +# ============================================================================= + +id: https://w3id.org/ascs-ev/envited-x/openlabel/schema/v1 +name: openlabel-v2-schema +title: ASAM OpenLABEL Scenario Tagging File Format Schema +description: >- + Structural schema for ASAM OpenLABEL v1.0.0 scenario tagging JSON files. + Models the file format (openlabel root, metadata, ontologies, tags, tag_data) + and constrains tag.type values to the openlabel-v2 ontology vocabulary. +version: "1.0.0" +license: https://www.eclipse.org/legal/epl-2.0/ + +prefixes: + linkml: https://w3id.org/linkml/ + openlabel_schema: https://w3id.org/ascs-ev/envited-x/openlabel/schema/v1/ + +default_prefix: openlabel_schema + +imports: + - linkml:types + +# ============================================================================= +# Classes +# ============================================================================= +classes: + + # --------------------------------------------------------------------------- + # Root wrapper: {"openlabel": {...}} + # --------------------------------------------------------------------------- + OpenLabelFile: + tree_root: true + description: >- + Root of an ASAM OpenLABEL JSON file. Contains a single "openlabel" key. + attributes: + openlabel: + range: OpenLabel + required: true + description: The OpenLABEL root object containing all annotation data. + + # --------------------------------------------------------------------------- + # OpenLabel container (scenario tagging subset) + # --------------------------------------------------------------------------- + OpenLabel: + description: >- + The OpenLABEL root JSON object for scenario tagging. Contains metadata, + ontology references, and tags. For scenario tagging, objects/actions/frames + are not used (spec 8.1 - tags do not include spatiotemporal constructs). + attributes: + metadata: + range: Metadata + required: true + description: >- + Metadata about the annotation file (schema version, annotator, etc.). + ontologies: + range: OntologyEntry + multivalued: true + inlined: true + inlined_as_list: false + description: >- + Ontology references keyed by UID. Each entry specifies the URI + of an ontology and optional tagging boundary controls. + tags: + range: TagEntry + multivalued: true + inlined: true + inlined_as_list: false + description: >- + Tags keyed by UID. Each entry specifies the tag type (from an + ontology) and optional tag_data with values. + + # --------------------------------------------------------------------------- + # Metadata + # --------------------------------------------------------------------------- + Metadata: + description: >- + Metadata about the annotation file. The schema_version is mandatory. + attributes: + schema_version: + range: string + required: true + equals_string: "1.0.0" + description: >- + The version of the ASAM OpenLABEL schema this file conforms to. + ASAM constrains this to "1.0.0". + tagged_file: + range: string + description: >- + Path or URI to the raw data file that this annotation references. + annotator: + range: string + description: Name or identifier of the annotator. + comment: + range: string + description: Free-text comment about the annotation. + name: + range: string + description: Name of the annotation file. + file_version: + range: string + description: Version of the annotation file. + + # --------------------------------------------------------------------------- + # OntologyEntry + # --------------------------------------------------------------------------- + OntologyEntry: + description: >- + An ontology reference. Specifies the URI of the ontology and optional + boundary controls for tagging subsets (spec 8.2.2). + attributes: + uid: + identifier: true + range: string + required: true + pattern: "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + description: >- + Unique identifier for this ontology entry (numeric UID or UUID). The + pattern constrains the dict keys in the ontologies object (ASAM: + numeric UID or UUID), rendered as JSON Schema propertyNames. + uri: + range: uri + required: true + description: >- + URI of the ontology definition (RDF Turtle file URL). + boundary_list: + range: string + multivalued: true + description: >- + List of tag names that define the tagging boundary. Used with + boundary_mode to specify which subset of ontology tags is relevant. + boundary_mode: + range: BoundaryModeEnum + description: >- + Whether boundary_list specifies inclusion or exclusion of tags. + + # --------------------------------------------------------------------------- + # TagEntry + # --------------------------------------------------------------------------- + TagEntry: + description: >- + A single tag in an ASAM OpenLABEL file. References a tag type from an + ontology and optionally includes tag_data with values. + attributes: + uid: + identifier: true + range: string + required: true + pattern: "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + description: >- + Unique identifier for this tag entry (numeric UID or UUID). The pattern + constrains the dict keys in the tags object (ASAM: numeric UID or UUID), + rendered as JSON Schema propertyNames. + type: + range: TagTypeEnum + required: true + description: >- + The type of tag, referencing a class or property name from the + ontology. Constrained to valid values from the openlabel-v2 vocabulary. + ontology_uid: + range: string + required: true + description: >- + UID of the ontology (from the ontologies section) where this tag + type is defined. Required: every scenario tag references its ontology + (spec 8.2.1). (ASAM's JSON Schema lists only "type" as required, but + all spec examples and real files include ontology_uid; keeping it + required also avoids a LinkML simple-dict shorthand that ASAM forbids.) + resource_uid: + range: ResourceUid + multivalued: true + inlined: true + inlined_as_list: false + description: >- + Links to external resources, keyed by UID (ASAM resource_uid: a map of + id -> the element's identifier string in the external resource). + tag_data: + any_of: + - range: TagData + - range: string + description: >- + Optional data associated with this tag (values, ranges, text). + ASAM models tag_data as oneOf[object, string]; both forms are allowed. + + # --------------------------------------------------------------------------- + # TagData - generic data container (spec 8.7) + # --------------------------------------------------------------------------- + TagData: + description: >- + Generic data associated with a tag. Contains arrays of typed values + (boolean, numeric, text, vector). For scenario tagging, only non-geometric + data types are used (spec 8.7). + attributes: + boolean: + range: BooleanVal + multivalued: true + inlined_as_list: true + description: List of boolean values describing this tag. + num: + range: NumVal + multivalued: true + inlined_as_list: true + description: List of numeric values describing this tag. + text: + range: TextVal + multivalued: true + inlined_as_list: true + description: List of text values describing this tag. + vec: + range: VecVal + multivalued: true + inlined_as_list: true + description: List of vector (array) values describing this tag. + + # --------------------------------------------------------------------------- + # Generic data types (boolean, num, text, vec) - spec 8.7.1-8.7.4 + # --------------------------------------------------------------------------- + BooleanVal: + description: >- + A boolean value entry in tag_data or attributes (spec 8.7.1). + attributes: + name: + range: string + description: Name of this data entry (used as index in data pointers). + val: + range: boolean + required: true + description: The boolean value. + type: + range: ValueOnlyTypeEnum + description: How the value shall be interpreted (ASAM allows only "value"). + attributes: + range: Attributes + description: Nested attributes for this data entry. + + NumVal: + description: >- + A numeric value entry in tag_data or attributes (spec 8.7.2). + attributes: + name: + range: string + description: Name of this data entry. + val: + range: float + required: true + description: >- + The numerical value. Modelled as a number to match the ASAM JSON + Schema (num.val type=number). NOTE: spec 8.2.4's prose example shows + "val": "3.1" (a string), which is inconsistent with the ASAM schema; + the schema (number) is authoritative. + type: + range: NumTypeEnum + description: >- + How the number shall be interpreted: value, minimum, or maximum. + attributes: + range: Attributes + description: Nested attributes for this data entry. + + TextVal: + description: >- + A text value entry in tag_data or attributes (spec 8.7.3). + attributes: + name: + range: string + description: Name of this data entry. + val: + range: string + required: true + description: The text value. + type: + range: ValueOnlyTypeEnum + description: How the text shall be interpreted (ASAM allows only "value"). + attributes: + range: Attributes + description: Nested attributes for this data entry. + + VecVal: + description: >- + A vector (array) value entry in tag_data or attributes (spec 8.7.4). + Used for ranges, sets, and multi-valued data. + attributes: + name: + range: string + description: Name of this data entry. + val: + multivalued: true + required: true + any_of: + - range: float + - range: string + description: >- + Array of values. ASAM vec.val items are oneOf[number, string] + (e.g. a numeric range [3.4, 3.7] or a set [2, 3]). + type: + range: VecTypeEnum + description: >- + How the vector shall be interpreted: range or values (ASAM vec.type). + attributes: + range: Attributes + description: Nested attributes for this data entry. + + # --------------------------------------------------------------------------- + # Attributes - recursive nested data container + # --------------------------------------------------------------------------- + Attributes: + description: >- + Nested attributes for any data entry. Same structure as tag_data. + attributes: + boolean: + range: BooleanVal + multivalued: true + inlined_as_list: true + description: Nested boolean attributes. + num: + range: NumVal + multivalued: true + inlined_as_list: true + description: Nested numeric attributes. + text: + range: TextVal + multivalued: true + inlined_as_list: true + description: Nested text attributes. + vec: + range: VecVal + multivalued: true + inlined_as_list: true + description: Nested vector attributes. + + # --------------------------------------------------------------------------- + # ResourceUid - external resource references + # --------------------------------------------------------------------------- + ResourceUid: + description: >- + A reference to an element in an external resource (ASAM resource_uid): a map + keyed by a numeric/UUID id whose value is the element's identifier string in + the external resource. + attributes: + uid: + identifier: true + range: string + pattern: "^(-?[0-9]+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$" + description: External-resource reference key (numeric UID or UUID). + identifier_in_resource: + range: string + required: true + description: Identifier of the element in the external resource. + +# ============================================================================= +# Enums +# ============================================================================= +enums: + + BoundaryModeEnum: + description: >- + Mode for interpreting the ontology tagging boundary (spec 8.2.2). + permissible_values: + include: + description: >- + Subset is the boundary tags plus their ascendants. + exclude: + description: >- + Subset is all tags minus boundary tags and their descendants. + + NumTypeEnum: + description: >- + How a numeric value shall be interpreted in its context. + permissible_values: + value: + description: The number represents a single value. + min: + description: The number represents a minimum bound. + max: + description: The number represents a maximum bound. + + VecTypeEnum: + description: >- + How a vector (array) value shall be interpreted (ASAM: range or values). + permissible_values: + range: + description: Two-element array [min, max] defining a value range. + values: + description: Ordered list of discrete values. + + ValueOnlyTypeEnum: + description: >- + Interpretation for boolean/text data entries. ASAM allows only "value". + permissible_values: + value: + description: The entry represents a single value. + + + TagTypeEnum: + description: >- + All valid values for the tag.type field in ASAM OpenLABEL v1 format + files. Derived from the openlabel-v2 ontology vocabulary (classes, + enums, slots). AUTO-GENERATED — do not edit manually. + permissible_values: + # --- Tag classes (hierarchy nodes) --- + AdminTag: + description: Tag class (hierarchy node) + Behaviour: + description: Tag class (hierarchy node) + BehaviourMotion: + description: Tag class (hierarchy node) + DrivableAreaGeometry: + description: Tag class (hierarchy node) + DrivableAreaLaneSpecification: + description: Tag class (hierarchy node) + DrivableAreaSigns: + description: Tag class (hierarchy node) + DrivableAreaSurface: + description: Tag class (hierarchy node) + DynamicElementsSubjectVehicle: + description: Tag class (hierarchy node) + DynamicElementsTraffic: + description: Tag class (hierarchy node) + EnvironmentConnectivity: + description: Tag class (hierarchy node) + EnvironmentIllumination: + description: Tag class (hierarchy node) + EnvironmentWeather: + description: Tag class (hierarchy node) + GeometryHorizontal: + description: Tag class (hierarchy node) + GeometryLongitudinal: + description: Tag class (hierarchy node) + IlluminationDay: + description: Tag class (hierarchy node) + Odd: + description: Tag class (hierarchy node) + OddDynamicElements: + description: Tag class (hierarchy node) + OddEnvironment: + description: Tag class (hierarchy node) + OddScenery: + description: Tag class (hierarchy node) + RoadUser: + description: Tag class (hierarchy node) + Scenario: + description: Tag class (hierarchy node) + SceneryDrivableArea: + description: Tag class (hierarchy node) + SceneryJunction: + description: Tag class (hierarchy node) + Tag: + description: Tag class (hierarchy node) + # --- Administration tag properties --- + licenseURI: + description: Administration tag property + ownerEmail: + description: Administration tag property + ownerName: + description: Administration tag property + ownerURL: + description: Administration tag property + scenarioCreatedDate: + description: Administration tag property + scenarioDefinition: + description: Administration tag property + scenarioDefinitionLanguageURI: + description: Administration tag property + scenarioDescription: + description: Administration tag property + scenarioName: + description: Administration tag property + scenarioParentReference: + description: Administration tag property + scenarioUniqueReference: + description: Administration tag property + scenarioVersion: + description: Administration tag property + scenarioVisualisationURL: + description: Administration tag property + # --- Boolean flag tags (ODD/Behaviour) --- + DaySunElevation: + description: Boolean ODD/Behaviour flag + HorizontalCurves: + description: Boolean ODD/Behaviour flag + HorizontalStraights: + description: Boolean ODD/Behaviour flag + IlluminationCloudiness: + description: Boolean ODD/Behaviour flag + LaneSpecificationDimensions: + description: Boolean ODD/Behaviour flag + LaneSpecificationLaneCount: + description: Boolean ODD/Behaviour flag + LaneSpecificationMarking: + description: Boolean ODD/Behaviour flag + LongitudinalDownSlope: + description: Boolean ODD/Behaviour flag + LongitudinalLevelPlane: + description: Boolean ODD/Behaviour flag + LongitudinalUpSlope: + description: Boolean ODD/Behaviour flag + MotionAccelerate: + description: Boolean ODD/Behaviour flag + MotionAway: + description: Boolean ODD/Behaviour flag + MotionCross: + description: Boolean ODD/Behaviour flag + MotionCutIn: + description: Boolean ODD/Behaviour flag + MotionCutOut: + description: Boolean ODD/Behaviour flag + MotionDecelerate: + description: Boolean ODD/Behaviour flag + MotionDrive: + description: Boolean ODD/Behaviour flag + MotionLaneChangeLeft: + description: Boolean ODD/Behaviour flag + MotionLaneChangeRight: + description: Boolean ODD/Behaviour flag + MotionOvertake: + description: Boolean ODD/Behaviour flag + MotionReverse: + description: Boolean ODD/Behaviour flag + MotionRun: + description: Boolean ODD/Behaviour flag + MotionSlide: + description: Boolean ODD/Behaviour flag + MotionStop: + description: Boolean ODD/Behaviour flag + MotionTowards: + description: Boolean ODD/Behaviour flag + MotionTurn: + description: Boolean ODD/Behaviour flag + MotionTurnLeft: + description: Boolean ODD/Behaviour flag + MotionTurnRight: + description: Boolean ODD/Behaviour flag + MotionUTurn: + description: Boolean ODD/Behaviour flag + MotionWalk: + description: Boolean ODD/Behaviour flag + RoadUserAnimal: + description: Boolean ODD/Behaviour flag + SubjectVehicleSpeed: + description: Boolean ODD/Behaviour flag + TrafficAgentDensity: + description: Boolean ODD/Behaviour flag + TrafficAgentType: + description: Boolean ODD/Behaviour flag + TrafficFlowRate: + description: Boolean ODD/Behaviour flag + TrafficSpecialVehicle: + description: Boolean ODD/Behaviour flag + TrafficVolume: + description: Boolean ODD/Behaviour flag + WeatherRain: + description: Boolean ODD/Behaviour flag + WeatherSnow: + description: Boolean ODD/Behaviour flag + WeatherWind: + description: Boolean ODD/Behaviour flag + # --- Enum category tags (slot names with enum ranges) --- + BehaviourCommunication: + description: Enum category tag (takes values from BehaviourCommunicationEnum) + ConnectivityCommunication: + description: Enum category tag (takes values from ConnectivityCommunicationEnum) + ConnectivityPositioning: + description: Enum category tag (takes values from ConnectivityPositioningEnum) + DaySunPosition: + description: Enum category tag (takes values from DaySunPositionEnum) + DrivableAreaEdge: + description: Enum category tag (takes values from DrivableAreaEdgeEnum) + DrivableAreaSurfaceCondition: + description: Enum category tag (takes values from DrivableAreaSurfaceConditionEnum) + DrivableAreaSurfaceFeature: + description: Enum category tag (takes values from DrivableAreaSurfaceFeatureEnum) + DrivableAreaSurfaceType: + description: Enum category tag (takes values from DrivableAreaSurfaceTypeEnum) + DrivableAreaType: + description: Enum category tag (takes values from DrivableAreaTypeEnum) + EnvironmentParticulates: + description: Enum category tag (takes values from EnvironmentParticulatesEnum) + GeometryTransverse: + description: Enum category tag (takes values from GeometryTransverseEnum) + IlluminationArtificial: + description: Enum category tag (takes values from IlluminationArtificialEnum) + IlluminationLowLight: + description: Enum category tag (takes values from IlluminationLowLightEnum) + JunctionIntersection: + description: Enum category tag (takes values from JunctionIntersectionEnum) + JunctionRoundabout: + description: Enum category tag (takes values from JunctionRoundaboutEnum) + LaneSpecificationTravelDirection: + description: Enum category tag (takes values from LaneSpecificationTravelDirectionEnum) + LaneSpecificationType: + description: Enum category tag (takes values from LaneSpecificationTypeEnum) + RainType: + description: Enum category tag (takes values from RainTypeEnum) + RoadUserHuman: + description: Enum category tag (takes values from RoadUserHumanEnum) + RoadUserVehicle: + description: Enum category tag (takes values from RoadUserVehicleEnum) + SceneryFixedStructure: + description: Enum category tag (takes values from SceneryFixedStructureEnum) + ScenerySpecialStructure: + description: Enum category tag (takes values from ScenerySpecialStructureEnum) + SceneryTemporaryStructure: + description: Enum category tag (takes values from SceneryTemporaryStructureEnum) + SceneryZone: + description: Enum category tag (takes values from SceneryZoneEnum) + SignsInformation: + description: Enum category tag (takes values from SignsInformationEnum) + SignsRegulatory: + description: Enum category tag (takes values from SignsRegulatoryEnum) + SignsWarning: + description: Enum category tag (takes values from SignsWarningEnum) + trafficAgentTypeValue: + description: Enum category tag (takes values from TrafficAgentTypeEnum) + # --- BehaviourCommunicationEnum --- + CommunicationHeadlightFlash: + description: "Flash headlight." + CommunicationHorn: + description: "Sound horn." + CommunicationSignalEmergency: + description: "Signal emergency." + CommunicationSignalHazard: + description: "Signal hazard." + CommunicationSignalLeft: + description: "Signal left." + CommunicationSignalRight: + description: "Signal right." + CommunicationSignalSlowing: + description: "Signal slowing." + CommunicationWave: + description: "Wave." + # --- ConnectivityCommunicationEnum --- + CommunicationV2i: + description: "Vehicle to infrastructure communication (V2I)." + CommunicationV2v: + description: "Vehicle to vehicle communication (V2V)." + V2iCellular: + description: "V2I via cellular network." + V2iSatellite: + description: "V2I via satellite." + V2iWifi: + description: "V2I via WiFi." + V2vCellular: + description: "V2V via cellular network." + V2vSatellite: + description: "V2V via satellite." + V2vWifi: + description: "V2V via WiFi." + # --- ConnectivityPositioningEnum --- + PositioningGalileo: + description: "Galileo." + PositioningGlonass: + description: "GLObal NAvigation Satellite System (GLONASS)." + PositioningGps: + description: "Global Positioning System (GPS)." + # --- DaySunPositionEnum --- + SunPositionBehind: + description: "Sun behind." + SunPositionFront: + description: "Sun in front." + SunPositionLeft: + description: "Sun on the left." + SunPositionRight: + description: "Sun on the right." + # --- DrivableAreaEdgeEnum --- + EdgeLineMarkers: + description: "Line markers." + EdgeNone: + description: "None." + EdgeShoulderGrass: + description: "Shoulder (grass)." + EdgeShoulderPavedOrGravel: + description: "Shoulder (paved or gravel)." + EdgeSolidBarriers: + description: "Solid barriers (e.g. grating, rails, curb, cones)." + EdgeTemporaryLineMarkers: + description: "Temporary line markers." + # --- DrivableAreaSurfaceConditionEnum --- + SurfaceConditionContamination: + description: "Surface contamination." + SurfaceConditionFlooded: + description: "Flooded roadways." + SurfaceConditionIcy: + description: "Icy." + SurfaceConditionMirage: + description: "Mirage effect on the drivable area surface." + SurfaceConditionSnow: + description: "Snow on drivable area." + SurfaceConditionStandingWater: + description: "Standing water." + SurfaceConditionWet: + description: "Wet road." + # --- DrivableAreaSurfaceFeatureEnum --- + SurfaceFeatureCrack: + description: "Cracks." + SurfaceFeaturePothole: + description: "Potholes." + SurfaceFeatureRut: + description: "Ruts." + SurfaceFeatureSwell: + description: "Swells." + # --- DrivableAreaSurfaceTypeEnum --- + SurfaceTypeLoose: + description: "Loose (e.g. gravel, earth, sand)." + SurfaceTypeSegmented: + description: "Segmented (e.g. concrete slabs, granite setts, cobblestones)." + SurfaceTypeUniform: + description: "Uniform (e.g. asphalt)." + # --- DrivableAreaTypeEnum --- + MotorwayManaged: + description: "Managed motorways." + MotorwayUnmanaged: + description: "Unmanaged motorways." + RoadTypeDistributor: + description: "Distributor roads." + RoadTypeMinor: + description: "Minor roads." + RoadTypeMotorway: + description: "Motorways." + RoadTypeParking: + description: "Parking." + RoadTypeRadial: + description: "Radial roads." + RoadTypeShared: + description: "Shared space." + RoadTypeSlip: + description: "Slip roads." + # --- EnvironmentParticulatesEnum --- + ParticulatesDust: + description: "Sand and dust." + ParticulatesMarine: + description: "Marine spray in coastal areas." + ParticulatesPollution: + description: "Smoke and pollution." + ParticulatesVolcanic: + description: "Volcanic ash." + ParticulatesWater: + description: "Non-precipitating water droplets or ice crystals (i.e. mist/fog)." + # --- GeometryTransverseEnum --- + TransverseBarriers: + description: "Barriers on edges." + TransverseDivided: + description: "Divided." + TransverseLanesTogether: + description: "Types of lanes together." + TransversePavements: + description: "Pavements." + TransverseUndivided: + description: "Undivided." + # --- IlluminationArtificialEnum --- + ArtificialStreetLighting: + description: "Streetlights." + ArtificialVehicleLighting: + description: "Oncoming vehicle lights." + # --- IlluminationLowLightEnum --- + LowLightAmbient: + description: "Low ambient lighting." + LowLightNight: + description: "Night." + # --- JunctionIntersectionEnum --- + IntersectionCrossroad: + description: "Crossroads." + IntersectionGradeSeperated: + description: "Grade separated." + IntersectionStaggered: + description: "Staggered." + IntersectionTJunction: + description: "T-Junctions." + IntersectionYJunction: + description: "Y-Junction." + # --- JunctionRoundaboutEnum --- + RoundaboutCompact: + description: "Compact (signalisation unspecified)." + RoundaboutCompactNosignal: + description: "Compact non-signalised." + RoundaboutCompactSignal: + description: "Compact signalised." + RoundaboutDouble: + description: "Double (signalisation unspecified)." + RoundaboutDoubleNosignal: + description: "Double non-signalised." + RoundaboutDoubleSignal: + description: "Double signalised." + RoundaboutLarge: + description: "Large (signalisation unspecified)." + RoundaboutLargeNosignal: + description: "Large non-signalised." + RoundaboutLargeSignal: + description: "Large signalised." + RoundaboutMini: + description: "Mini (signalisation unspecified)." + RoundaboutMiniNosignal: + description: "Mini non-signalised." + RoundaboutMiniSignal: + description: "Mini signalised." + RoundaboutNormal: + description: "Normal (signalisation unspecified)." + RoundaboutNormalNosignal: + description: "Normal non-signalised." + RoundaboutNormalSignal: + description: "Normal signalised." + # --- LaneSpecificationTravelDirectionEnum --- + TravelDirectionLeft: + description: "Left." + TravelDirectionRight: + description: "Right." + # --- LaneSpecificationTypeEnum --- + LaneTypeBus: + description: "Bus lane." + LaneTypeCycle: + description: "Cycle lane." + LaneTypeEmergency: + description: "Emergency lane." + LaneTypeSpecial: + description: "Special purpose lane." + LaneTypeTraffic: + description: "Traffic lane." + LaneTypeTram: + description: "Tram lane." + # --- RainTypeEnum --- + RainTypeConvective: + description: "Convective." + RainTypeDynamic: + description: "Dynamic." + RainTypeOrographic: + description: "Orographic." + # --- RoadUserHumanEnum --- + HumanAnimalRider: + description: "Animal rider (e.g. horse rider)." + HumanCyclist: + description: "Cyclist." + HumanDriver: + description: "Driver." + HumanMotorcyclist: + description: "Motorcyclist." + HumanPassenger: + description: "Passenger." + HumanPedestrian: + description: "Pedestrian." + HumanWheelchairUser: + description: "Wheelchair user." + # --- RoadUserVehicleEnum --- + VehicleAgricultural: + description: "Agricultural vehicle." + VehicleBus: + description: "Bus." + VehicleCar: + description: "Car." + VehicleConstruction: + description: "Construction vehicle." + VehicleCycle: + description: "Cycle." + VehicleEmergency: + description: "Emergency vehicle." + VehicleMotorcycle: + description: "Motorcycle." + VehicleTrailer: + description: "Trailer." + VehicleTruck: + description: "Truck." + VehicleVan: + description: "Van." + VehicleWheelchair: + description: "Wheelchair." + # --- SceneryFixedStructureEnum --- + FixedStructureBuilding: + description: "Buildings." + FixedStructureStreetFurniture: + description: "Street furniture (e.g. bollards)." + FixedStructureStreetlight: + description: "Street lights." + FixedStructureVegetation: + description: "Vegetation." + # --- ScenerySpecialStructureEnum --- + SpecialStructureAutoAccess: + description: "Automatic access control." + SpecialStructureBridge: + description: "Bridges." + SpecialStructurePedestrianCrossing: + description: "Pedestrian crossings." + SpecialStructureRailCrossing: + description: "Rail crossings." + SpecialStructureTollPlaza: + description: "Toll plaza." + SpecialStructureTunnel: + description: "Tunnels." + # --- SceneryTemporaryStructureEnum --- + TemporaryStructureConstructionDetour: + description: "Construction site detours." + TemporaryStructureRefuseCollection: + description: "Refuse collection." + TemporaryStructureRoadSignage: + description: "Road signage." + TemporaryStructureRoadWorks: + description: "Road works." + # --- SceneryZoneEnum --- + ZoneGeoFenced: + description: "GeoFenced areas." + ZoneInterference: + description: "Interference zones." + ZoneRegion: + description: "Regions or states." + ZoneSchool: + description: "School zones." + ZoneTrafficManagement: + description: "Traffic management zones." + # --- SignsInformationEnum --- + InformationSignsUniform: + description: "Uniform (full-time/temporary unspecified)." + InformationSignsUniformFullTime: + description: "Uniform full-time." + InformationSignsUniformTemporary: + description: "Uniform temporary." + InformationSignsVariable: + description: "Variable (full-time/temporary unspecified)." + InformationSignsVariableFullTime: + description: "Variable full-time." + InformationSignsVariableTemporary: + description: "Variable temporary." + # --- SignsRegulatoryEnum --- + RegulatorySignsUniform: + description: "Uniform (full-time/temporary unspecified)." + RegulatorySignsUniformFullTime: + description: "Uniform full-time." + RegulatorySignsUniformTemporary: + description: "Uniform temporary." + RegulatorySignsVariable: + description: "Variable (full-time/temporary unspecified)." + RegulatorySignsVariableFullTime: + description: "Variable full-time." + RegulatorySignsVariableTemporary: + description: "Variable temporary." + # --- SignsWarningEnum --- + WarningSignsUniform: + description: "Uniform." + WarningSignsUniformFullTime: + description: "Uniform full-time." + WarningSignsUniformTemporary: + description: "Uniform temporary." + WarningSignsVariable: + description: "Variable (full-time/temporary unspecified)." + WarningSignsVariableFullTime: + description: "Variable full-time." + WarningSignsVariableTemporary: + description: "Variable temporary." + # --- TrafficAgentTypeEnum --- diff --git a/linkml/openlabel-v2/openlabel-v2.yaml b/linkml/openlabel-v2/openlabel-v2.yaml index e761a5c0..f6f51b3d 100644 --- a/linkml/openlabel-v2/openlabel-v2.yaml +++ b/linkml/openlabel-v2/openlabel-v2.yaml @@ -956,6 +956,179 @@ classes: - hasLowerBound - hasUpperBound + # --------------------------------------------------------------------------- + # Tagging category nodes — intermediate ASAM OpenLABEL v1 tag classes. + # These make the hierarchy's mid-level tags (e.g. SceneryJunction, + # EnvironmentWeather) usable as tag.type values, matching the ASAM v1 + # scenario tagging ontology. Leaf flags/values remain modelled as slots. + # --------------------------------------------------------------------------- + BehaviourMotion: + description: An activity in which the road user changes position, velocity or direction. + comments: + - "ISO 34504:2023, 4.4.4 (Tags for a dynamic entity — longitudinal, lateral, and mixed actions)" + aliases: + - "Motion" + notes: + - "v1 label: \"Motion\"; v1 had no normative reference and was attributed solely to ASAM OpenLABEL. ISO 34504:2023 Section 4.4.4 defines the same motion/action taxonomy." + see_also: + - https://www.iso.org/standard/78953.html + is_a: Behaviour + class_uri: openlabel_v2:BehaviourMotion + + SceneryJunction: + description: Junctions present in the scenery. + comments: + - "ISO 34503:2023, 9.4" + aliases: + - "Junctions" + notes: + - "v1 label: \"Junctions\" (PAS 1883:2020, Section 5.2.1.c)." + is_a: OddScenery + class_uri: openlabel_v2:SceneryJunction + + SceneryDrivableArea: + description: Drivable area of the scenery. + comments: + - "ISO 34503:2023, 9.3" + aliases: + - "Drivable area" + notes: + - "v1 label: \"Drivable area\" (PAS 1883:2020, Section 5.2.1.b)." + is_a: OddScenery + class_uri: openlabel_v2:SceneryDrivableArea + + EnvironmentWeather: + description: Weather conditions. + comments: + - "ISO 34503:2023, 10.2" + aliases: + - "Weather" + notes: + - "v1 label: \"Weather\" (PAS 1883:2020, Section 5.3.1)." + is_a: OddEnvironment + class_uri: openlabel_v2:EnvironmentWeather + + EnvironmentIllumination: + description: Illumination conditions. + comments: + - "ISO 34503:2023, 10.4" + aliases: + - "Illumination" + notes: + - "v1 label: \"Illumination\" (PAS 1883:2020, Section 5.3.3)." + is_a: OddEnvironment + class_uri: openlabel_v2:EnvironmentIllumination + + EnvironmentConnectivity: + description: Connectivity conditions. + comments: + - "ISO 34503:2023, 10.5" + aliases: + - "Connectivity" + notes: + - "v1 label: \"Connectivity\" (PAS 1883:2020, Section 5.3.4)." + is_a: OddEnvironment + class_uri: openlabel_v2:EnvironmentConnectivity + + DynamicElementsTraffic: + description: Traffic dynamic elements. + comments: + - "ISO 34503:2023, 11.1" + aliases: + - "Traffic" + notes: + - "v1 label: \"Traffic\" (PAS 1883:2020, Section 5.4.a)." + is_a: OddDynamicElements + class_uri: openlabel_v2:DynamicElementsTraffic + + DynamicElementsSubjectVehicle: + description: Subject vehicle dynamic element. + comments: + - "ISO 34503:2023, 11.2" + aliases: + - "Subject vehicle" + notes: + - "v1 label: \"Subject vehicle\" (PAS 1883:2020, Section 5.4.b)." + is_a: OddDynamicElements + class_uri: openlabel_v2:DynamicElementsSubjectVehicle + + DrivableAreaGeometry: + description: Drivable area geometry. + comments: + - "ISO 34503:2023, 9.3.3" + aliases: + - "Drivable area geometry" + notes: + - "v1 label: \"Drivable area geometry\" (PAS 1883:2020, Section 5.2.3.3)." + is_a: SceneryDrivableArea + class_uri: openlabel_v2:DrivableAreaGeometry + + DrivableAreaLaneSpecification: + description: Drivable area lane specification. + comments: + - "ISO 34503:2023, 9.3.4" + aliases: + - "Drivable area lane specification" + notes: + - "v1 label: \"Drivable area lane specification\" (PAS 1883:2020, Section 5.2.3.1.c)." + is_a: SceneryDrivableArea + class_uri: openlabel_v2:DrivableAreaLaneSpecification + + DrivableAreaSigns: + description: Drivable area signs. + comments: + - "ISO 34503:2023, 9.3.5" + aliases: + - "Drivable area signs" + notes: + - "v1 label: \"Drivable area signs\" (PAS 1883:2020, Section 5.2.3.1.d)." + is_a: SceneryDrivableArea + class_uri: openlabel_v2:DrivableAreaSigns + + DrivableAreaSurface: + description: Drivable area surface. + comments: + - "ISO 34503:2023, 9.3.7" + aliases: + - "Drivable area surface" + notes: + - "v1 label: \"Drivable area surface\" (PAS 1883:2020, Section 5.2.3.1.f)." + is_a: SceneryDrivableArea + class_uri: openlabel_v2:DrivableAreaSurface + + IlluminationDay: + description: Daytime illumination. + comments: + - "ISO 34503:2023, 10.4" + aliases: + - "Day" + notes: + - "v1 label: \"Day\" (PAS 1883:2020, Section 5.3.3.a)." + is_a: EnvironmentIllumination + class_uri: openlabel_v2:IlluminationDay + + GeometryHorizontal: + description: Horizontal plane geometry of the drivable area. + comments: + - "ISO 34503:2023, 9.3.3" + aliases: + - "Horizontal plane" + notes: + - "v1 label: \"Horizontal plane\" (PAS 1883:2020, Section 5.2.3.3.a)." + is_a: DrivableAreaGeometry + class_uri: openlabel_v2:GeometryHorizontal + + GeometryLongitudinal: + description: Longitudinal plane geometry of the drivable area. + comments: + - "ISO 34503:2023, 9.3.3" + aliases: + - "Longitudinal plane" + notes: + - "v1 label: \"Longitudinal plane\" (PAS 1883:2020, Section 5.2.3.3.c)." + is_a: DrivableAreaGeometry + class_uri: openlabel_v2:GeometryLongitudinal + # ============================================================================= # Slots (properties) @@ -1979,9 +2152,7 @@ slots: see_also: - https://www.iso.org/standard/78952.html slot_uri: openlabel_v2:trafficAgentTypeValue - any_of: - - range: RoadUserHumanEnum - - range: RoadUserVehicleEnum + range: TrafficAgentTypeEnum multivalued: true trafficFlowRateValue: description: Traffic flow rate in vehicles per hour. @@ -2062,12 +2233,14 @@ slots: minValue: description: Minimum value of the range. slot_uri: sdo:minValue + domain: QuantitativeValue range: decimal required: true maxValue: description: Maximum value of the range. slot_uri: sdo:maxValue + domain: QuantitativeValue range: decimal required: true @@ -2204,6 +2377,73 @@ enums: description: Wheelchair user. meaning: openlabel_v2:HumanWheelchairUser + # --------------------------------------------------------------------------- + # Traffic Agent Type (union of human + vehicle road user types) + # --------------------------------------------------------------------------- + TrafficAgentTypeEnum: + description: >- + Combined set of traffic agent types (human and vehicle road users). + Union of RoadUserHumanEnum and RoadUserVehicleEnum, used by + trafficAgentTypeValue so a single enum range yields the @vocab context + coercion and a single sh:in constraint (values written as bare terms). + comments: + - "ISO 34503:2023, 11.1" + permissible_values: + HumanAnimalRider: + description: Animal rider (e.g. horse rider). + meaning: openlabel_v2:HumanAnimalRider + HumanCyclist: + description: Cyclist. + meaning: openlabel_v2:HumanCyclist + HumanDriver: + description: Driver. + meaning: openlabel_v2:HumanDriver + HumanMotorcyclist: + description: Motorcyclist. + meaning: openlabel_v2:HumanMotorcyclist + HumanPassenger: + description: Passenger. + meaning: openlabel_v2:HumanPassenger + HumanPedestrian: + description: Pedestrian. + meaning: openlabel_v2:HumanPedestrian + HumanWheelchairUser: + description: Wheelchair user. + meaning: openlabel_v2:HumanWheelchairUser + VehicleAgricultural: + description: Agricultural vehicle. + meaning: openlabel_v2:VehicleAgricultural + VehicleBus: + description: Bus. + meaning: openlabel_v2:VehicleBus + VehicleCar: + description: Car. + meaning: openlabel_v2:VehicleCar + VehicleConstruction: + description: Construction vehicle. + meaning: openlabel_v2:VehicleConstruction + VehicleCycle: + description: Cycle. + meaning: openlabel_v2:VehicleCycle + VehicleEmergency: + description: Emergency vehicle. + meaning: openlabel_v2:VehicleEmergency + VehicleMotorcycle: + description: Motorcycle. + meaning: openlabel_v2:VehicleMotorcycle + VehicleTrailer: + description: Trailer. + meaning: openlabel_v2:VehicleTrailer + VehicleTruck: + description: Truck. + meaning: openlabel_v2:VehicleTruck + VehicleVan: + description: Van. + meaning: openlabel_v2:VehicleVan + VehicleWheelchair: + description: Wheelchair. + meaning: openlabel_v2:VehicleWheelchair + # --------------------------------------------------------------------------- # Drivable Area Edge # --------------------------------------------------------------------------- @@ -2337,6 +2577,12 @@ enums: InformationSignsVariableTemporary: description: Variable temporary. meaning: openlabel_v2:InformationSignsVariableTemporary + InformationSignsUniform: + description: Uniform (full-time/temporary unspecified). + meaning: openlabel_v2:InformationSignsUniform + InformationSignsVariable: + description: Variable (full-time/temporary unspecified). + meaning: openlabel_v2:InformationSignsVariable # --------------------------------------------------------------------------- # Signs Regulatory @@ -2362,6 +2608,12 @@ enums: RegulatorySignsVariableTemporary: description: Variable temporary. meaning: openlabel_v2:RegulatorySignsVariableTemporary + RegulatorySignsUniform: + description: Uniform (full-time/temporary unspecified). + meaning: openlabel_v2:RegulatorySignsUniform + RegulatorySignsVariable: + description: Variable (full-time/temporary unspecified). + meaning: openlabel_v2:RegulatorySignsVariable # --------------------------------------------------------------------------- # Signs Warning @@ -2390,6 +2642,9 @@ enums: WarningSignsVariableTemporary: description: Variable temporary. meaning: openlabel_v2:WarningSignsVariableTemporary + WarningSignsVariable: + description: Variable (full-time/temporary unspecified). + meaning: openlabel_v2:WarningSignsVariable # --------------------------------------------------------------------------- # Drivable Area Surface Condition @@ -2613,6 +2868,21 @@ enums: RoundaboutNormalSignal: description: Normal signalised. meaning: openlabel_v2:RoundaboutNormalSignal + RoundaboutCompact: + description: Compact (signalisation unspecified). + meaning: openlabel_v2:RoundaboutCompact + RoundaboutDouble: + description: Double (signalisation unspecified). + meaning: openlabel_v2:RoundaboutDouble + RoundaboutLarge: + description: Large (signalisation unspecified). + meaning: openlabel_v2:RoundaboutLarge + RoundaboutMini: + description: Mini (signalisation unspecified). + meaning: openlabel_v2:RoundaboutMini + RoundaboutNormal: + description: Normal (signalisation unspecified). + meaning: openlabel_v2:RoundaboutNormal # --------------------------------------------------------------------------- # Scenery Special Structure diff --git a/linkml/openlabel-v2/proof_seeds/8.2.4_rainfall_value.json b/linkml/openlabel-v2/proof_seeds/8.2.4_rainfall_value.json new file mode 100644 index 00000000..410cd374 --- /dev/null +++ b/linkml/openlabel-v2/proof_seeds/8.2.4_rainfall_value.json @@ -0,0 +1,26 @@ +{ + "openlabel": { + "metadata": { + "schema_version": "1.0.0" + }, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/o.ttl" + } + }, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": { + "num": [ + { + "type": "value", + "val": 3.1 + } + ] + } + } + } + } +} diff --git a/linkml/openlabel-v2/proof_seeds/8.2.5_numeric_range.json b/linkml/openlabel-v2/proof_seeds/8.2.5_numeric_range.json new file mode 100644 index 00000000..6ee8411b --- /dev/null +++ b/linkml/openlabel-v2/proof_seeds/8.2.5_numeric_range.json @@ -0,0 +1,29 @@ +{ + "openlabel": { + "metadata": { + "schema_version": "1.0.0" + }, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/o.ttl" + } + }, + "tags": { + "0": { + "type": "LaneSpecificationDimensions", + "ontology_uid": "0", + "tag_data": { + "vec": [ + { + "type": "range", + "val": [ + 3.4, + 3.7 + ] + } + ] + } + } + } + } +} diff --git a/linkml/openlabel-v2/proof_seeds/8.6_minimal.json b/linkml/openlabel-v2/proof_seeds/8.6_minimal.json new file mode 100644 index 00000000..51cb9fa4 --- /dev/null +++ b/linkml/openlabel-v2/proof_seeds/8.6_minimal.json @@ -0,0 +1,18 @@ +{ + "openlabel": { + "metadata": { + "schema_version": "1.0.0" + }, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/o.ttl" + } + }, + "tags": { + "0": { + "type": "SceneryJunction", + "ontology_uid": "0" + } + } + } +} diff --git a/linkml/openlabel-v2/proof_seeds/8.8.1_full_scenario.json b/linkml/openlabel-v2/proof_seeds/8.8.1_full_scenario.json new file mode 100644 index 00000000..de473413 --- /dev/null +++ b/linkml/openlabel-v2/proof_seeds/8.8.1_full_scenario.json @@ -0,0 +1,76 @@ +{ + "openlabel": { + "metadata": { + "schema_version": "1.0.0", + "tagged_file": "../resources/scenarios/scenario123.osc" + }, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/V1-0-0/ontologies/openlabel_ontology_scenario_tags.ttl", + "boundary_list": [ + "DrivableAreaSigns", + "DrivableAreaEdge", + "DrivableAreaSurface" + ], + "boundary_mode": "exclude" + } + }, + "tags": { + "0": { + "type": "RoadTypeMinor", + "ontology_uid": "0" + }, + "1": { + "type": "HorizontalStraights", + "ontology_uid": "0" + }, + "3": { + "type": "LaneTypeTraffic", + "ontology_uid": "0" + }, + "4": { + "type": "ZoneSchool", + "ontology_uid": "0" + }, + "5": { + "type": "IntersectionCrossroad", + "ontology_uid": "0" + }, + "7": { + "type": "WeatherWind", + "ontology_uid": "0", + "tag_data": { + "vec": [ + { + "type": "range", + "val": [ + 10, + 25 + ] + } + ] + } + }, + "11": { + "type": "VehicleCar", + "ontology_uid": "0" + }, + "13": { + "type": "MotionDrive", + "ontology_uid": "0" + }, + "15": { + "type": "scenarioUniqueReference", + "ontology_uid": "0", + "tag_data": { + "text": [ + { + "type": "value", + "val": "c133241e-f325-11eb" + } + ] + } + } + } + } +} diff --git a/linkml/openlabel-v2/proof_spec.yaml b/linkml/openlabel-v2/proof_spec.yaml new file mode 100644 index 00000000..5066c8cc --- /dev/null +++ b/linkml/openlabel-v2/proof_spec.yaml @@ -0,0 +1,77 @@ +# Refinement-proof spec for the OpenLABEL v2 structural migration. +# +# Consumed by scripts/schema_refinement_prover.py to prove that the +# LinkML-generated JSON Schema is a sound refinement of the normative ASAM +# OpenLABEL v1.0.0 JSON Schema, within the scenario-tagging scope. +# +# This file is the ONLY ontology-specific input; the prover itself is generic. +# To verify another migration, write a sibling proof_spec.yaml. + +name: openlabel-v2 + +# A — the authoritative normative reference schema. +reference_schema: submodules/asam-openx-standards/standards/asam-openlabel/schema/openlabel_json_schema-v1.0.0.json + +# L — the LinkML-generated structural schema (committed artifact). +linkml_schema: artifacts/openlabel-v2/openlabel-v2.schema.json +# Alternatively, regenerate on the fly from the model: +# linkml_yaml: linkml/openlabel-v2/openlabel-v2-schema.yaml + +# Scope (τ): property paths retained. The in-scope definition set is the $ref +# reachability closure of these; everything else is OUT_OF_SCOPE by construction. +scope_keep: + - openlabel.metadata + - openlabel.ontologies + - openlabel.tags + +# Optional explicit reference-def -> LinkML-def map (overrides the heuristic). +def_map: + metadata: Metadata + tag: TagEntry + tag_data: TagData + num: NumVal + vec: VecVal + text: TextVal + boolean: BooleanVal + attributes: Attributes + resource_uid: ResourceUid + ontologies: OntologyEntry + +# Property-based generation budget (requires hypothesis-jsonschema). +hypothesis: + soundness: 150 # instances from L's grammar -> must all be A-valid + completeness: 150 # instances from A|τ -> measure how much stricter L is + +# Optional properties dropped for property-based GENERATION only (to break +# recursive $ref cycles hypothesis-jsonschema cannot expand). 'attributes' is +# optional and self-referential (attributes -> *Val -> attributes), so omitting +# it yields a strict subset of valid instances. The mutation corpus + seeds +# still cover the attributes subtree. +generation_prune: + - attributes + +# Declared, bounded relaxations (Λ) where L is knowingly LOOSER than A. Any +# looseness OUTSIDE this set is an undisclosed soundness violation and fails the +# gate. Each declared category is justified below. +# +# CLOSED (intentionally NOT listed, so the gate guards against regression): +# - key_pattern : closed by `pattern` on the uid identifier slots -> propertyNames +# (jsonschemagen) plus `--closed` (root additionalProperties:false). +# - null_optional: closed by `--no-include-null` (jsonschema.genopts). +# The single remaining relaxation is a LinkML expressivity limit (see below). +allow_looseness: + - simple_dict_object_form + +# Canonical spec-valid seed instances (chapter-8 examples). Mutated to build the +# deterministic edge-case corpus; also fed straight through both validators. +seeds: + - linkml/openlabel-v2/proof_seeds/*.json + +# Justifications for disclosed deltas. Keys are matched as substrings against the +# synthesized "{ref_def}.{aspect}" gap key, or against a classification name. +justifications: + tag.required: "Spec §8.2.1: every scenario tag references its ontology; all spec examples include ontology_uid. Disclosed stricter case." + tag.closed: "Rejects undocumented tag keys; tightens, never loosens, the contract." + type.enum: "A leaves tag.type/num.type/vec.type as unconstrained strings; L pins them to the ASAM vocabulary (TagTypeEnum = 256 ontology classes) and spec value sets. Pure strengthening." + schema_version: "A: enum[\"1.0.0\"]; L: const \"1.0.0\" — semantically identical single-value pin." + simple_dict_object_form: "DISCLOSED, bounded LinkML expressivity limit: tag.resource_uid is ASAM's id->string map (patternProperties value is a bare string). LinkML models it as an inlined simple-dict (ResourceUid: uid + identifier_in_resource), which ALWAYS also accepts the object form {identifier_in_resource: ...} for the value, not just the bare string. A accepts only the string. Affects the optional resource_uid value form only; keys and the string form are validated identically. Not expressible away in LinkML's structural model (an inlined simple-dict cannot be restricted to scalar-only values)." diff --git a/pyproject.toml b/pyproject.toml index 3eff649a..5d83494e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,9 +33,12 @@ dependencies = [ [project.optional-dependencies] dev = [ "ruff>=0.15.0", - # linkml: in [dev] for standalone pip install; the submodule pin in - # submodules/linkml/ is the single source of truth for the actual version. - "linkml @ git+https://github.com/ASCS-eV/linkml.git@feat/envited-x-pipeline#subdirectory=packages/linkml", + # linkml: in [dev] for standalone pip install. Pinned to the exact commit + # tracked by submodules/linkml/ (the single source of truth) so CI and the + # submodule cannot drift — a newer branch HEAD would change generated + # artifacts (e.g. drop format:uri) and trip the modified-file gate. Bump this + # SHA whenever the submodule is bumped. + "linkml @ git+https://github.com/ASCS-eV/linkml.git@97e73d0f1dcbe13dd8fd4ff7685ec9b71252f85c#subdirectory=packages/linkml", "pre-commit==4.5.1", "mkdocs-material>=9.5.0", "mkdocs-awesome-pages-plugin>=2.9.3", @@ -43,6 +46,11 @@ dev = [ "mkdocstrings[python]>=0.24.0", "pytest>=8.0.0", "pytest-cov>=4.1.0", + # Property-based corpus generation for the schema-refinement prover + # (scripts/schema_refinement_prover.py). Optional at runtime: the prover + # degrades to the deterministic mutation corpus when absent. + "hypothesis>=6.100.0", + "hypothesis-jsonschema>=0.23.1", ] docs = [ "mkdocs-material>=9.5.0", @@ -93,6 +101,9 @@ python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" +markers = [ + "slow: property-based / generative tests (minutes-scale). Run a fast lane with -m 'not slow'.", +] filterwarnings = [ "ignore::DeprecationWarning:src.tools.validators.*", ] diff --git a/scripts/convert_openlabel_v1_to_v2.py b/scripts/convert_openlabel_v1_to_v2.py new file mode 100644 index 00000000..0bba9140 --- /dev/null +++ b/scripts/convert_openlabel_v1_to_v2.py @@ -0,0 +1,309 @@ +#!/usr/bin/env python3 +"""Convert ASAM OpenLABEL v1 JSON files to JSON-LD with v2 context. + +Module purpose: + Transforms plain ASAM OpenLABEL scenario tagging JSON files (v1 format with + generic tag.type + tag_data containers) into JSON-LD documents that use the + openlabel-v2 ontology context for type coercion and SHACL validation. + +Dependencies: + core: (none — standalone script) + third-party: pyyaml + +Usage: + python scripts/convert_openlabel_v1_to_v2.py input.json + python scripts/convert_openlabel_v1_to_v2.py input.json -o output.jsonld + python scripts/convert_openlabel_v1_to_v2.py input.json --context-uri https://... +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +import yaml + +DEFAULT_CONTEXT_URI = "https://w3id.org/ascs-ev/envited-x/openlabel/v2/" +DEFAULT_ONTOLOGY = Path("linkml/openlabel-v2/openlabel-v2.yaml") + +# Maps v1 tag.type → v2 class + slot +# Built from the ontology model at runtime + + +def load_tag_mapping( + ontology_path: Path, +) -> dict[str, dict[str, str]]: + """Load the mapping from v1 tag.type values to v2 typed slots. + + Returns: + Dict mapping tag.type string to {class, slot, range} info. + """ + with open(ontology_path, encoding="utf-8") as f: + model = yaml.safe_load(f) + + slots = model.get("slots", {}) + enums = model.get("enums", {}) + classes = model.get("classes", {}) + enum_names = set(enums.keys()) + + mapping: dict[str, dict[str, str]] = {} + + # Build reverse index: which class owns which slot + slot_owners: dict[str, str] = {} + for cls_name, cls_def in classes.items(): + for slot_name in cls_def.get("slots", []): + slot_owners[slot_name] = cls_name + + # Boolean flag slots + for sname, sdef in slots.items(): + if sdef.get("range") == "boolean": + owner = slot_owners.get(sname, "unknown") + mapping[sname] = { + "class": owner, + "slot": sname, + "range": "boolean", + "type": "flag", + } + + # Enum-typed slots and their values + for sname, sdef in slots.items(): + slot_range = sdef.get("range", "") + if slot_range in enum_names: + owner = slot_owners.get(sname, "unknown") + mapping[sname] = { + "class": owner, + "slot": sname, + "range": slot_range, + "type": "enum_slot", + } + # Each enum value is also a valid tag.type + pvs = enums[slot_range].get("permissible_values", {}) + for pv_name in pvs: + mapping[pv_name] = { + "class": owner, + "slot": sname, + "range": slot_range, + "type": "enum_value", + "value": pv_name, + } + + # Admin slots (string-typed properties) + admin_slots = classes.get("AdminTag", {}).get("slots", []) + for sname in admin_slots: + if sname not in mapping: + sdef = slots.get(sname, {}) + mapping[sname] = { + "class": "AdminTag", + "slot": sname, + "range": sdef.get("range", "string"), + "type": "admin", + } + + return mapping + + +def extract_tag_value( + tag: dict, tag_mapping: dict[str, dict[str, str]] +) -> str | bool | float | None: + """Extract the value from tag_data for a given tag. + + For boolean flags: True (presence = true) + For enum values: the enum value string + For admin tags with tag_data.text: the text value + For numeric tags with tag_data.num: the numeric value + """ + tag_type = tag.get("type", "") + info = tag_mapping.get(tag_type, {}) + tag_data = tag.get("tag_data", {}) + + if info.get("type") == "flag": + return True + + if info.get("type") == "enum_value": + return info.get("value", tag_type) + + if info.get("type") == "enum_slot": + return True + + if info.get("type") == "admin": + # Admin tags typically carry text values + texts = tag_data.get("text", []) + if texts and isinstance(texts, list) and len(texts) > 0: + return texts[0].get("val", "") + return "" + + # For numeric values + nums = tag_data.get("num", []) + if nums and isinstance(nums, list) and len(nums) > 0: + return nums[0].get("val") + + # For boolean values + bools = tag_data.get("boolean", []) + if bools and isinstance(bools, list) and len(bools) > 0: + return bools[0].get("val") + + return True + + +def _assign_slot( + target: dict[str, str | bool | float | list | None], + slot: str, + value: str | bool | float | None, +) -> None: + """Assign ``value`` to ``slot``, accumulating into a list on repeats. + + Multiple v1 tags can map to the same class+slot (e.g. several values of one + enum category, which the v2 model represents as an array). Promote to a list + instead of silently overwriting so no tag value is lost. + """ + if slot not in target: + target[slot] = value + return + existing = target[slot] + if isinstance(existing, list): + if value not in existing: + existing.append(value) + elif existing != value: + target[slot] = [existing, value] + + +def convert_v1_to_v2( + v1_data: dict, + tag_mapping: dict[str, dict[str, str]], + context_uri: str = DEFAULT_CONTEXT_URI, +) -> dict: + """Convert a v1 OpenLABEL JSON to v2 JSON-LD format. + + Args: + v1_data: The parsed v1 JSON content. + tag_mapping: Mapping from tag.type to v2 slot info. + context_uri: The JSON-LD @context URI to inject. + + Returns: + A v2 JSON-LD document with typed slots. + """ + openlabel = v1_data.get("openlabel", v1_data) + tags = openlabel.get("tags", {}) + metadata = openlabel.get("metadata", {}) + + # Group tags by their v2 class + class_slots: dict[str, dict[str, str | bool | float | list | None]] = {} + unmapped: list[dict] = [] + + for tag_uid, tag in tags.items(): + tag_type = tag.get("type", "") + info = tag_mapping.get(tag_type) + + if not info: + unmapped.append({"uid": tag_uid, "type": tag_type}) + continue + + cls = info["class"] + slot = info["slot"] + value = extract_tag_value(tag, tag_mapping) + + class_slots.setdefault(cls, {}) + _assign_slot(class_slots[cls], slot, value) + + # Build the v2 JSON-LD document + result: dict = { + "@context": context_uri, + "@type": "Tag", + } + + # Add metadata as comment if present + if metadata.get("tagged_file"): + result["@id"] = f"urn:openlabel:{metadata.get('tagged_file', 'unknown')}" + + # Build class objects. The ODD sub-hierarchy (OddScenery, OddEnvironment, + # OddDynamicElements) collapses into a single "Odd" object; every other class + # is emitted as its own typed object. + odd_classes = {"Odd", "OddScenery", "OddEnvironment", "OddDynamicElements"} + for cls_name, slot_values in sorted(class_slots.items()): + if cls_name in odd_classes: + result.setdefault("Odd", {"@type": "Odd"}).update(slot_values) + else: + result[cls_name] = {"@type": cls_name, **slot_values} + + # Report unmapped tags + if unmapped: + result["_unmapped_tags"] = unmapped + + return result + + +def main() -> int: + """CLI entry point.""" + parser = argparse.ArgumentParser( + description="Convert ASAM OpenLABEL v1 JSON to v2 JSON-LD format." + ) + parser.add_argument("input", type=Path, help="Input v1 JSON file") + parser.add_argument( + "-o", + "--output", + type=Path, + help="Output v2 JSON-LD file (default: stdout)", + ) + parser.add_argument( + "--context-uri", + default=DEFAULT_CONTEXT_URI, + help=f"JSON-LD @context URI (default: {DEFAULT_CONTEXT_URI})", + ) + parser.add_argument( + "--ontology", + type=Path, + default=DEFAULT_ONTOLOGY, + help=f"Path to ontology model YAML (default: {DEFAULT_ONTOLOGY})", + ) + parser.add_argument( + "--pretty", + action=argparse.BooleanOptionalAction, + default=True, + help="Pretty-print JSON output (use --no-pretty for compact output).", + ) + args = parser.parse_args() + + if not args.input.exists(): + print(f"ERROR: Input file not found: {args.input}", file=sys.stderr) + return 1 + if not args.ontology.exists(): + print(f"ERROR: Ontology model not found: {args.ontology}", file=sys.stderr) + return 1 + + # Load input + with open(args.input, encoding="utf-8") as f: + v1_data = json.load(f) + + # Load mapping + tag_mapping = load_tag_mapping(args.ontology) + + # Convert + v2_data = convert_v1_to_v2(v1_data, tag_mapping, args.context_uri) + + # Output + indent = 2 if args.pretty else None + output_json = json.dumps(v2_data, indent=indent, ensure_ascii=False) + + if args.output: + args.output.write_text(output_json + "\n", encoding="utf-8") + print(f"Converted {args.input} → {args.output}") + else: + print(output_json) + + # Report unmapped tags + if "_unmapped_tags" in v2_data: + count = len(v2_data["_unmapped_tags"]) + print( + f"\nWARNING: {count} tag(s) could not be mapped to v2 slots:", + file=sys.stderr, + ) + for t in v2_data["_unmapped_tags"]: + print(f" - {t['type']} (uid: {t['uid']})", file=sys.stderr) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/schema_refinement_prover.py b/scripts/schema_refinement_prover.py new file mode 100644 index 00000000..7689e0e4 --- /dev/null +++ b/scripts/schema_refinement_prover.py @@ -0,0 +1,1040 @@ +#!/usr/bin/env python3 +"""Prove that a LinkML-generated JSON Schema faithfully re-models a normative +reference JSON Schema, within a declared scope. + +This tool is **ontology-independent**: it knows nothing about OpenLABEL. Point it +at any normative reference JSON Schema and any LinkML-generated JSON Schema (plus +a small per-migration spec) and it produces a scientific refinement proof. Reuse +it to validate every JSON-Schema -> LinkML migration in the repository. + +The claim it tests (a falsifiable refinement relation):: + + Let A = reference JSON Schema + A|t = A projected onto the declared scope (reachability-closed subset) + L = LinkML-generated JSON Schema + + Soundness : for all x. L accepts x => A accepts x + (everything L calls valid, A also calls valid -- L never + invents a format A forbids). One counterexample refutes it. + Bnd. complete : for all x. A|t accepts x => L accepts x OR x in Delta + (Delta = the enumerated, justified stricter-set: added enums, + required fields, const pins, closed objects). + +Three pillars, all programmatic: + + 1. Scope projection -- decidable. $ref reachability from declared entry + points partitions reference defs into in/out of scope. + 2. Structural gaps -- decidable. Walk both schemas, emit one classified row + per (def, aspect): EQUIVALENT / REFINEMENT / + OUT_OF_SCOPE / LOOSER / UNMAPPED. + 3. Differential oracle -- empirical. Generate an instance corpus (mutation + + property-based via hypothesis-jsonschema), validate + against both schemas, bucket the verdict pairs. + +Usage:: + + python scripts/schema_refinement_prover.py --spec linkml/openlabel-v2/proof_spec.yaml + python scripts/schema_refinement_prover.py --spec --out REFINEMENT_PROOF.md +""" + +from __future__ import annotations + +import argparse +import copy +import json +import sys +import warnings +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any, Iterable + +import jsonschema +import yaml + +try: # local style: centralized logging when available + from src.tools.core.logging import get_logger + + logger = get_logger(__name__) +except Exception: # pragma: no cover - standalone fallback + import logging + + logging.basicConfig( + level=logging.INFO, format="%(levelname)s %(name)s: %(message)s" + ) + logger = logging.getLogger(__name__) + +# hypothesis-jsonschema is optional. Without it the mutation corpus still runs +# (and the soundness gate still has teeth); the property-based completeness +# sampling is skipped with a warning. +try: + import hypothesis + from hypothesis import HealthCheck, settings + from hypothesis_jsonschema import from_schema + + _HAS_HYPOTHESIS = True +except Exception: # pragma: no cover - optional dependency + _HAS_HYPOTHESIS = False + + +# ============================================================================= +# Data model +# ============================================================================= + +# Gap classifications. +EQUIVALENT = "EQUIVALENT" +REFINEMENT = "REFINEMENT" # L stricter than A (intended, in Delta) +OUT_OF_SCOPE = "OUT_OF_SCOPE" # A def deliberately not modelled +LOOSER = "LOOSER" # L accepts more than A -- a soundness concern +UNMAPPED = "UNMAPPED" # in-scope A def with no L counterpart -- a gap + + +@dataclass +class GapRow: + ref_def: str + linkml_def: str + aspect: str + classification: str + detail: str + justification: str = "" + category: str = "" # for LOOSER rows: which declared looseness class + + +@dataclass +class Buckets: + """Verdict-pair tally for a differential corpus.""" + + agree_accept: int = 0 + agree_reject: int = 0 + linkml_stricter: list[dict] = field(default_factory=list) # A accept / L reject + linkml_looser: list[dict] = field( + default_factory=list + ) # A reject / L accept, UNDISCLOSED (BUG) + disclosed_looser: list[dict] = field( + default_factory=list + ) # A reject / L accept, declared/benign + errors: list[str] = field(default_factory=list) + + @property + def total(self) -> int: + return ( + self.agree_accept + + self.agree_reject + + len(self.linkml_stricter) + + len(self.linkml_looser) + + len(self.disclosed_looser) + ) + + def looseness_breakdown(self) -> dict[str, int]: + counts: dict[str, int] = {} + for s in self.disclosed_looser: + for c in s["categories"]: + counts[c] = counts.get(c, 0) + 1 + return counts + + +@dataclass +class ProofReport: + name: str + in_scope: list[str] + out_scope: list[str] + gaps: list[GapRow] + soundness: Buckets + completeness: Buckets + corpus_sizes: dict[str, int] + unmapped: list[str] + + @property + def structural_looser(self) -> list[GapRow]: + return [g for g in self.gaps if g.classification == LOOSER] + + @property + def undisclosed_structural_looser(self) -> list[GapRow]: + """LOOSER schema rows whose looseness is NOT a declared category.""" + return [g for g in self.structural_looser if not g.category] + + @property + def sound(self) -> bool: + """No UNDISCLOSED way for L to accept what A rejects, and no in-scope + definition left unmodelled. Disclosed, justified relaxations (declared + in the spec's allow_looseness) do not break the relation.""" + return ( + len(self.soundness.linkml_looser) == 0 + and not self.undisclosed_structural_looser + and not self.unmapped + ) + + def verdict(self) -> str: + return ( + "PROVEN (sound refinement modulo declared relaxations)" + if self.sound + else "REFUTED" + ) + + +# ============================================================================= +# Pillar 1 -- scope projection ($ref reachability) +# ============================================================================= + + +def _defs_key(schema: dict) -> str: + """Return whichever definitions container the schema uses.""" + if "definitions" in schema: + return "definitions" + return "$defs" + + +def _collect_refs(node: Any, acc: set[str]) -> None: + if isinstance(node, dict): + for k, v in node.items(): + if k == "$ref" and isinstance(v, str): + acc.add(v.split("/")[-1]) + else: + _collect_refs(v, acc) + elif isinstance(node, list): + for item in node: + _collect_refs(item, acc) + + +def _navigate(schema: dict, dotted: str) -> dict | None: + """Resolve a dotted property path (e.g. 'openlabel.metadata') to a subschema, + following 'properties' at each step and resolving intermediate $refs.""" + node: Any = schema + for part in dotted.split("."): + node = _resolve_ref(schema, node) + if not isinstance(node, dict): + return None + props = node.get("properties", {}) + if part not in props: + return None + node = props[part] + return node + + +def _resolve_ref(schema: dict, node: Any) -> Any: + """Follow a single top-level $ref into the schema's definitions.""" + seen = 0 + while isinstance(node, dict) and "$ref" in node and seen < 16: + name = node["$ref"].split("/")[-1] + node = schema.get(_defs_key(schema), {}).get(name, {}) + seen += 1 + return node + + +def project_scope( + schema: dict, keep_paths: list[str] | None +) -> tuple[set[str], set[str]]: + """Partition reference definitions into (in_scope, out_of_scope). + + in_scope = transitive $ref closure of every kept path. If keep_paths is None + the whole schema is in scope (full-equivalence migrations).""" + dk = _defs_key(schema) + all_defs = set(schema.get(dk, {})) + if not keep_paths: + return all_defs, set() + + reach: set[str] = set() + for path in keep_paths: + node = _navigate(schema, path) + if node is None: + logger.warning("scope path %r did not resolve; ignored", path) + continue + _collect_refs(node, reach) + + frontier = set(reach) + while frontier: + nxt: set[str] = set() + for d in frontier: + _collect_refs(schema.get(dk, {}).get(d, {}), nxt) + nxt -= reach + reach |= nxt + frontier = nxt + + in_scope = reach & all_defs + return in_scope, all_defs - in_scope + + +def build_projected_schema(schema: dict, keep_paths: list[str] | None) -> dict: + """Return A|t: a self-contained copy of the reference schema pruned to scope, + suitable for property-based generation of in-scope-valid instances.""" + if not keep_paths: + return copy.deepcopy(schema) + + proj = copy.deepcopy(schema) + dk = _defs_key(proj) + + # Build a trie of kept property paths. + trie: dict = {} + for path in keep_paths: + cur = trie + for part in path.split("."): + cur = cur.setdefault(part, {}) + + def prune(node: Any, sub: dict) -> None: + if not isinstance(node, dict) or not sub: + return # leaf of the keep-trie: retain node entirely + props = node.get("properties") + if isinstance(props, dict): + for name in list(props): + if name not in sub: + del props[name] + else: + prune(props[name], sub[name]) + req = node.get("required") + if isinstance(req, list): + node["required"] = [r for r in req if not props or r in props] + + prune(proj, trie) + + # Keep exactly the defs still reachable from the pruned root (this includes + # spine defs such as 'openlabel' itself, not just the leaf-reachable set). + reach = _reachable_from_root(proj) + proj[dk] = {k: v for k, v in proj.get(dk, {}).items() if k in reach} + return proj + + +def _reachable_from_root(schema: dict) -> set[str]: + """All definition names reachable by $ref from the schema root.""" + dk = _defs_key(schema) + reach: set[str] = set() + _collect_refs({k: v for k, v in schema.items() if k != dk}, reach) + frontier = set(reach) + while frontier: + nxt: set[str] = set() + for d in frontier: + _collect_refs(schema.get(dk, {}).get(d, {}), nxt) + nxt -= reach + reach |= nxt + frontier = nxt + return reach + + +def strip_properties(schema: dict, names: list[str]) -> dict: + """Return a copy with the named (optional) properties removed everywhere. + + Used to break recursive cycles for property-based generation: every pruned + property is optional, so generated instances remain valid against the full + schema -- generation simply never populates that subtree.""" + if not names: + return schema + s = copy.deepcopy(schema) + drop = set(names) + + def walk(node: Any) -> None: + if isinstance(node, dict): + props = node.get("properties") + if isinstance(props, dict): + for nm in list(props): + if nm in drop: + del props[nm] + req = node.get("required") + if isinstance(req, list): + node["required"] = [r for r in req if r not in drop] + for v in node.values(): + walk(v) + elif isinstance(node, list): + for v in node: + walk(v) + + walk(s) + return s + + +# ============================================================================= +# Pillar 2 -- structural correspondence (the gap table) +# ============================================================================= + + +def _prop_names(schema: dict, defn: dict) -> set[str]: + defn = _resolve_ref(schema, defn) + return set(defn.get("properties", {})) if isinstance(defn, dict) else set() + + +def match_definitions( + ref: dict, + linkml: dict, + in_scope: set[str], + explicit_map: dict[str, str], +) -> dict[str, str | None]: + """Map each in-scope reference def to a LinkML def -- explicit first, then a + Jaccard-of-property-names heuristic. Returns ref_def -> linkml_def | None.""" + ldk = _defs_key(linkml) + rdk = _defs_key(ref) + linkml_defs = linkml.get(ldk, {}) + mapping: dict[str, str | None] = {} + + for rd in sorted(in_scope): + if rd in explicit_map: + mapping[rd] = explicit_map[rd] + continue + rprops = _prop_names(ref, ref.get(rdk, {}).get(rd, {})) + best, best_score = None, 0.0 + for ld, ldef in linkml_defs.items(): + lprops = _prop_names(linkml, ldef) + union = rprops | lprops + jac = len(rprops & lprops) / len(union) if union else 0.0 + # tie-break toward name similarity (case-insensitive containment) + name_bonus = 0.15 if rd.lower().replace("_", "") in ld.lower() else 0.0 + score = jac + name_bonus + if score > best_score: + best, best_score = ld, score + mapping[rd] = best if best_score >= 0.3 else None + return mapping + + +def _json_types(schema: dict, prop: Any) -> set[str]: + """Set of JSON 'type' tokens a property accepts (flattening list-types and + anyOf/oneOf null-unions).""" + prop = _resolve_ref(schema, prop) + if not isinstance(prop, dict): + return set() + types: set[str] = set() + t = prop.get("type") + if isinstance(t, str): + types.add(t) + elif isinstance(t, list): + types |= set(t) + for key in ("anyOf", "oneOf"): + for sub in prop.get(key, []): + types |= _json_types(schema, sub) + return types + + +# Looseness categories the oracle/structural checker can recognise. A category +# is only treated as benign when the spec's allow_looseness declares it. +KEY_PATTERN = "key_pattern" # A constrains dict keys; L accepts any key +NULL_OPTIONAL = "null_optional" # L permits explicit JSON null where A forbids it +# L permits the object form of a LinkML inlined simple-dict value (an object with +# the value slot) where A allows only the bare scalar. This is a LinkML +# expressivity limit: an inlined simple-dict cannot be restricted to scalar-only +# values, so the object form is always accepted. +SIMPLE_DICT_OBJECT_FORM = "simple_dict_object_form" + + +def _expects_scalar(validator_value: Any) -> bool: + """True if a JSON Schema ``type`` keyword value names a scalar type.""" + scalars = {"string", "number", "integer", "boolean"} + if isinstance(validator_value, str): + return validator_value in scalars + if isinstance(validator_value, list): + return any(t in scalars for t in validator_value) + return False + + +def categorize_looseness(errors: list, allowed: set[str]) -> set[str] | None: + """Classify why A rejected an instance L accepted. + + Returns the set of looseness categories iff EVERY reference-schema error + falls into a *declared-allowed* category (benign, disclosed looseness). + Returns None if any error is outside the allowed categories -- i.e. a real, + undisclosed soundness violation.""" + cats: set[str] = set() + for e in errors: + if e.validator in ("additionalProperties", "patternProperties"): + cat = KEY_PATTERN + elif e.validator == "type" and e.instance is None: + cat = NULL_OPTIONAL + elif ( + e.validator == "type" + and isinstance(e.instance, dict) + and _expects_scalar(e.validator_value) + ): + cat = SIMPLE_DICT_OBJECT_FORM + else: + return None # undisclosed looseness + if cat not in allowed: + return None + cats.add(cat) + return cats + + +def _enum_of(schema: dict, prop: dict) -> set[str] | None: + prop = _resolve_ref(schema, prop) + if not isinstance(prop, dict): + return None + if "enum" in prop: + return set(prop["enum"]) + if "const" in prop: + return {prop["const"]} + for key in ("anyOf", "oneOf", "allOf"): + for sub in prop.get(key, []): + e = _enum_of(schema, sub) + if e: + return e + return None + + +def structural_gaps( + ref: dict, + linkml: dict, + in_scope: set[str], + out_scope: set[str], + mapping: dict[str, str | None], + justifier, + allowed: set[str], +) -> tuple[list[GapRow], list[str]]: + """Emit classified gap rows for every in-scope def + every out-of-scope def. + Returns (rows, unmapped_in_scope_defs).""" + rows: list[GapRow] = [] + unmapped: list[str] = [] + rdk, ldk = _defs_key(ref), _defs_key(linkml) + + for rd in sorted(out_scope): + rows.append( + GapRow( + rd, + "-", + "definition", + OUT_OF_SCOPE, + "not modelled", + justifier(rd, "out_of_scope", OUT_OF_SCOPE), + ) + ) + + for rd in sorted(in_scope): + ld = mapping.get(rd) + if ld is None: + unmapped.append(rd) + rows.append( + GapRow( + rd, + "?", + "definition", + UNMAPPED, + "in scope but no LinkML counterpart", + justifier(rd, "unmapped", UNMAPPED), + ) + ) + continue + + rdef = _resolve_ref(ref, ref.get(rdk, {}).get(rd, {})) + ldef = _resolve_ref(linkml, linkml.get(ldk, {}).get(ld, {})) + if not isinstance(rdef, dict) or not isinstance(ldef, dict): + continue + + # required-field refinement + rreq, lreq = set(rdef.get("required", [])), set(ldef.get("required", [])) + added = lreq - rreq + dropped = rreq - lreq + if added: + rows.append( + GapRow( + rd, + ld, + "required", + REFINEMENT, + f"L additionally requires {sorted(added)}", + justifier(rd, "required", REFINEMENT), + ) + ) + if dropped: + rows.append( + GapRow( + rd, + ld, + "required", + LOOSER, + f"L drops required {sorted(dropped)}", + justifier(rd, "required_dropped", LOOSER), + ) + ) + + # closed-object refinement + r_add = rdef.get("additionalProperties", True) + l_add = ldef.get("additionalProperties", True) + if r_add is not False and l_add is False: + rows.append( + GapRow( + rd, + ld, + "additionalProperties", + REFINEMENT, + "L closes the object (A is open)", + justifier(rd, "closed", REFINEMENT), + ) + ) + # key-pattern looseness: A restricts keys, L accepts any key + if rdef.get("patternProperties") and isinstance(l_add, dict): + rows.append( + GapRow( + rd, + ld, + "key-pattern", + LOOSER, + "A constrains dict keys via patternProperties; " + "L accepts any key (additionalProperties)", + justifier(rd, "key_pattern", LOOSER), + category=KEY_PATTERN if KEY_PATTERN in allowed else "", + ) + ) + + # per-property enum + null-permissiveness refinements + rprops = rdef.get("properties", {}) + lprops = ldef.get("properties", {}) + null_props: list[str] = [] + for pname in sorted(set(rprops) & set(lprops)): + r_types = _json_types(ref, rprops[pname]) + l_types = _json_types(linkml, lprops[pname]) + if "null" in l_types and "null" not in r_types and r_types: + null_props.append(pname) + r_enum = _enum_of(ref, rprops[pname]) + l_enum = _enum_of(linkml, lprops[pname]) + if l_enum and not r_enum: + rows.append( + GapRow( + rd, + ld, + f"{pname} (enum)", + REFINEMENT, + f"A: unconstrained -> L: enum of {len(l_enum)}", + justifier(rd, f"{pname}.enum", REFINEMENT), + ) + ) + elif r_enum and l_enum: + if l_enum - r_enum: + rows.append( + GapRow( + rd, + ld, + f"{pname} (enum)", + LOOSER, + f"L enum adds values absent from A: " + f"{sorted(l_enum - r_enum)}", + justifier(rd, f"{pname}.enum_extra", LOOSER), + ) + ) + elif r_enum - l_enum: + rows.append( + GapRow( + rd, + ld, + f"{pname} (enum)", + REFINEMENT, + f"L narrows A enum (drops {sorted(r_enum - l_enum)})", + justifier(rd, f"{pname}.enum_narrow", REFINEMENT), + ) + ) + if null_props: + rows.append( + GapRow( + rd, + ld, + "null-permissive", + LOOSER, + f"{len(null_props)} optional field(s) accept explicit " + f"null in L but not A: {null_props}", + justifier(rd, "null_optional", LOOSER), + category=NULL_OPTIONAL if NULL_OPTIONAL in allowed else "", + ) + ) + return rows, unmapped + + +# ============================================================================= +# Pillar 3 -- differential oracle +# ============================================================================= + + +def make_validator(schema: dict): + cls = jsonschema.validators.validator_for(schema) + cls.check_schema(schema) + return cls(schema) + + +def validate(validator, instance: Any) -> tuple[bool, list]: + errors = sorted(validator.iter_errors(instance), key=lambda e: e.path) + return (not errors), errors + + +def mutation_corpus(seeds: list[Any], cap_per_seed: int = 60) -> list[tuple[str, Any]]: + """Deterministically derive malformed/edge instances from valid seeds: + drop each required-ish key, type-swap each leaf, inject junk keys/values.""" + out: list[tuple[str, Any]] = [] + swaps = [None, "___JUNK___", 12345, 3.14, True, [], {}] + + def walk(node: Any, path: str, mutate): + """Yield mutated copies by applying `mutate` at every json location.""" + if isinstance(node, dict): + for k in list(node): + yield from mutate(node, k, f"{path}.{k}") + yield from walk(node[k], f"{path}.{k}", mutate) + elif isinstance(node, list): + for i, _ in enumerate(node): + yield from walk(node[i], f"{path}[{i}]", mutate) + + for si, seed in enumerate(seeds): + out.append((f"seed{si}", copy.deepcopy(seed))) + + # 1. drop each key + def drop(parent, key, p): + c = copy.deepcopy(seed) + tgt = _follow(c, p) + if tgt is not None: + par, last = tgt + del par[last] + yield (f"seed{si}:drop:{p}", c) + + # 2. type-swap each leaf value + def swap(parent, key, p): + for s in swaps: + c = copy.deepcopy(seed) + tgt = _follow(c, p) + if tgt is not None: + par, last = tgt + if not isinstance(par[last], (dict, list)): + par[last] = s + yield (f"seed{si}:swap:{p}={s!r}", c) + + # 3. inject a junk key at each object + def inject(parent, key, p): + c = copy.deepcopy(seed) + tgt = _follow(c, p) + if tgt is not None: + par, last = tgt + if isinstance(par[last], dict): + par[last]["___unexpected___"] = "x" + yield (f"seed{si}:inject:{p}", c) + + seen = 0 + for gen in (drop, swap, inject): + for name, inst in walk(seed, "$", gen): + out.append((name, inst)) + seen += 1 + if seen >= cap_per_seed: + break + if seen >= cap_per_seed: + break + return out + + +def _follow(root: Any, dotted: str): + """Resolve a '$.a.b[0]' path to (parent_container, last_key). None if absent.""" + parts = dotted.replace("[", ".").replace("]", "").split(".")[1:] + node = root + for part in parts[:-1]: + key: Any = int(part) if part.isdigit() else part + try: + node = node[key] + except (KeyError, IndexError, TypeError): + return None + last = parts[-1] + last = int(last) if last.isdigit() else last + try: + node[last] + except (KeyError, IndexError, TypeError): + return None + return node, last + + +def hypothesis_corpus(schema: dict, n: int) -> list[Any]: + """Property-based instance generation from a (projected) schema.""" + if not _HAS_HYPOTHESIS or n <= 0: + return [] + out: list[Any] = [] + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + strat = from_schema(schema) + + @settings( + max_examples=n, + deadline=None, + database=None, + derandomize=True, # reproducible -> deterministic CI gate + suppress_health_check=list(HealthCheck), + ) + @hypothesis.given(strat) + def collect(example): + out.append(example) + + try: + collect() + except Exception as exc: # generation can fail on exotic schemas + logger.warning("hypothesis generation incomplete: %s", exc) + return out + + +def differential( + corpus: Iterable[tuple[str, Any]], + ref_validator, + linkml_validator, + allowed: set[str], +) -> Buckets: + b = Buckets() + for name, inst in corpus: + try: + a_ok, a_err = validate(ref_validator, inst) + l_ok, _ = validate(linkml_validator, inst) + except Exception as exc: # pragma: no cover + b.errors.append(f"{name}: {exc}") + continue + if a_ok and l_ok: + b.agree_accept += 1 + elif not a_ok and not l_ok: + b.agree_reject += 1 + elif a_ok and not l_ok: + b.linkml_stricter.append({"case": name}) + else: # not a_ok and l_ok -> L accepts what A rejects + cats = categorize_looseness(a_err, allowed) + if cats is None: + b.linkml_looser.append( + {"case": name, "why": "; ".join(e.message for e in a_err[:2])} + ) + else: + b.disclosed_looser.append({"case": name, "categories": sorted(cats)}) + return b + + +# ============================================================================= +# Orchestration +# ============================================================================= + + +def _generate_linkml_schema(yaml_path: Path) -> dict: + import subprocess + + res = subprocess.run( + [sys.executable, "-m", "linkml.generators.jsonschemagen", str(yaml_path)], + capture_output=True, + text=True, + ) + if res.returncode != 0: + raise RuntimeError(f"jsonschemagen failed: {res.stderr}") + return json.loads(res.stdout) + + +def prove(spec: dict, root: Path) -> ProofReport: + name = spec.get("name", "migration") + ref = json.loads((root / spec["reference_schema"]).read_text(encoding="utf-8")) + + if spec.get("linkml_schema"): + linkml = json.loads((root / spec["linkml_schema"]).read_text(encoding="utf-8")) + elif spec.get("linkml_yaml"): + linkml = _generate_linkml_schema(root / spec["linkml_yaml"]) + else: + raise ValueError("spec needs 'linkml_schema' or 'linkml_yaml'") + + keep = spec.get("scope_keep") + in_scope, out_scope = project_scope(ref, keep) + logger.info( + "%s: %d in-scope defs, %d out-of-scope", name, len(in_scope), len(out_scope) + ) + + # justification lookup: substring match against spec.justifications + just_cfg: dict[str, str] = spec.get("justifications", {}) + + def justifier(ref_def: str, aspect_key: str, classification: str) -> str: + key = f"{ref_def}.{aspect_key}" + for pat, txt in just_cfg.items(): + if pat in key or pat == classification or pat == aspect_key: + return txt + return { + OUT_OF_SCOPE: "Outside declared scope; unreachable from kept entry points.", + REFINEMENT: "Intended strengthening (Delta): L validates what A leaves open.", + LOOSER: "DISCLOSED looseness -- must be justified or fixed.", + UNMAPPED: "GAP: in-scope definition without a LinkML counterpart.", + }.get(classification, "") + + allowed = set(spec.get("allow_looseness", [KEY_PATTERN, NULL_OPTIONAL])) + + mapping = match_definitions(ref, linkml, in_scope, spec.get("def_map", {})) + gaps, unmapped = structural_gaps( + ref, linkml, in_scope, out_scope, mapping, justifier, allowed + ) + + ref_v = make_validator(ref) + linkml_v = make_validator(linkml) + + # corpus + seeds: list[Any] = [] + for g in spec.get("seeds", []): + for p in sorted(root.glob(g)): + seeds.append(json.loads(p.read_text(encoding="utf-8"))) + + n_sound = int(spec.get("hypothesis", {}).get("soundness", 0)) + n_compl = int(spec.get("hypothesis", {}).get("completeness", 0)) + # Optional properties to drop for property-based GENERATION only, to break + # recursive $ref cycles that hypothesis-jsonschema cannot expand. Pruned + # subtrees are optional, so generated instances stay valid against the full + # schema; the mutation corpus + seeds still exercise those subtrees. + gen_prune = spec.get("generation_prune", []) + + # Soundness corpus: instances drawn from L's own grammar (+ seeds) -> must be A-valid. + sound_corpus: list[tuple[str, Any]] = list(mutation_corpus(seeds)) if seeds else [] + for i, inst in enumerate( + hypothesis_corpus(strip_properties(linkml, gen_prune), n_sound) + ): + sound_corpus.append((f"hypL{i}", inst)) + + # Completeness corpus: A|t-valid instances -> measure how much stricter L is. + projected = build_projected_schema(ref, keep) + compl_corpus: list[tuple[str, Any]] = [ + (f"hypA{i}", inst) + for i, inst in enumerate( + hypothesis_corpus(strip_properties(projected, gen_prune), n_compl) + ) + ] + for si, seed in enumerate(seeds): + compl_corpus.append((f"seed{si}", seed)) + + soundness = differential(sound_corpus, ref_v, linkml_v, allowed) + completeness = differential(compl_corpus, ref_v, linkml_v, allowed) + + return ProofReport( + name=name, + in_scope=sorted(in_scope), + out_scope=sorted(out_scope), + gaps=gaps, + soundness=soundness, + completeness=completeness, + corpus_sizes={ + "soundness": len(sound_corpus), + "completeness": len(compl_corpus), + "seeds": len(seeds), + "hypothesis_available": int(_HAS_HYPOTHESIS), + }, + unmapped=unmapped, + ) + + +# ============================================================================= +# Reporting +# ============================================================================= + + +def report_markdown(r: ProofReport) -> str: + L: list[str] = [] + L.append(f"# Refinement Proof — `{r.name}`\n") + L.append( + "Auto-generated by `scripts/schema_refinement_prover.py`. Asserts that the " + "LinkML-generated JSON Schema (L) is a **sound refinement** of the normative " + "reference JSON Schema (A) within the declared scope. Regenerate after any " + "schema or submodule change.\n" + ) + L.append(f"**Verdict: {r.verdict()}**\n") + + L.append("## 1. Scope projection ($ref reachability)\n") + L.append( + f"- **In scope ({len(r.in_scope)} defs):** {', '.join(f'`{d}`' for d in r.in_scope)}" + ) + L.append( + f"- **Out of scope ({len(r.out_scope)} defs):** " + f"{', '.join(f'`{d}`' for d in r.out_scope)}\n" + ) + + L.append("## 2. Structural correspondence (gap table)\n") + L.append("| Reference def | LinkML def | Aspect | Class | Detail | Justification |") + L.append("|---|---|---|---|---|---|") + order = {REFINEMENT: 0, LOOSER: 1, UNMAPPED: 2, EQUIVALENT: 3, OUT_OF_SCOPE: 4} + for g in sorted(r.gaps, key=lambda x: (order.get(x.classification, 9), x.ref_def)): + if g.classification == OUT_OF_SCOPE: + continue # summarised above; keep the table focused on in-scope deltas + L.append( + f"| `{g.ref_def}` | `{g.linkml_def}` | {g.aspect} | **{g.classification}** " + f"| {g.detail} | {g.justification} |" + ) + n_oos = sum(1 for g in r.gaps if g.classification == OUT_OF_SCOPE) + L.append( + f"\n_{n_oos} OUT_OF_SCOPE definitions omitted from the table (listed in §1)._\n" + ) + + def bucket_block(title: str, b: Buckets, *, gate: bool) -> None: + L.append(f"### {title}\n") + L.append(f"- corpus size: **{b.total}**") + L.append(f"- AGREE (both accept): {b.agree_accept}") + L.append(f"- AGREE (both reject): {b.agree_reject}") + L.append( + f"- LINKML-STRICTER (A accept / L reject): {len(b.linkml_stricter)}" + f" — expected (Δ refinements)" + ) + breakdown = b.looseness_breakdown() + bd = ", ".join(f"{k}={v}" for k, v in sorted(breakdown.items())) or "none" + L.append( + f"- disclosed looser (A reject / L accept, declared benign): " + f"{len(b.disclosed_looser)} [{bd}]" + ) + flag = ( + "✅ empty" + if not b.linkml_looser + else f"❌ {len(b.linkml_looser)} — REFUTES SOUNDNESS" + ) + L.append(f"- **UNDISCLOSED LINKML-LOOSER (A reject / L accept): {flag}**") + if b.linkml_looser: + for s in b.linkml_looser[:10]: + L.append(f" - `{s['case']}` — {s.get('why', '')}") + if b.errors: + L.append(f"- generation/validation errors: {len(b.errors)}") + L.append("") + + L.append("## 3. Differential oracle\n") + bucket_block( + "3a. Soundness corpus (L-grammar + mutations → must be A-valid)", + r.soundness, + gate=True, + ) + bucket_block( + "3b. Completeness corpus (A|τ-valid → measure L strictness)", + r.completeness, + gate=False, + ) + + if not r.corpus_sizes.get("hypothesis_available"): + L.append( + "> ⚠️ `hypothesis-jsonschema` not installed — property-based " + "generation skipped; only the mutation corpus ran.\n" + ) + + L.append("## 4. Result\n") + L.append( + f"- Soundness gate (no undisclosed LINKML-LOOSER): " + f"{'✅ PASS' if not r.soundness.linkml_looser else '❌ FAIL'}" + ) + L.append( + f"- Coverage gate (no UNMAPPED in-scope defs): " + f"{'✅ PASS' if not r.unmapped else '❌ FAIL ' + str(r.unmapped)}" + ) + L.append( + f"- Structural LOOSER rows: {len(r.structural_looser)} total, " + f"{len(r.undisclosed_structural_looser)} undisclosed " + f"{'✅' if not r.undisclosed_structural_looser else '❌'}" + ) + observed = sorted( + set(r.soundness.looseness_breakdown()) + | set(r.completeness.looseness_breakdown()) + ) + lam = ", ".join(observed) if observed else "∅ (strict refinement)" + L.append( + "\n> **Interpretation.** The relation proven is L = A|τ refined by Δ " + "(intended strengthenings: vocabulary enums, required fields, closed " + f"objects, const pins) and relaxed by the declared, bounded set Λ = {{{lam}}}. " + "Both Δ and Λ are finite and enumerated here, so the claim is falsifiable: " + "any instance L accepts that A rejects for a reason outside Λ appears in " + "the UNDISCLOSED bucket and fails the gate.\n" + ) + return "\n".join(L) + "\n" + + +def main(argv: list[str] | None = None) -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument( + "--spec", required=True, type=Path, help="per-migration proof spec (YAML)" + ) + ap.add_argument("--out", type=Path, help="write the Markdown report here") + ap.add_argument( + "--root", type=Path, default=Path.cwd(), help="repo root for relative paths" + ) + args = ap.parse_args(argv) + + spec = yaml.safe_load(args.spec.read_text(encoding="utf-8")) + report = prove(spec, args.root.resolve()) + md = report_markdown(report) + + if args.out: + args.out.write_text(md, encoding="utf-8") + logger.info("wrote %s", args.out) + else: + print(md) + + return 0 if report.sound else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/sync_tag_type_enum.py b/scripts/sync_tag_type_enum.py new file mode 100644 index 00000000..9cd5572a --- /dev/null +++ b/scripts/sync_tag_type_enum.py @@ -0,0 +1,271 @@ +#!/usr/bin/env python3 +"""Synchronize TagTypeEnum in the structural schema from the ontology model. + +Module purpose: + Reads the openlabel-v2 semantic model (openlabel-v2.yaml) and regenerates + the TagTypeEnum section in the structural model (openlabel-v2-schema.yaml). + This keeps the JSON Schema vocabulary in sync with the OWL/SHACL ontology. + +Dependencies: + core: (none — standalone script) + third-party: pyyaml + +Usage: + python scripts/sync_tag_type_enum.py # default paths + python scripts/sync_tag_type_enum.py --check # dry-run, exit 1 if out of sync + python scripts/sync_tag_type_enum.py --ontology X --schema Y # custom paths +""" + +from __future__ import annotations + +import argparse +import sys +from pathlib import Path + +import yaml + +# Default paths relative to repository root +DEFAULT_ONTOLOGY = Path("linkml/openlabel-v2/openlabel-v2.yaml") +DEFAULT_SCHEMA = Path("linkml/openlabel-v2/openlabel-v2-schema.yaml") + + +def extract_tag_types(ontology_path: Path) -> tuple[list[str], dict[str, str]]: + """Extract all valid tag.type values from the ontology model. + + Returns: + Tuple of (yaml_lines, stats) where yaml_lines is the TagTypeEnum YAML + fragment and stats is a dict of category counts. + """ + with open(ontology_path, encoding="utf-8") as f: + model = yaml.safe_load(f) + + enums = model.get("enums", {}) + slots = model.get("slots", {}) + classes = model.get("classes", {}) + + # Tag classes: every class minted in the openlabel-v2 namespace forms the + # ASAM v1 tag hierarchy (structural roots + category nodes). Helper classes + # outside that namespace (e.g. sdo:QuantitativeValue) are excluded. + tag_classes = sorted( + cname + for cname, cdef in classes.items() + if str(cdef.get("class_uri", "")).startswith("openlabel_v2:") + ) + + # Admin slots + admin_slots = model["classes"].get("AdminTag", {}).get("slots", []) + + # All enum permissible values (to detect overlaps with boolean flags) + all_enum_values: set[str] = set() + for edef in enums.values(): + all_enum_values.update(edef.get("permissible_values", {}).keys()) + + # Enum-typed slots (slot names that take enum values — valid tag types in v1) + enum_names = set(enums.keys()) + enum_slots = [ + sname for sname, sdef in slots.items() if sdef.get("range") in enum_names + ] + + # Boolean flags — exclude those already in enum values to avoid duplicate keys + bool_flags = [ + sname + for sname, sdef in slots.items() + if sdef.get("range") == "boolean" + and sname not in all_enum_values + and sname not in set(enum_slots) + ] + + # Build YAML lines. + # + # TagTypeEnum is a *set* of unique tag-type names: the same permissible value + # may legitimately appear in several enum families (e.g. a road-user term + # listed in both RoadUserHumanEnum and a combined TrafficAgentTypeEnum). It + # must be emitted only once, or gen-json-schema fails with a duplicate-key + # error. `seen` tracks every key already written so later duplicates (from any + # section) are skipped, keeping the first occurrence. + lines: list[str] = [] + seen: set[str] = set() + + def add_value(key: str, description_line: str) -> None: + if key in seen: + return + seen.add(key) + lines.append(f" {key}:") + lines.append(description_line) + + lines.append(" TagTypeEnum:") + lines.append(" description: >-") + lines.append( + " All valid values for the tag.type field in ASAM OpenLABEL v1 format" + ) + lines.append( + " files. Derived from the openlabel-v2 ontology vocabulary (classes," + ) + lines.append(" enums, slots). AUTO-GENERATED — do not edit manually.") + lines.append(" permissible_values:") + + # Tag classes (structural roots + hierarchy category nodes) + lines.append(" # --- Tag classes (hierarchy nodes) ---") + for c in tag_classes: + add_value(c, " description: Tag class (hierarchy node)") + + # Admin properties + lines.append(" # --- Administration tag properties ---") + for s in sorted(admin_slots): + add_value(s, " description: Administration tag property") + + # Boolean flags + lines.append(" # --- Boolean flag tags (ODD/Behaviour) ---") + for s in sorted(bool_flags): + add_value(s, " description: Boolean ODD/Behaviour flag") + + # Enum-typed slot names + lines.append(" # --- Enum category tags (slot names with enum ranges) ---") + for s in sorted(enum_slots): + slot_range = slots[s].get("range", "") + add_value( + s, + f" description: Enum category tag (takes values from {slot_range})", + ) + + # Enum values by family (values shared across families are emitted once) + for ename in sorted(enums.keys()): + pvs = enums[ename].get("permissible_values", {}) + lines.append(f" # --- {ename} ---") + for pv in sorted(pvs.keys()): + desc = pvs[pv].get("description", "") + if desc: + desc_clean = desc.replace('"', '\\"') + add_value(pv, f' description: "{desc_clean}"') + else: + add_value(pv, " description: Enum value") + + # Stats + all_types: set[str] = set() + all_types.update(tag_classes) + all_types.update(admin_slots) + all_types.update(bool_flags) + all_types.update(enum_slots) + for edef in enums.values(): + all_types.update(edef.get("permissible_values", {}).keys()) + + stats = { + "total": str(len(all_types)), + "structural_classes": str(len(tag_classes)), + "admin_properties": str(len(admin_slots)), + "boolean_flags": str(len(bool_flags)), + "enum_category_slots": str(len(enum_slots)), + "enum_leaf_values": str( + sum(len(e.get("permissible_values", {})) for e in enums.values()) + ), + } + + return lines, stats + + +def update_schema(schema_path: Path, enum_lines: list[str]) -> bool: + """Replace the TagTypeEnum section in the schema YAML. + + Returns: + True if the file was changed, False if already up to date. + """ + content = schema_path.read_text(encoding="utf-8") + lines = content.split("\n") + + # Locate the TagTypeEnum block. The block body is indented >= 4 spaces (its + # `description:`/`permissible_values:` keys) or 6 spaces (value comments); + # the block ends at the first subsequent non-blank line indented <= 2 spaces + # (a sibling enum at indent 2, or a top-level key at indent 0). This is + # position-independent — TagTypeEnum need not be the last enum in the file. + marker = " TagTypeEnum:" + try: + start = next(i for i, ln in enumerate(lines) if ln.rstrip() == marker) + except StopIteration as exc: + raise ValueError(f"Could not find '{marker}' in {schema_path}") from exc + + end = len(lines) + for i in range(start + 1, len(lines)): + line = lines[i] + if not line.strip(): + continue + indent = len(line) - len(line.lstrip(" ")) + if indent <= 2: + end = i + break + + new_lines = lines[:start] + enum_lines + lines[end:] + new_content = "\n".join(new_lines) + # Preserve the file's trailing newline when TagTypeEnum is the final block. + if not new_content.endswith("\n"): + new_content += "\n" + + if new_content == content: + return False + + schema_path.write_text(new_content, encoding="utf-8") + return True + + +def main() -> int: + """CLI entry point.""" + parser = argparse.ArgumentParser( + description="Sync TagTypeEnum from ontology model to structural schema." + ) + parser.add_argument( + "--ontology", + type=Path, + default=DEFAULT_ONTOLOGY, + help=f"Path to ontology model YAML (default: {DEFAULT_ONTOLOGY})", + ) + parser.add_argument( + "--schema", + type=Path, + default=DEFAULT_SCHEMA, + help=f"Path to structural schema YAML (default: {DEFAULT_SCHEMA})", + ) + parser.add_argument( + "--check", + action="store_true", + help="Dry run: exit 1 if enum is out of sync, 0 if up to date.", + ) + args = parser.parse_args() + + if not args.ontology.exists(): + print(f"ERROR: Ontology model not found: {args.ontology}", file=sys.stderr) + return 1 + if not args.schema.exists(): + print(f"ERROR: Schema model not found: {args.schema}", file=sys.stderr) + return 1 + + enum_lines, stats = extract_tag_types(args.ontology) + print( + f"TagTypeEnum: {stats['total']} values " + f"({stats['structural_classes']} classes, " + f"{stats['admin_properties']} admin, " + f"{stats['boolean_flags']} boolean, " + f"{stats['enum_category_slots']} enum slots, " + f"{stats['enum_leaf_values']} enum values)" + ) + + if args.check: + # Read current content and compare + content = args.schema.read_text(encoding="utf-8") + expected_block = "\n".join(enum_lines) + if expected_block in content: + print("TagTypeEnum is up to date.") + return 0 + else: + print("TagTypeEnum is OUT OF SYNC — run without --check to update.") + return 1 + + changed = update_schema(args.schema, enum_lines) + if changed: + print(f"Updated TagTypeEnum in {args.schema}") + else: + print("TagTypeEnum already up to date — no changes needed.") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/submodules/asam-openx-standards b/submodules/asam-openx-standards index b0eb1a7e..ebf69832 160000 --- a/submodules/asam-openx-standards +++ b/submodules/asam-openx-standards @@ -1 +1 @@ -Subproject commit b0eb1a7e9ed4566ab205948cac2e3587691b1400 +Subproject commit ebf69832b87c6f30afed07e644acaf9cff5d1658 diff --git a/submodules/linkml b/submodules/linkml index b2b3dba5..97e73d0f 160000 --- a/submodules/linkml +++ b/submodules/linkml @@ -1 +1 @@ -Subproject commit b2b3dba5d2abd88c9773028bb8527e4f2bed2283 +Subproject commit 97e73d0f1dcbe13dd8fd4ff7685ec9b71252f85c diff --git a/tests/catalog-v001.xml b/tests/catalog-v001.xml index 27b4a681..cf5e5dbc 100644 --- a/tests/catalog-v001.xml +++ b/tests/catalog-v001.xml @@ -61,6 +61,7 @@ + diff --git a/tests/data/openlabel-v2/invalid/fail01_wrong_value_openlabel-v2_instance.json b/tests/data/openlabel-v2/invalid/fail01_wrong_value_openlabel-v2_instance.json index 4152dee1..eab1a103 100644 --- a/tests/data/openlabel-v2/invalid/fail01_wrong_value_openlabel-v2_instance.json +++ b/tests/data/openlabel-v2/invalid/fail01_wrong_value_openlabel-v2_instance.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_openlabel-v2_instance", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "WeatherWind": true, "weatherWindValue": "not-a-decimal" } diff --git a/tests/data/openlabel-v2/invalid/fail02_decimal_for_integer.json b/tests/data/openlabel-v2/invalid/fail02_decimal_for_integer.json index 536c30bd..4fc0f2eb 100644 --- a/tests/data/openlabel-v2/invalid/fail02_decimal_for_integer.json +++ b/tests/data/openlabel-v2/invalid/fail02_decimal_for_integer.json @@ -2,14 +2,12 @@ "@context": [ "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" + "xsd": "http://www.w3.org/2001/XMLSchema#" } ], "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail02_decimal_for_integer", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +23,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "LaneSpecificationLaneCount": true, "laneSpecificationLaneCountValue": 3.5, "LaneSpecificationDimensions": true, diff --git a/tests/data/openlabel-v2/invalid/fail03_string_for_boolean.json b/tests/data/openlabel-v2/invalid/fail03_string_for_boolean.json index 9d92b535..340f0c4b 100644 --- a/tests/data/openlabel-v2/invalid/fail03_string_for_boolean.json +++ b/tests/data/openlabel-v2/invalid/fail03_string_for_boolean.json @@ -1,16 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/", - "openlabel_v2": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail03_prefixed_bypass_coercion", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -26,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "openlabel_v2:WeatherWind": "yes", "openlabel_v2:WeatherRain": "true", "openlabel_v2:weatherWindValue": "strong" diff --git a/tests/data/openlabel-v2/invalid/fail04_wrong_literal_types.json b/tests/data/openlabel-v2/invalid/fail04_wrong_literal_types.json index 14e02a68..66d49634 100644 --- a/tests/data/openlabel-v2/invalid/fail04_wrong_literal_types.json +++ b/tests/data/openlabel-v2/invalid/fail04_wrong_literal_types.json @@ -2,14 +2,12 @@ "@context": [ "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" + "xsd": "http://www.w3.org/2001/XMLSchema#" } ], "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail04_integer_for_decimal", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +23,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "WeatherWind": true, "weatherWindValue": "strong", "SubjectVehicleSpeed": true, diff --git a/tests/data/openlabel-v2/invalid/fail05_wrong_enum_value.json b/tests/data/openlabel-v2/invalid/fail05_wrong_enum_value.json index 358555e4..6767ad7e 100644 --- a/tests/data/openlabel-v2/invalid/fail05_wrong_enum_value.json +++ b/tests/data/openlabel-v2/invalid/fail05_wrong_enum_value.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail05_wrong_enum_value", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "DrivableAreaType": "NonExistentRoadType", "RainType": "RainTypeFictitious" } diff --git a/tests/data/openlabel-v2/invalid/fail06_wrong_enum_in_array.json b/tests/data/openlabel-v2/invalid/fail06_wrong_enum_in_array.json index 3f2fa9aa..e4cbbe00 100644 --- a/tests/data/openlabel-v2/invalid/fail06_wrong_enum_in_array.json +++ b/tests/data/openlabel-v2/invalid/fail06_wrong_enum_in_array.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail06_wrong_enum_in_array", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Behaviour": { - "@type": "Behaviour", "BehaviourCommunication": [ "CommunicationSignalLeft", "InvalidCommunicationType" diff --git a/tests/data/openlabel-v2/invalid/fail07_cross_enum_contamination.json b/tests/data/openlabel-v2/invalid/fail07_cross_enum_contamination.json index ecffd5a3..c510c835 100644 --- a/tests/data/openlabel-v2/invalid/fail07_cross_enum_contamination.json +++ b/tests/data/openlabel-v2/invalid/fail07_cross_enum_contamination.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail07_cross_enum", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "DrivableAreaType": "VehicleCar", "SceneryZone": "HumanPedestrian" } diff --git a/tests/data/openlabel-v2/invalid/fail08_maxcount_violation.json b/tests/data/openlabel-v2/invalid/fail08_maxcount_violation.json index 31e58e29..29ff1562 100644 --- a/tests/data/openlabel-v2/invalid/fail08_maxcount_violation.json +++ b/tests/data/openlabel-v2/invalid/fail08_maxcount_violation.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail08_maxcount", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "DrivableAreaType": [ "MotorwayManaged", "RoadTypeRural" diff --git a/tests/data/openlabel-v2/invalid/fail09_missing_required_minmax.json b/tests/data/openlabel-v2/invalid/fail09_missing_required_minmax.json index 890ed849..63ace442 100644 --- a/tests/data/openlabel-v2/invalid/fail09_missing_required_minmax.json +++ b/tests/data/openlabel-v2/invalid/fail09_missing_required_minmax.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail09_missing_required", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,10 +18,9 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Behaviour": { - "@type": "Behaviour", "MotionAccelerate": true, "motionAccelerateValue": { - "@type": "schema:QuantitativeValue" + "@type": "QuantitativeValue" }, "MotionDrive": false } diff --git a/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.expected b/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.expected index e7226bdc..f9d930dd 100644 --- a/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.expected +++ b/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.expected @@ -25,425 +25,14 @@ = Literal("UUID-UNIQUE-5678", datatype=xsd:string) ; = = Literal("2.0.0", datatype=xsd:string) ; = = Literal("https://example.com/visualization.png", = -= datatype=xsd:string) ; rdf:type , [ owl:allValuesFrom xsd:dateTime = -= ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string = -= ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom xsd:string ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom xsd:string ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom xsd:string ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom xsd:string ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:string ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], rdfs:Resource ] = -= is closed. It cannot have value: Literal("should not be allowed", datatype=xsd:string) = += datatype=xsd:string) ; rdf:type ] is closed. It cannot have value: = += Literal("should not be allowed", datatype=xsd:string) = = -------------------------------------------------------------------------------------------------------------------------------------------------- = = 🔹 [Violation] Node: [BNODE] = = Property: https://w3id.org/ascs-ev/envited-x/openlabel/v2/unknownOddProperty = = Error: Node [ Literal("true" = True, datatype=xsd:boolean) ; = = Literal("this should fail on closed shape", = = datatype=xsd:string) ; Literal("5", datatype=xsd:decimal) = -= ; rdf:type , [ owl:allValuesFrom ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom [ = -= owl:intersectionOf ( xsd:integer [ owl:onDatatype xsd:integer ; owl:withRestrictions ( ) ; = -= rdf:type rdfs:Datatype, rdfs:Resource ] ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom [ owl:intersectionOf ( xsd:integer [ owl:onDatatype xsd:integer ; owl:withRestrictions ( = -= ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom [ owl:intersectionOf ( xsd:integer [ owl:onDatatype xsd:integer ; owl:withRestrictions ( = -= ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom [ owl:unionOf ( [ = -= owl:intersectionOf ( xsd:integer ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ) ] ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom [ owl:unionOf ( [ = -= owl:intersectionOf ( xsd:integer ) ; rdf:type rdfs:Datatype, rdfs:Resource ] ) ] ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom [ owl:unionOf ( = -= xsd:decimal ) ] ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom [ owl:unionOf ( ) ] ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom xsd:boolean ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:boolean ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:decimal ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:decimal ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:decimal ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:decimal ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:allValuesFrom xsd:decimal ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:decimal ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:allValuesFrom xsd:decimal ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom = -= xsd:decimal ; owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:allValuesFrom xsd:decimal ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:maxCardinality Literal("1", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:maxCardinality = -= Literal("1", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type = -= owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty = -= ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, = -= rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ = -= owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; = -= owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, = -= rdfs:Resource ], [ owl:minCardinality Literal("0", datatype=xsd:integer) ; owl:onProperty ; rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], [ owl:minCardinality = -= Literal("0", datatype=xsd:integer) ; owl:onProperty ; = -= rdf:type owl:Restriction, rdfs:Class, rdfs:Resource ], rdfs:Resource ] is closed. It cannot have value: Literal("this should = -= fail on closed shape", datatype=xsd:string) = += ; rdf:type ] is closed. It cannot have value: Literal("this should fail = += on closed shape", datatype=xsd:string) = ====================================================================================================================================================== diff --git a/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.json b/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.json index 48b069b4..4ca7a328 100644 --- a/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.json +++ b/tests/data/openlabel-v2/invalid/fail10_closed_shape_unknown_property.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail10_closed_shape", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -26,7 +19,6 @@ "inventedProperty": "should not be allowed" }, "Odd": { - "@type": "Odd", "WeatherWind": true, "weatherWindValue": 5.0, "unknownOddProperty": "this should fail on closed shape" diff --git a/tests/data/openlabel-v2/invalid/fail11_traffic_agent_wrong_enum.json b/tests/data/openlabel-v2/invalid/fail11_traffic_agent_wrong_enum.json index 60d09f51..c288171a 100644 --- a/tests/data/openlabel-v2/invalid/fail11_traffic_agent_wrong_enum.json +++ b/tests/data/openlabel-v2/invalid/fail11_traffic_agent_wrong_enum.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail11_traffic_agent_wrong_enum", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,15 +18,10 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Odd": { - "@type": "Odd", "TrafficAgentType": true, "trafficAgentTypeValue": [ - { - "@id": "openlabel_v2:RainTypeDynamic" - }, - { - "@id": "openlabel_v2:NonExistentRoadUser" - } + "RainTypeDynamic", + "NonExistentRoadUser" ] } } diff --git a/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.expected b/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.expected index d14d2f8b..db20f2f1 100644 --- a/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.expected +++ b/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.expected @@ -11,4 +11,3 @@ = Error: EdgeNone is mutually exclusive with other drivable area edge types. If DrivableAreaEdge includes EdgeNone, no other edge = = values are allowed. = ====================================================================================================================================================== - diff --git a/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.json b/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.json index 587e0b2d..1a54a34e 100644 --- a/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.json +++ b/tests/data/openlabel-v2/invalid/fail12_edge_none_mutual_exclusion.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_edge_none_exclusion", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@test.de", "ownerName": "Test Org", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.com/vis.png" }, "Odd": { - "@type": "Odd", "DrivableAreaEdge": [ "EdgeNone", "EdgeSolidBarriers" diff --git a/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.expected b/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.expected new file mode 100644 index 00000000..b06af3f5 --- /dev/null +++ b/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.expected @@ -0,0 +1,13 @@ +====================================================================================================================================================== += ❌ SHACL validation failed for: = += = += ['tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.json'] = += = +====================================================================================================================================================== += = += Structured Validation Errors: = += -------------------------------------------------------------------------------------------------------------------------------------------------- = += 🔹 [Violation] Node: [BNODE] = += Property: https://schema.org/maxValue = += Error: maxValue (QuantitativeValue): Maximum value of the range. = +====================================================================================================================================================== diff --git a/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.json b/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.json new file mode 100644 index 00000000..8b3a94b5 --- /dev/null +++ b/tests/data/openlabel-v2/invalid/fail13_quantitativevalue_inferred_missing_max.json @@ -0,0 +1,27 @@ +{ + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", + "@id": "did:web:test.openlabel-v2.net:Tag:test_invalid_fail13_qv_inferred_missing_max", + "@type": "Tag", + "AdminTag": { + "licenseURI": "https://creativecommons.org/licenses/by/4.0/", + "ownerEmail": "contact@bmw.de", + "ownerName": "BMW AG", + "ownerURL": "https://www.bmw.com", + "scenarioCreatedDate": "2024-01-15T10:00:00", + "scenarioDefinition": "Scenario Definition Content", + "scenarioDefinitionLanguageURI": "https://www.asam.net/standards/detail/openscenario/", + "scenarioDescription": "Invalid: untyped QuantitativeValue (type inferred from minValue) is still missing required maxValue", + "scenarioName": "Invalid_Inferred_QuantitativeValue_Missing_Max", + "scenarioParentReference": "UUID-PARENT-1234", + "scenarioUniqueReference": "UUID-UNIQUE-5678", + "scenarioVersion": "2.0.0", + "scenarioVisualisationURL": "https://example.com/visualization.png" + }, + "Behaviour": { + "MotionAccelerate": true, + "motionAccelerateValue": { + "minValue": "0.5" + }, + "MotionDrive": false + } +} diff --git a/tests/data/openlabel-v2/valid/openlabel-v2_comprehensive_instance.json b/tests/data/openlabel-v2/valid/openlabel-v2_comprehensive_instance.json index d129b837..ddb7cd3d 100644 --- a/tests/data/openlabel-v2/valid/openlabel-v2_comprehensive_instance.json +++ b/tests/data/openlabel-v2/valid/openlabel-v2_comprehensive_instance.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_comprehensive_all_variants", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by-sa/4.0/", "ownerEmail": "validation-test@example.org", "ownerName": "Comprehensive Test Organization GmbH", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.org/vis/comprehensive-test.webp" }, "Behaviour": { - "@type": "Behaviour", "BehaviourCommunication": [ "CommunicationHeadlightFlash", "CommunicationHorn", @@ -38,13 +30,11 @@ ], "MotionAccelerate": true, "motionAccelerateValue": { - "@type": "schema:QuantitativeValue", "minValue": "0.001", "maxValue": "9.81" }, "MotionDecelerate": true, "motionDecelerateValue": { - "@type": "schema:QuantitativeValue", "minValue": "0.0", "maxValue": "15.0" }, @@ -69,7 +59,6 @@ "MotionWalk": true }, "Odd": { - "@type": "Odd", "ConnectivityCommunication": "V2vCellular", "ConnectivityPositioning": "PositioningGalileo", "DaySunElevation": true, @@ -99,7 +88,6 @@ "JunctionRoundabout": "RoundaboutDoubleSignal", "LaneSpecificationDimensions": true, "laneSpecificationDimensionsValue": { - "@type": "schema:QuantitativeValue", "minValue": "2.5", "maxValue": "4.0" }, @@ -136,7 +124,6 @@ "SignsWarning": "WarningSignsVariableTemporary", "SubjectVehicleSpeed": true, "subjectVehicleSpeedValue": { - "@type": "schema:QuantitativeValue", "minValue": "30", "maxValue": "250" }, @@ -144,18 +131,10 @@ "trafficAgentDensityValue": 0, "TrafficAgentType": true, "trafficAgentTypeValue": [ - { - "@id": "openlabel_v2:VehicleTruck" - }, - { - "@id": "openlabel_v2:VehicleEmergency" - }, - { - "@id": "openlabel_v2:HumanCyclist" - }, - { - "@id": "openlabel_v2:HumanWheelchairUser" - } + "VehicleTruck", + "VehicleEmergency", + "HumanCyclist", + "HumanWheelchairUser" ], "TrafficFlowRate": true, "trafficFlowRateValue": 9999, @@ -170,12 +149,10 @@ "weatherWindValue": 33.3 }, "RoadUser": { - "@type": "RoadUser", "RoadUserAnimal": true, "RoadUserHuman": "HumanWheelchairUser", "RoadUserVehicle": "VehicleEmergency", "motionDriveValue": { - "@type": "schema:QuantitativeValue", "minValue": "0.0", "maxValue": "200.0" } diff --git a/tests/data/openlabel-v2/valid/openlabel-v2_cross_test_instance.json b/tests/data/openlabel-v2/valid/openlabel-v2_cross_test_instance.json index 7f9a12e6..7b12c09d 100644 --- a/tests/data/openlabel-v2/valid/openlabel-v2_cross_test_instance.json +++ b/tests/data/openlabel-v2/valid/openlabel-v2_cross_test_instance.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel.net:Tag:test_comprehensive_cross_v1_to_v2", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by-sa/4.0/", "ownerEmail": "validation-test@example.org", "ownerName": "Comprehensive Test Organization GmbH", @@ -25,7 +18,6 @@ "scenarioVisualisationURL": "https://example.org/vis/cross-test.webp" }, "Behaviour": { - "@type": "Behaviour", "BehaviourCommunication": [ "CommunicationSignalLeft", "CommunicationSignalRight", @@ -33,7 +25,6 @@ ], "MotionAccelerate": true, "motionAccelerateValue": { - "@type": "schema:QuantitativeValue", "minValue": "0.001", "maxValue": "9.81" }, @@ -60,7 +51,6 @@ "MotionWalk": false }, "Odd": { - "@type": "Odd", "ConnectivityCommunication": "CommunicationV2v", "ConnectivityPositioning": "PositioningGps", "DaySunElevation": true, @@ -117,12 +107,8 @@ "trafficAgentDensityValue": 5, "TrafficAgentType": true, "trafficAgentTypeValue": [ - { - "@id": "openlabel_v2:VehicleCar" - }, - { - "@id": "openlabel_v2:HumanPedestrian" - } + "VehicleCar", + "HumanPedestrian" ], "TrafficFlowRate": true, "trafficFlowRateValue": 500, @@ -136,7 +122,6 @@ "weatherWindValue": 15.0 }, "RoadUser": { - "@type": "RoadUser", "RoadUserAnimal": false, "RoadUserHuman": "HumanPedestrian", "RoadUserVehicle": "VehicleCar", diff --git a/tests/data/openlabel-v2/valid/openlabel-v2_instance.json b/tests/data/openlabel-v2/valid/openlabel-v2_instance.json index c0c7d003..8b58c037 100644 --- a/tests/data/openlabel-v2/valid/openlabel-v2_instance.json +++ b/tests/data/openlabel-v2/valid/openlabel-v2_instance.json @@ -1,15 +1,8 @@ { - "@context": [ - "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", - { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "https://schema.org/" - } - ], + "@context": "https://w3id.org/ascs-ev/envited-x/openlabel/v2/", "@id": "did:web:test.openlabel-v2.net:Tag:test_valid_openlabel-v2_instance", "@type": "Tag", "AdminTag": { - "@type": "AdminTag", "licenseURI": "https://creativecommons.org/licenses/by/4.0/", "ownerEmail": "contact@bmw.de", "ownerName": "BMW AG", @@ -25,14 +18,12 @@ "scenarioVisualisationURL": "https://example.com/visualization.png" }, "Behaviour": { - "@type": "Behaviour", "BehaviourCommunication": [ "CommunicationSignalLeft", "CommunicationHeadlightFlash" ], "MotionAccelerate": true, "motionAccelerateValue": { - "@type": "schema:QuantitativeValue", "minValue": "0.5", "maxValue": "2.5" }, @@ -58,7 +49,6 @@ "MotionWalk": false }, "Odd": { - "@type": "Odd", "DrivableAreaEdge": [ "EdgeShoulderPavedOrGravel", "EdgeLineMarkers" @@ -120,12 +110,8 @@ "trafficAgentDensityValue": 15, "TrafficAgentType": true, "trafficAgentTypeValue": [ - { - "@id": "openlabel_v2:VehicleCar" - }, - { - "@id": "openlabel_v2:HumanPedestrian" - } + "VehicleCar", + "HumanPedestrian" ], "TrafficFlowRate": true, "trafficFlowRateValue": 1200, @@ -134,7 +120,6 @@ "TrafficSpecialVehicle": false }, "RoadUser": { - "@type": "RoadUser", "RoadUserVehicle": "VehicleCar", "RoadUserAnimal": false, "RoadUserHuman": "HumanDriver", diff --git a/tests/unit/test_openlabel_schema.py b/tests/unit/test_openlabel_schema.py new file mode 100644 index 00000000..3ae594ab --- /dev/null +++ b/tests/unit/test_openlabel_schema.py @@ -0,0 +1,794 @@ +#!/usr/bin/env python3 +"""Tests for the OpenLABEL v2 structural schema and related scripts. + +Tests cover: + 1. JSON Schema generation from LinkML structural model + 2. Schema validation of spec examples (functional equivalence) + 3. TagTypeEnum sync script correctness + 4. v1→v2 converter correctness +""" + +import json +import re +import subprocess +import sys +from pathlib import Path + +import jsonschema +import pytest + +ROOT_DIR = Path(__file__).parent.parent.parent.resolve() +SCHEMA_YAML = ROOT_DIR / "linkml" / "openlabel-v2" / "openlabel-v2-schema.yaml" +ONTOLOGY_YAML = ROOT_DIR / "linkml" / "openlabel-v2" / "openlabel-v2.yaml" +SYNC_SCRIPT = ROOT_DIR / "scripts" / "sync_tag_type_enum.py" +CONVERT_SCRIPT = ROOT_DIR / "scripts" / "convert_openlabel_v1_to_v2.py" +# Authoritative ASAM OpenLABEL v1.0.0 JSON Schema (the format we claim parity with). +ASAM_SCHEMA = ( + ROOT_DIR + / "submodules" + / "asam-openx-standards" + / "standards" + / "asam-openlabel" + / "schema" + / "openlabel_json_schema-v1.0.0.json" +) +# Authoritative ASAM scenario tagging ontology (source of valid tag.type names). +ASAM_ONTOLOGY_TTL = ( + ROOT_DIR + / "submodules" + / "asam-openx-standards" + / "standards" + / "asam-openlabel" + / "ontologies" + / "openlabel_ontology_scenario_tags.ttl" +) + + +def _asam_tag_classes() -> set[str]: + """Local names of every rdfs:Class in the ASAM scenario tagging ontology.""" + ttl = ASAM_ONTOLOGY_TTL.read_text(encoding="utf-8") + return set(re.findall(r"<([A-Za-z]\w*)>\s+a\s+rdfs:Class", ttl)) + + +def _tag_type_enum(schema: dict) -> list[str]: + """Extract the TagTypeEnum permissible values from a generated JSON Schema.""" + return schema["$defs"]["TagTypeEnum"]["enum"] + + +# ============================================================================= +# Fixtures +# ============================================================================= + + +@pytest.fixture(scope="module") +def generated_schema() -> dict: + """Generate JSON Schema from the structural LinkML model.""" + result = subprocess.run( + [sys.executable, "-m", "linkml.generators.jsonschemagen", str(SCHEMA_YAML)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert result.returncode == 0, f"gen-json-schema failed: {result.stderr}" + return json.loads(result.stdout) + + +@pytest.fixture(scope="module") +def asam_schema() -> dict: + """Load the authoritative ASAM OpenLABEL v1.0.0 JSON Schema.""" + return json.loads(ASAM_SCHEMA.read_text(encoding="utf-8")) + + +# ============================================================================= +# Test instances (ASAM v1 format) +# ============================================================================= + +VALID_MINIMAL = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/V1-0-0/ontologies/openlabel_ontology_scenario_tags.ttl" + } + }, + "tags": { + "0": {"type": "RoadTypeMinor", "ontology_uid": "0"}, + "1": {"type": "HorizontalStraights", "ontology_uid": "0"}, + }, + } +} + +VALID_FULL_SCENARIO = { + "openlabel": { + "metadata": { + "schema_version": "1.0.0", + "tagged_file": "../resources/scenarios/scenario123.osc", + }, + "ontologies": { + "0": { + "uri": "https://openlabel.asam.net/V1-0-0/ontologies/openlabel_ontology_scenario_tags.ttl", + "boundary_list": [ + "DrivableAreaSigns", + "DrivableAreaEdge", + "DrivableAreaSurface", + ], + "boundary_mode": "exclude", + } + }, + "tags": { + "0": {"type": "RoadTypeMinor", "ontology_uid": "0"}, + "1": {"type": "HorizontalStraights", "ontology_uid": "0"}, + "3": {"type": "LaneTypeTraffic", "ontology_uid": "0"}, + "4": {"type": "ZoneSchool", "ontology_uid": "0"}, + "5": {"type": "IntersectionCrossroad", "ontology_uid": "0"}, + "7": { + "type": "WeatherWind", + "ontology_uid": "0", + "tag_data": {"vec": [{"type": "range", "val": [10, 25]}]}, + }, + "11": {"type": "VehicleCar", "ontology_uid": "0"}, + "13": {"type": "MotionDrive", "ontology_uid": "0"}, + "15": { + "type": "scenarioUniqueReference", + "ontology_uid": "0", + "tag_data": {"text": [{"type": "value", "val": "c133241e-f325-11eb"}]}, + }, + }, + } +} + +VALID_NUMERIC = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": { + "0": {"uri": "https://openlabel.asam.net/V1-0-0/ontologies/openlabel.ttl"} + }, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": {"num": [{"type": "value", "val": 3.1}]}, + } + }, + } +} + +INVALID_NO_METADATA = { + "openlabel": {"tags": {"0": {"type": "WeatherRain", "ontology_uid": "0"}}} +} + +INVALID_NO_TAG_TYPE = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": {"0": {"ontology_uid": "0"}}, + } +} + +INVALID_WRONG_TAG_TYPE = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://example.org/ont"}}, + "tags": {"0": {"type": "CompletelyFakeTag", "ontology_uid": "0"}}, + } +} + +INVALID_WRONG_BOUNDARY_MODE = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": { + "0": {"uri": "https://x.org/o", "boundary_mode": "something_invalid"} + }, + "tags": {}, + } +} + +INVALID_NUM_VAL_STRING = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": {"num": [{"val": "not_a_number"}]}, + } + }, + } +} + + +# ============================================================================= +# Schema Generation Tests +# ============================================================================= + + +class TestSchemaGeneration: + """Tests for JSON Schema generation from LinkML model.""" + + def test_schema_generates_successfully(self, generated_schema: dict) -> None: + """JSON Schema generation should succeed.""" + assert "$defs" in generated_schema + assert "properties" in generated_schema + + def test_schema_has_openlabel_root(self, generated_schema: dict) -> None: + """Schema should have OpenLabelFile as root with 'openlabel' property.""" + assert "openlabel" in generated_schema["properties"] + + def test_schema_has_required_defs(self, generated_schema: dict) -> None: + """Schema should contain all expected definition types.""" + defs = generated_schema["$defs"] + expected = [ + "Attributes", + "BooleanVal", + "Metadata", + "NumVal", + "OpenLabel", + "TagData", + "TextVal", + "VecVal", + ] + for name in expected: + assert name in defs, f"Missing definition: {name}" + + def test_tag_type_enum_values(self, generated_schema: dict) -> None: + """TagEntry should constrain tag.type to enum values.""" + # Find TagEntry definition (may have __identifier_optional suffix) + tag_defs = [k for k in generated_schema["$defs"] if k.startswith("TagEntry")] + assert len(tag_defs) > 0, "No TagEntry definition found" + tag_def = generated_schema["$defs"][tag_defs[0]] + tag_type_prop = tag_def["properties"]["type"] + + # The enum may be inline or referenced via $ref + if "enum" in tag_type_prop: + enum_values = tag_type_prop["enum"] + elif "$ref" in tag_type_prop: + ref = tag_type_prop["$ref"] + ref_name = ref.split("/")[-1] + assert ref_name in generated_schema["$defs"], ( + f"Referenced enum {ref_name} not in $defs" + ) + enum_def = generated_schema["$defs"][ref_name] + enum_values = enum_def.get("enum", []) + else: + pytest.fail("tag.type has no enum constraint (inline or via $ref)") + + # Should contain known ontology values + assert "WeatherRain" in enum_values + assert "RoadTypeMinor" in enum_values + assert "VehicleCar" in enum_values + assert "scenarioName" in enum_values + assert len(enum_values) >= 200 + + def test_boundary_mode_enum(self, generated_schema: dict) -> None: + """OntologyEntry should constrain boundary_mode to enum values.""" + ont_defs = [ + k for k in generated_schema["$defs"] if k.startswith("OntologyEntry") + ] + assert len(ont_defs) > 0 + ont_def = generated_schema["$defs"][ont_defs[0]] + bm = ont_def["properties"]["boundary_mode"] + # Should have enum constraint (may be in anyOf or directly) + if "enum" in bm: + assert "include" in bm["enum"] + assert "exclude" in bm["enum"] + elif "anyOf" in bm: + enum_found = False + for opt in bm["anyOf"]: + if "enum" in opt: + assert "include" in opt["enum"] + enum_found = True + assert enum_found + + +# ============================================================================= +# Schema Validation Tests (Functional Equivalence) +# ============================================================================= + + +class TestSchemaValidation: + """Tests that the generated schema validates ASAM v1 format files correctly.""" + + def test_valid_minimal(self, generated_schema: dict) -> None: + """Minimal valid tagging file should pass.""" + jsonschema.validate(VALID_MINIMAL, generated_schema) + + def test_valid_full_scenario(self, generated_schema: dict) -> None: + """Full scenario from spec §8.8.1 should pass.""" + jsonschema.validate(VALID_FULL_SCENARIO, generated_schema) + + def test_valid_numeric_tag_data(self, generated_schema: dict) -> None: + """Numeric tag_data should pass.""" + jsonschema.validate(VALID_NUMERIC, generated_schema) + + def test_invalid_missing_metadata(self, generated_schema: dict) -> None: + """Missing metadata should be rejected.""" + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(INVALID_NO_METADATA, generated_schema) + + def test_invalid_missing_tag_type(self, generated_schema: dict) -> None: + """Missing tag.type should be rejected.""" + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(INVALID_NO_TAG_TYPE, generated_schema) + + def test_invalid_wrong_tag_type_rejected(self, generated_schema: dict) -> None: + """Invalid tag.type value should be rejected (vocabulary constraint).""" + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(INVALID_WRONG_TAG_TYPE, generated_schema) + + def test_invalid_boundary_mode_rejected(self, generated_schema: dict) -> None: + """Invalid boundary_mode should be rejected.""" + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(INVALID_WRONG_BOUNDARY_MODE, generated_schema) + + def test_invalid_num_val_string_rejected(self, generated_schema: dict) -> None: + """String value for num.val should be rejected.""" + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(INVALID_NUM_VAL_STRING, generated_schema) + + +# ============================================================================= +# TagTypeEnum Sync Script Tests +# ============================================================================= + + +class TestSyncTagTypeEnum: + """Tests for the TagTypeEnum synchronization script.""" + + @pytest.mark.skipif(not SYNC_SCRIPT.exists(), reason="sync script not found") + def test_check_mode_passes(self) -> None: + """Sync script --check should pass when enum is up to date.""" + result = subprocess.run( + [sys.executable, str(SYNC_SCRIPT), "--check"], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert result.returncode == 0, ( + f"TagTypeEnum is out of sync. " + f"Run: python scripts/sync_tag_type_enum.py\n{result.stdout}" + ) + + @pytest.mark.skipif(not SYNC_SCRIPT.exists(), reason="sync script not found") + def test_enum_count_floor(self) -> None: + """TagTypeEnum should expose the full ASAM vocabulary (>= 256 values).""" + import yaml + + with open(SCHEMA_YAML, encoding="utf-8") as f: + schema = yaml.safe_load(f) + actual_count = len(schema["enums"]["TagTypeEnum"]["permissible_values"]) + assert actual_count >= 256, ( + f"TagTypeEnum has {actual_count} values, expected >= 256 " + f"(full ASAM tag-class + admin + enum vocabulary)" + ) + + +# ============================================================================= +# Vocabulary Faithfulness (covers every ASAM tag class) +# ============================================================================= + + +class TestVocabularyFaithfulness: + """TagTypeEnum must accept every real ASAM v1 tag and invent none.""" + + def test_enum_covers_all_asam_tag_classes(self, generated_schema: dict) -> None: + """Every rdfs:Class in the ASAM ontology must be a valid tag.type.""" + enum = set(_tag_type_enum(generated_schema)) + asam_classes = _asam_tag_classes() + missing = sorted(asam_classes - enum) + assert not missing, f"ASAM tag classes missing from TagTypeEnum: {missing}" + + def test_no_fabricated_enum_values(self, generated_schema: dict) -> None: + """Every enum value must be a real ASAM ontology name (class or property).""" + ttl = ASAM_ONTOLOGY_TTL.read_text(encoding="utf-8") + asam_names = set( + re.findall(r"<([A-Za-z]\w*)>\s+a\s+rdfs:(?:Class|Property)", ttl) + ) + enum = set(_tag_type_enum(generated_schema)) + fabricated = sorted(enum - asam_names) + assert not fabricated, f"TagTypeEnum has non-ASAM values: {fabricated}" + + @pytest.mark.parametrize( + "tag", + [ + "RoundaboutLarge", # spec 8.2.1 headline "large roundabout" + "SceneryJunction", + "EnvironmentWeather", + "BehaviourMotion", + "OddScenery", + "DrivableAreaSigns", # used in spec/test boundary_list + ], + ) + def test_spec_hierarchy_tags_present( + self, generated_schema: dict, tag: str + ) -> None: + """Mid-level hierarchy tags referenced by the spec must validate.""" + assert tag in set(_tag_type_enum(generated_schema)) + + +# ============================================================================= +# Functional Equivalence with the ASAM schema (spec section 8 examples) +# ============================================================================= + + +class TestFunctionalEquivalence: + """Spec-valid ASAM v1 files must validate against BOTH ASAM and LinkML schemas.""" + + # Canonical ASAM OpenLABEL v1.0.0 chapter-8 examples. + SPEC_EXAMPLES = { + "8.2.5_numeric_range": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": { + "0": { + "type": "LaneSpecificationDimensions", + "ontology_uid": "0", + "tag_data": {"vec": [{"type": "range", "val": [3.4, 3.7]}]}, + } + }, + } + }, + "8.2.5_numeric_set": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": { + "0": { + "type": "LaneSpecificationLaneCount", + "ontology_uid": "0", + "tag_data": {"vec": [{"type": "values", "val": [2, 3]}]}, + } + }, + } + }, + "8.2.4_rainfall_value": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": {"num": [{"type": "value", "val": 3.1}]}, + } + }, + } + }, + "tag_data_string": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": "freeform", + } + }, + } + }, + "8.6_minimal": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": {"0": {"type": "SceneryJunction", "ontology_uid": "0"}}, + } + }, + "8.2.1_ontology_entry_string": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": "https://openlabel.asam.net/o.ttl"}, + "tags": {"0": {"type": "WeatherRain", "ontology_uid": "0"}}, + } + }, + } + + # Malformed files that BOTH schemas must reject (structural equivalence). + SHARED_INVALID = { + "missing_metadata": { + "openlabel": {"tags": {"0": {"type": "WeatherRain", "ontology_uid": "0"}}} + }, + "missing_tag_type": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": {"0": {"ontology_uid": "0"}}, + } + }, + "num_val_wrong_type": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": { + "0": { + "type": "WeatherRain", + "ontology_uid": "0", + "tag_data": {"num": [{"val": "not_a_number"}]}, + } + }, + } + }, + } + + # Files the ASAM schema accepts but the LinkML schema rejects (LinkML stricter). + LINKML_STRICTER = { + "unknown_tag_type": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": {"0": {"type": "CompletelyFakeTag", "ontology_uid": "0"}}, + } + }, + "wrong_boundary_mode": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": { + "0": {"uri": "https://x/o", "boundary_mode": "not_a_mode"} + }, + "tags": {"0": {"type": "WeatherRain", "ontology_uid": "0"}}, + } + }, + # ASAM marks only tag.type required; we additionally require ontology_uid + # (spec 8.2.1). Disclosed in SCHEMA_MODELING.md "Functional Equivalence". + "missing_ontology_uid": { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "tags": {"0": {"type": "WeatherRain"}}, + } + }, + } + + @pytest.mark.parametrize("name", sorted(SPEC_EXAMPLES)) + def test_spec_example_valid_in_asam(self, asam_schema: dict, name: str) -> None: + """Sanity: each example is valid against the authoritative ASAM schema.""" + jsonschema.validate(self.SPEC_EXAMPLES[name], asam_schema) + + @pytest.mark.parametrize("name", sorted(SPEC_EXAMPLES)) + def test_spec_example_valid_in_linkml( + self, generated_schema: dict, name: str + ) -> None: + """Each ASAM-valid example must ALSO validate against the LinkML schema.""" + jsonschema.validate(self.SPEC_EXAMPLES[name], generated_schema) + + @pytest.mark.parametrize("name", sorted(SHARED_INVALID)) + def test_shared_invalid_rejected_by_both( + self, asam_schema: dict, generated_schema: dict, name: str + ) -> None: + """Malformed files must be rejected by BOTH schemas (equivalence).""" + data = self.SHARED_INVALID[name] + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(data, asam_schema) + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(data, generated_schema) + + @pytest.mark.parametrize("name", sorted(LINKML_STRICTER)) + def test_linkml_stricter_than_asam( + self, asam_schema: dict, generated_schema: dict, name: str + ) -> None: + """Cases ASAM accepts (unconstrained) but LinkML rejects (added value).""" + data = self.LINKML_STRICTER[name] + jsonschema.validate(data, asam_schema) # ASAM accepts + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate(data, generated_schema) + + +# ============================================================================= +# v1→v2 Converter Tests +# ============================================================================= + + +class TestV1ToV2Converter: + """Tests for the ASAM v1→v2 format converter.""" + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_produces_valid_jsonld(self, tmp_path: Path) -> None: + """Converter output should be valid JSON with @context.""" + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(VALID_MINIMAL)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert result.returncode == 0, f"Converter failed: {result.stderr}" + output = json.loads(result.stdout) + assert "@context" in output + assert "@type" in output + assert output["@type"] == "Tag" + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_maps_boolean_flags(self, tmp_path: Path) -> None: + """Boolean tag types should map to True values in v2.""" + v1_data = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://example.org/ont"}}, + "tags": { + "0": {"type": "WeatherRain", "ontology_uid": "0"}, + "1": {"type": "MotionDrive", "ontology_uid": "0"}, + }, + } + } + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(v1_data)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + output = json.loads(result.stdout) + assert output.get("Odd", {}).get("WeatherRain") is True + assert output.get("Behaviour", {}).get("MotionDrive") is True + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_maps_enum_values(self, tmp_path: Path) -> None: + """Enum tag values should map to their slot with value.""" + v1_data = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://example.org/ont"}}, + "tags": { + "0": {"type": "RoadTypeMinor", "ontology_uid": "0"}, + "1": {"type": "VehicleCar", "ontology_uid": "0"}, + }, + } + } + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(v1_data)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + output = json.loads(result.stdout) + assert output.get("Odd", {}).get("DrivableAreaType") == "RoadTypeMinor" + assert output.get("RoadUser", {}).get("RoadUserVehicle") == "VehicleCar" + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_maps_admin_tags(self, tmp_path: Path) -> None: + """Admin tags with text values should map correctly.""" + v1_data = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://example.org/ont"}}, + "tags": { + "0": { + "type": "scenarioName", + "ontology_uid": "0", + "tag_data": {"text": [{"type": "value", "val": "My Scenario"}]}, + } + }, + } + } + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(v1_data)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + output = json.loads(result.stdout) + assert output.get("AdminTag", {}).get("scenarioName") == "My Scenario" + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_accumulates_repeated_slot(self, tmp_path: Path) -> None: + """Multiple tags mapping to one class+slot must accumulate, not overwrite.""" + v1_data = { + "openlabel": { + "metadata": {"schema_version": "1.0.0"}, + "ontologies": {"0": {"uri": "https://example.org/ont"}}, + "tags": { + "0": {"type": "LaneTypeTraffic", "ontology_uid": "0"}, + "1": {"type": "LaneTypeBus", "ontology_uid": "0"}, + }, + } + } + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(v1_data)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file)], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + output = json.loads(result.stdout) + lane_type = output.get("Odd", {}).get("LaneSpecificationType") + # Both values must survive (list), not be clobbered to the last one. + assert isinstance(lane_type, list) + assert set(lane_type) == {"LaneTypeTraffic", "LaneTypeBus"} + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_no_pretty_emits_compact(self, tmp_path: Path) -> None: + """--no-pretty must actually disable indentation (single-line output).""" + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(VALID_MINIMAL)) + + result = subprocess.run( + [sys.executable, str(CONVERT_SCRIPT), str(input_file), "--no-pretty"], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert result.returncode == 0, f"Converter failed: {result.stderr}" + # Compact JSON has no newlines inside the document body. + assert "\n" not in result.stdout.strip() + assert json.loads(result.stdout)["@type"] == "Tag" + + @pytest.mark.skipif( + not CONVERT_SCRIPT.exists(), reason="converter script not found" + ) + def test_converter_output_conforms_to_shacl(self, tmp_path: Path) -> None: + """Converter output must pass SHACL validation (the PR's stated purpose). + + Proves the v1→v2 conversion produces JSON-LD that conforms to the + openlabel-v2 SHACL shapes, not merely well-formed @context/@type. + """ + v1_data = { + "openlabel": { + "metadata": {"schema_version": "1.0.0", "tagged_file": "s.osc"}, + "ontologies": {"0": {"uri": "https://openlabel.asam.net/o.ttl"}}, + "tags": { + "0": {"type": "RoadTypeMinor", "ontology_uid": "0"}, + "1": {"type": "WeatherRain", "ontology_uid": "0"}, + "2": {"type": "MotionDrive", "ontology_uid": "0"}, + "3": { + "type": "scenarioName", + "ontology_uid": "0", + "tag_data": {"text": [{"type": "value", "val": "Demo"}]}, + }, + }, + } + } + input_file = tmp_path / "input.json" + input_file.write_text(json.dumps(v1_data)) + output_file = tmp_path / "out.jsonld" + + convert = subprocess.run( + [ + sys.executable, + str(CONVERT_SCRIPT), + str(input_file), + "-o", + str(output_file), + ], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert convert.returncode == 0, f"Converter failed: {convert.stderr}" + + validate = subprocess.run( + [ + sys.executable, + "-m", + "src.tools.validators.validation_suite", + "--run", + "check-data-conformance", + "--data-paths", + str(output_file), + ], + capture_output=True, + text=True, + cwd=str(ROOT_DIR), + ) + assert validate.returncode == 0, ( + f"Converter output failed SHACL conformance:\n" + f"{validate.stdout}\n{validate.stderr}" + ) diff --git a/tests/unit/test_schema_refinement.py b/tests/unit/test_schema_refinement.py new file mode 100644 index 00000000..00e62928 --- /dev/null +++ b/tests/unit/test_schema_refinement.py @@ -0,0 +1,137 @@ +#!/usr/bin/env python3 +"""Refinement-proof gate for JSON-Schema -> LinkML migrations. + +Asserts, for every `proof_spec.yaml` under linkml/, that the LinkML-generated +JSON Schema is a *sound refinement* of its normative reference JSON Schema: +everything the LinkML schema accepts, the reference schema also accepts — +except for the bounded, declared relaxations (Λ) named in the spec. + +This is the machine-checked, ontology-independent counterpart to the curated +examples in tests/unit/test_openlabel_schema.py::TestFunctionalEquivalence. +The prover (scripts/schema_refinement_prover.py) derives scope by $ref +reachability, walks both schemas for a structural gap table, and runs a +differential oracle over a mutation + property-based corpus. +""" + +import sys +from pathlib import Path + +import pytest + +ROOT_DIR = Path(__file__).parent.parent.parent.resolve() +sys.path.insert(0, str(ROOT_DIR / "scripts")) + +import schema_refinement_prover as prover # noqa: E402 +import yaml # noqa: E402 + +# The property-based corpus makes this suite minutes-scale; mark it slow so a +# fast lane (`pytest -m 'not slow'`) can skip it without weakening the gate. +pytestmark = pytest.mark.slow + +# Every migration proof spec in the repository is gated. +PROOF_SPECS = sorted((ROOT_DIR / "linkml").glob("*/proof_spec.yaml")) + + +@pytest.fixture(scope="module", params=PROOF_SPECS, ids=lambda p: p.parent.name) +def report(request) -> prover.ProofReport: + spec = yaml.safe_load(request.param.read_text(encoding="utf-8")) + return prover.prove(spec, ROOT_DIR) + + +def test_specs_exist() -> None: + """At least the OpenLABEL v2 migration must declare a proof spec.""" + assert PROOF_SPECS, "no */proof_spec.yaml found under linkml/" + assert any(p.parent.name == "openlabel-v2" for p in PROOF_SPECS) + + +class TestRefinementProof: + """The core scientific claim: L is a sound refinement of A within scope.""" + + def test_soundness_no_undisclosed_looser(self, report: prover.ProofReport) -> None: + """Soundness corpus (L-grammar + mutations): nothing L accepts may be + rejected by A for an undeclared reason. One counterexample refutes it.""" + offenders = report.soundness.linkml_looser + assert not offenders, ( + f"{report.name}: {len(offenders)} instance(s) accepted by LinkML but " + f"rejected by the reference schema for an UNDISCLOSED reason " + f"(refutes soundness): {offenders[:5]}" + ) + + def test_completeness_no_undisclosed_looser( + self, report: prover.ProofReport + ) -> None: + """Completeness corpus (A|τ-valid instances) must never expose undisclosed + looseness either.""" + assert not report.completeness.linkml_looser + + def test_every_in_scope_def_is_modelled(self, report: prover.ProofReport) -> None: + """No in-scope reference definition may be left without a LinkML mapping.""" + assert not report.unmapped, ( + f"{report.name}: in-scope defs with no LinkML counterpart: {report.unmapped}" + ) + + def test_all_structural_looseness_is_declared( + self, report: prover.ProofReport + ) -> None: + """Every LOOSER row in the structural gap table must belong to a declared + looseness category (Λ); an undeclared one is a soundness gap.""" + undisclosed = report.undisclosed_structural_looser + assert not undisclosed, ( + f"{report.name}: undisclosed structural looseness: " + f"{[(g.ref_def, g.aspect) for g in undisclosed]}" + ) + + def test_verdict_proven(self, report: prover.ProofReport) -> None: + """End-to-end: the migration is a proven sound refinement.""" + assert report.sound, f"{report.name}: verdict = {report.verdict()}" + + def test_corpus_actually_ran(self, report: prover.ProofReport) -> None: + """Guard against a vacuous proof: the differential corpus must be non-trivial + and must contain agreement (both-accept) evidence.""" + assert report.soundness.total >= 50 + assert report.soundness.agree_accept > 0 + + +class TestOpenLabelScopeProjection: + """Pin the OpenLABEL v2 scope so accidental scope drift is caught.""" + + @pytest.fixture(scope="class") + def ol(self) -> prover.ProofReport: + spec_path = ROOT_DIR / "linkml" / "openlabel-v2" / "proof_spec.yaml" + spec = yaml.safe_load(spec_path.read_text(encoding="utf-8")) + return prover.prove(spec, ROOT_DIR) + + def test_in_scope_defs(self, ol: prover.ProofReport) -> None: + assert set(ol.in_scope) == { + "attributes", + "boolean", + "metadata", + "num", + "ontologies", + "resource_uid", + "tag", + "tag_data", + "text", + "vec", + } + + def test_multisensor_defs_out_of_scope(self, ol: prover.ProofReport) -> None: + """The labeling containers (spec 8.1: not used for tagging) stay excluded.""" + out = set(ol.out_scope) + for d in ("object", "frame", "stream", "bbox", "cuboid", "poly2d", "transform"): + assert d in out, f"{d} should be out of tagging scope" + + def test_disclosed_looseness_is_bounded(self, ol: prover.ProofReport) -> None: + """Looseness is limited to known, declared LinkML relaxations. key_pattern and + null_optional are now closed (propertyNames + --closed + --no-include-null); + the only remaining one is the inlined simple-dict object-form expressivity + limit (resource_uid).""" + breakdown = ol.soundness.looseness_breakdown() + assert set(breakdown) <= { + prover.KEY_PATTERN, + prover.NULL_OPTIONAL, + prover.SIMPLE_DICT_OBJECT_FORM, + } + # key_pattern and null_optional are closed for openlabel-v2 + assert prover.KEY_PATTERN not in breakdown + assert prover.NULL_OPTIONAL not in breakdown