OPDA Knowledge base
Physical — ontology

Severity tiers

Severity tiers

Per ODR-0013 §Q1, every emitted SHACL shape carries an explicit sh:severity. The framework has four tiers; sh:Violation is further partitioned into 5 named subcategories.

Severity-tier landscape

--- config: layout: elk elk: mergeEdges: false nodePlacementStrategy: BRANDES_KOEPF --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#FFCDD2", "primaryTextColor": "#B71C1C", "primaryBorderColor": "#C62828", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Severity tier framework — 4 tiers, 5 Violation subcategories, and every emitted shape grouped as a leaf accDescr: Shows the four sh:severity tiers (Violation, Warning, Info, Pass) with the five Violation subcategories per ODR-0013 Q1, and each emitted SHACL shape attached to its category. %% @prefix opda: %% @prefix sh: classDef violation fill:#FFCDD2,stroke:#C62828,stroke-width:2px,color:#B71C1C classDef warning fill:#FFF9C4,stroke:#F9A825,stroke-width:2px,color:#F57F17 classDef info fill:#BBDEFB,stroke:#1565C0,stroke-width:2px,color:#0D47A1 classDef pass fill:#C8E6C9,stroke:#2E7D32,stroke-width:2px,color:#1B5E20 classDef shape fill:#E1BEE7,stroke:#6A1B9A,stroke-width:2px,color:#4A148C Root[sh:severity tiers] V[sh:Violation
blocking]:::violation W[sh:Warning
non-blocking elevated]:::warning I[sh:Info
informative only]:::info P["(Pass)
no triple emitted"]:::pass Root --> V Root --> W Root --> I Root --> P C1[Cat 1 — Identity-key]:::violation C2[Cat 2 — IC breach]:::violation C3[Cat 3 — No-identity-override]:::violation C4[Cat 4 — Special-category PII]:::violation C5[Cat 5 — Meta-shape drift]:::violation V --> C1 V --> C2 V --> C3 V --> C4 V --> C5 C1 --> SC1["15 identity-key shapes
Property / Address / LegalEstate
Person / Organisation
Milestone / Transaction
Claim / Evidence
Comparable / EPC / Search
Survey / Valuation
DPVMappingRecord"]:::shape C2 --> SC2["opda:PropertyICBreachShape
opda:UnprovenancedClaimShape"]:::shape C3 --> SC3["opda:NoIdentityOverride_MetaShape"]:::shape C4 --> SC4["opda:SpecialCategoryPIIWithoutLawfulBasisShape"]:::shape C5 --> SC5["opda:MetaShapeOverShapeGraphMetaShape
opda:ShInSemantics_MetaShape
opda:ShViolationFloor_MetaShape"]:::shape W --> WC1["opda:PIIWithoutDPVCoAnnotationRule
(ADR-0012 explicit override)"]:::shape I --> IC1["9 SHACL-AF rules
UPRN / INSPIRE / Deprecation
Identifier / Capacity
LeaseTerm / Milestone
PROVO-Claims / Verification"]:::shape P --> PC1["Conforming case
(every other instance)"]:::shape

4-tier framework

Tiersh:severity IRISemanticsTypical use
Violationsh:ViolationBlocking; instance is non-conformantIdentity-key violations, IC breaches, anti-pattern detection, special-category PII without lawful basis
Warningsh:WarningNon-blocking but elevatedPII-without-DPV-co-annotation, deprecation-without-successor
Infosh:InfoInformative materialisation onlySHACL-AF succession rules (UPRN / INSPIRE / lease-term / verification chains)
(Pass)Shape did not fireThe conforming case; no triple emitted in the report

5 sh:Violation subcategories

Per ODR-0013 §Q1, every sh:Violation shape sits in exactly one of five named categories:

CategoryPatternExamples
Cat 1 — Identity-key missing / wrong-typesh:datatype + sh:maxCount 1 on the identity-key pathPropertyIdentityKeyShape, AddressIdentityKeyShape, PersonIdentityKeyShape
Cat 2 — IC breach (anti-pattern detection)sh:nodeKind on co-reference predicates; sh:minCount on prov:wasDerivedFromPropertyICBreachShape (no owl:sameAs), UnprovenancedClaimShape
Cat 3 — No-identity-override meta-shapeSPARQL select detecting overlay-shape attempts to suppress identity propertyNoIdentityOverride_MetaShape
Cat 4 — Special-category PII without lawful basisSPARQL select for hasSpecialCategoryData true lacking dpv:hasLegalBasisSpecialCategoryPIIWithoutLawfulBasisShape
Cat 5 — Meta-shape-over-shape-graph driftSPARQL select for meta-shape on sh:NodeShape lacking opda:metaShapeJustificationMetaShapeOverShapeGraphMetaShape, ShInSemantics_MetaShape, ShViolationFloor_MetaShape

Shapes grouped by severity

Cat 1 — Identity-key shapes (Violation)

ShapeModuleTarget
opda:AddressIdentityKeyShapepropertyopda:Address
opda:LegalEstateIdentityKeyShapepropertyopda:LegalEstate
opda:PropertyIdentityKeyShapepropertyopda:Property
opda:PersonIdentityKeyShapeagentopda:Person
opda:OrganisationIdentityKeyShapeagentopda:Organisation
opda:MilestoneIdentityKeyShapetransactionopda:Milestone
opda:TransactionIdentityKeyShapetransactionopda:Transaction
opda:ClaimIdentityKeyShapeclaimopda:Claim
opda:EvidenceIdentityKeyShapeclaimopda:Evidence
opda:ComparableIdentityKeyShapedescriptiveopda:Comparable
opda:EPCCertificateIdentityKeyShapedescriptiveopda:EPCCertificate
opda:SearchIdentityKeyShapedescriptiveopda:Search
opda:SurveyIdentityKeyShapedescriptiveopda:Survey
opda:ValuationIdentityKeyShapedescriptiveopda:Valuation
opda:DPVMappingRecordIdentityKeyShapegovernanceopda:DPVMappingRecord

Cat 2 — IC-breach shapes (Violation)

ShapeModuleTarget
opda:PropertyICBreachShapepropertyopda:Property
opda:UnprovenancedClaimShapeclaimopda:Claim

Cat 3 — No-identity-override meta-shape (Violation)

ShapeTarget
opda:NoIdentityOverride_MetaShapesh:NodeShape (SPARQL constraint)

Cat 4 — Special-category PII shape (Violation)

ShapeModuleTarget
opda:SpecialCategoryPIIWithoutLawfulBasisShapeagentopda:Person (SPARQL constraint on opda:hasSpecialCategoryData true)

Cat 5 — Meta-shape-over-shape-graph (Violation)

ShapeJustification
opda:MetaShapeOverShapeGraphMetaShape”ODR-0013 §Q1 Category 5 + ODR-0017 §2a: meta-shapes targeting sh:NodeShape using sh:Violation severity must justify their elevation above the ODR-0017 sh:Info default.”
opda:ShInSemantics_MetaShape”ODR-0010 three-rule interface contract Rule 1: overlay sh:in MUST be a subset of base sh:in (which itself unions into the SKOS scheme members per ODR-0011).”
opda:ShViolationFloor_MetaShape”ODR-0010 three-rule interface contract Rule 2: no overlay shape may set sh:severity to sh:Warning or sh:Info on a property where the base shape declared sh:Violation.”

Warning-tier shapes

ShapeModuleWhy Warning vs Violation
opda:PIIWithoutDPVCoAnnotationRulefoundation (cross-cutting)Silent PII leakage is high-impact even though the rule is SHACL-AF-pattern-shaped (ADR-0012 explicit override)

Info-tier shapes (all SHACL-AF rules)

ShapeModuleMaterialises
opda:DeprecationChainRulefoundationopda:hasDeprecationStatus, opda:hasSuccessor
opda:UPRNSuccessionRulepropertyopda:hasUPRNSuccessionStatus
opda:INSPIRESuccessionRulepropertyopda:hasINSPIRESuccessionStatus
opda:IdentifierSuccessionRuleagentopda:hasIdentifierSuccessionEvent
opda:CapacityAuthorityMatchRuleagentopda:hasCapacityAuthorityMatchStatus
opda:LeaseTermSuccessionRuletransactionopda:hasLeaseTermSuccessionStatus
opda:MilestoneVarianceRuletransactionopda:hasVarianceStatus, opda:hasVarianceDays
opda:PROVOClaimsRuleclaimopda:hasProvenanceChainStatus
opda:VerificationActivitySuccessionRuleclaimopda:hasVerificationSuccessionStatus

BASPI5 overlay shapes (Violation)

The BASPI5 profile shapes inherit the Violation floor per the three-rule interface contract (overlay cannot weaken base severity). Every Baspi5_*Shape carries sh:severity sh:Violation. See profiles/baspi5.md.

Source ADR + ODR

Comments

Loading comments…