feat(envited-x): add AttributeProvenance for metadata derivation tracking#75
Open
jdsika wants to merge 7 commits into
Open
feat(envited-x): add AttributeProvenance for metadata derivation tracking#75jdsika wants to merge 7 commits into
jdsika wants to merge 7 commits into
Conversation
…n tracking Extend the envited-x base ontology with a formal mechanism to declare how individual metadata attributes were derived and which software agent (tool or LLM model) produced them. New OWL classes and properties: - envited-x:AttributeProvenance (subclass of prov:Activity) - envited-x:hasAttributeProvenance (on DomainSpecification) - envited-x:attributeName, derivationMethod, confidence, llmModel New SHACL shapes: - envited-x:AttributeProvenanceShape — validates provenance entries - envited-x:SoftwareAgentShape — validates tool identity (schema:name, gx:version, optional envited-x:llmModel) Derivation method enum: - extraction: directly parsed from source file - calculation: computed from multiple source values - rule-based-inference: heuristic/keyword-based mapping - llm-inference: LLM model generated the value - manual: human input (e.g. wizard) Reuses existing external vocabularies: - prov:SoftwareAgent, prov:wasAssociatedWith, prov:endedAtTime (W3C PROV-O) - schema:name (Schema.org) - gx:version (Gaia-X Trust Framework) Motivation: automated metadata enrichment tools (e.g. llm_enricher in sl-5-8-asset-tools) need a standardized way to declare which fields they filled and with what confidence, enabling downstream consumers to distinguish human-curated from machine-derived values. Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
jdsika
force-pushed
the
feat/attribute-provenance
branch
from
May 8, 2026 14:39
076465b to
e7824dd
Compare
Add ASCS-eV/asam-openx-standards as a submodule at submodules/asam-openx-standards. Contains version-pinned markdown copies of all publicly available ASAM OpenX simulation standards, redistributed under the ASAM Unrestricted Distribution Clause. Standards included (251 chapter files across 8 domains): - ASAM OpenDRIVE v1.9.0 (95 chapters) - ASAM OpenSCENARIO DSL v2.2.0 (59 chapters) - ASAM OpenODD v1.0.0 (62 chapters) - ASAM OpenMATERIAL 3D BS 1.0.0 (27 chapters) - ASAM OpenLABEL v1.0.0 (overview + JSON schema reference) - ASAM OSI (nested submodule, MPL-2.0) - ASAM OpenCRG (nested submodule, Apache-2.0) - ASAM TrafficParticipants v1.0.2 (overview only) - ISO 34503 (paraphrased summary) Legal basis: each ASAM OpenX standard carries an Unrestricted Distribution exception replacing the restrictive section 2(1) of the ASAM license, granting everyone a basic, non-exclusive and unlimited license to use the standard. Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extend the
envited-xbase ontology with AttributeProvenance — a formal mechanism to declare how individual metadata attributes were derived and which software agent (tool or LLM model) produced them.Motivation
Automated metadata enrichment tools (e.g.
llm_enricherin sl-5-8-asset-tools) can fill empty metadata fields by analyzing source simulation files. Downstream consumers need to know:Without a standardized provenance mechanism, there is no way to distinguish machine-derived metadata from human-curated metadata, undermining trust and auditability.
Design Decisions
Placement in envited-x (not a separate ontology)
AttributeProvenanceis placed in theenvited-xbase ontology because:envited-x:DomainSpecification— the universal container for domain metadatahasDataSource,hasQuality,hasQuantity(optional sections on DomainSpecification)Reuse of existing vocabularies (not redefining them)
prov:)prov:SoftwareAgent(class),prov:wasAssociatedWith(property),prov:endedAtTime(property)schema:)schema:name(agent name)gx:)gx:version(software version — matchesgx:SoftwareResourceShapepattern)We do NOT redefine these — we reference them as property paths in SHACL constraints.
New ENVITED-X terms (what we DEFINE)
envited-x:AttributeProvenanceprov:Activity)envited-x:hasAttributeProvenanceenvited-x:attributeNameenvited-x:derivationMethodenvited-x:confidenceenvited-x:llmModelDerivation Method Enum
extractionweatherSummaryfrom XML elementcalculationrule-based-inferencescenarioCategoryfrom filename keywordsllm-inferenceaimfrom natural language analysismanualsourceDescriptionInstance Example
{ "envited-x:hasAttributeProvenance": [ { "@type": "envited-x:AttributeProvenance", "envited-x:attributeName": "scenarioCategory", "envited-x:derivationMethod": "rule-based-inference", "envited-x:confidence": "high", "prov:wasAssociatedWith": { "@type": "prov:SoftwareAgent", "schema:name": "sl-5-8-asset-tools/llm_enricher", "gx:version": "0.1.0" }, "prov:endedAtTime": {"@type": "xsd:dateTime", "@value": "2026-05-08T16:00:00Z"} }, { "@type": "envited-x:AttributeProvenance", "envited-x:attributeName": "aim", "envited-x:derivationMethod": "llm-inference", "envited-x:confidence": "medium", "prov:wasAssociatedWith": { "@type": "prov:SoftwareAgent", "schema:name": "sl-5-8-asset-tools/llm_enricher", "gx:version": "0.2.0", "envited-x:llmModel": "claude-sonnet-4" } } ] }Changes
envited-x.owl.ttl: AddedAttributeProvenanceclass,hasAttributeProvenanceobject property, and 4 datatype propertiesenvited-x.shacl.ttl: AddedAttributeProvenanceShape,SoftwareAgentShape, and property constraint onDomainSpecificationShapeenvited-x.context.jsonld: Auto-regenerated by hook (addsprov:prefix + new terms)PROPERTIES.md: Auto-regenerated by hookCompatibility
hasAttributeProvenancehassh:minCount 0— existing assets without provenance remain validsh:closed false— extensible for future properties