Physical — ontology

    Overlay profiles

    OPDA’s foundation + module shape-graph leaves per-form cardinality, per-form enumeration subsets, and per-form UI rendering to overlay profiles. Each profile is a separate SHACL graph that composes over the foundation + module TBox + base shapes per ODR-0010.

    Three-rule interface contract

    Per ODR-0010 §Q6, every overlay profile MUST satisfy three rules enforced by foundation meta-shapes:

    RuleEnforced bySemantics
    1 — sh:in semanticsopda:ShInSemantics_MetaShapeOverlay sh:in MUST be a subset of base scheme members
    2 — Violation flooropda:ShViolationFloor_MetaShapeOverlay cannot downgrade base sh:Violation severity
    3 — No-identity-overrideopda:NoIdentityOverride_MetaShapeOverlay cannot suppress Kind’s identity-key

    CI-enforced by opda-gen ci-profile-contract per ADR-0013.

    Profile catalogue

    ProfileVersionAuthorityStatus
    opda:Baspi5OverlayProfile5.0.3BASPI (British Association of Surveyors Property Information)MVP gate (ODR-0010 §Q7)

    Future profiles (planned, not yet emitted):

    • Mortgage-lender overlay (lender-specific data requirements)
    • HMLR-publication overlay (HMLR-public data subset)
    • Insurer overlay (insurance-eligibility data)

    ValidationContext reification

    Per ODR-0010 §Q1 (Guarino withdrawal condition), every profile is reified as an opda:ValidationContext instance carrying five properties:

    PropertyValue
    opda:profileURIThe profile’s URI (e.g. <https://opda.org.uk/pdtf/shape/profiles/baspi5>)
    opda:requiresThe Kind classes the profile constrains
    opda:overlaysContextThe base context the profile overlays (typically <https://opda.org.uk/pdtf/shape/profiles/foundation>)
    opda:sourcedFromThe external authoring source (e.g. BASPI form URL)
    opda:formVersionThe form version (e.g. “5.0.3”)

    This reification converts conditionality from “required (depending)” to “required relative to a named, dereferenceable context” — discharging Guarino’s withdrawal condition at S010.

    DASH UI integration

    Per ODR-0010 §Q4, overlay shapes carry DASH (Data Shapes) editor + viewer predicates:

    • dash:editor — dash:EnumSelectEditor (for sh:in enum), dash:TextFieldEditor (for literals), dash:DetailsEditor (for nested objects)
    • dash:viewer — dash:LabelViewer, dash:LiteralViewer, dash:URIViewer

    These enable TopBraid Composer / DASH-aware tooling to render appropriate form widgets.

    Property groups

    Overlay profiles MAY declare sh:PropertyGroup instances to group related property shapes for UI rendering. BASPI5 declares 9 groups (Address, Built form, Completion, Drainage, Energy, Environmental, Heating, Ownership, Participants) with sh:order for sequencing.

    Source ADR + ODR

    Comments

    Loading comments…