OPDA Knowledge base
Physical — deployment

opda-validation

opda-validation

Status: spec only; composer activation pending. The composer body has not yet been implemented (see README.md §“Activation status”). The composition rules below are the contract the composer body will realise.

Summary

opda-validation.ttl serves pyshacl / TopBraid SHACL / shacl-rs and similar SHACL validators running production validation against OPDA instance data. It is the union of every class graph (so sh:targetClass resolves) and every shape graph (so constraints fire) — but excludes the DPV annotation graphs, which contribute no constraint logic and slow load time without benefit.

Composition recipe

--- config: layout: elk elk: mergeEdges: false nodePlacementStrategy: BRANDES_KOEPF --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#FFF8E1", "primaryTextColor": "#E65100", "primaryBorderColor": "#F57F17", "lineColor": "#37474F"}}}%% flowchart LR accTitle: opda-validation composition recipe accDescr: Shows the source TTLs the composer projects into opda-validation, with annotation TTLs excluded. classDef data fill:#FFF8E1,stroke:#F57F17,stroke-width:2px,color:#E65100 classDef process fill:#E1F5FE,stroke:#0277BD,stroke-width:2px,color:#01579B foundation["foundation.ttl"]:::data classes["opda-classes.ttl"]:::data shapesfoundation["opda-shapes.ttl"]:::data vocabularies["opda-vocabularies.ttl"]:::data propertymod["opda-property.ttl"]:::data agentmod["opda-agent.ttl"]:::data transactionmod["opda-transaction.ttl"]:::data claimmod["opda-claim.ttl"]:::data governancemod["opda-governance.ttl"]:::data descriptivemod["opda-descriptive.ttl"]:::data propertyshapes["opda-property-shapes.ttl"]:::data agentshapes["opda-agent-shapes.ttl"]:::data transactionshapes["opda-transaction-shapes.ttl"]:::data claimshapes["opda-claim-shapes.ttl"]:::data governanceshapes["opda-governance-shapes.ttl"]:::data descriptiveshapes["opda-descriptive-shapes.ttl"]:::data composer["opda-gen compose"]:::process output["opda-validation.ttl
classes + shapes"]:::data foundation --> composer classes --> composer shapesfoundation --> composer vocabularies --> composer propertymod --> composer agentmod --> composer transactionmod --> composer claimmod --> composer governancemod --> composer descriptivemod --> composer propertyshapes --> composer agentshapes --> composer transactionshapes --> composer claimshapes --> composer governanceshapes --> composer descriptiveshapes --> composer composer --> output

Included graphs

Source graphProjection rule
foundation.ttlall triples
opda-classes.ttlall triples (six foundation classes + ADR-0014 G14 opda:hasSpecialCategoryData)
opda-shapes.ttlall triples (foundation meta-shapes + cross-cutting SHACL-AF rules)
opda-vocabularies.ttlall triples (23 SKOS Concept Schemes; needed for sh:in value resolution)
opda-property.ttlowl:Class, owl:DatatypeProperty, owl:ObjectProperty, rdfs:subClassOf, rdfs:label, rdfs:comment
opda-agent.ttlsame projection as property
opda-transaction.ttlsame
opda-claim.ttlsame
opda-governance.ttlsame
opda-descriptive.ttlsame
opda-property-shapes.ttlall triples
opda-agent-shapes.ttlall triples
opda-transaction-shapes.ttlall triples
opda-claim-shapes.ttlall triples
opda-governance-shapes.ttlall triples
opda-descriptive-shapes.ttlall triples

Excluded

  • opda-annotations.ttl — meta-annotation scaffolding; nothing the validator needs.
  • opda-property-annotations.ttl × 6 — DPV class-level baselines + variant-conditional refinement maps; DPV co-annotation is a UI-time concern (see opda-ui.md), not validation-time.
  • profiles/baspi5.ttl and other overlay profiles — overlay validation is opt-in per consumer; consumers loading BASPI5 fetch it separately and merge with this base.

Deployment artefact

  • Path: source/03-standards/ontology/derived/opda-validation.ttl
  • Content-type: text/turtle
  • Size: to be measured after composer activation
  • sha256: to be computed after composer activation
  • Status: directory does not yet exist; composer body pending

Source ADR

Comments

Loading comments…