Identity & classification

    Two decisions carry more weight than any other in the model. The identity crux (ODR-0005) answers the question PDTF JSON cannot: what is the rigid, identity-bearing "property" when the source schema has no first-class property object at all? The classification doctrine (ODR-0027) answers how every type in the model is assigned: by coded set-membership, not by a subclass tree.

    The implicit-Property crux (ODR-0005)

    PDTF JSON has no first-class "property" object, yet an RDF consumer needs a rigid, identity-bearing subject to attach everything to. ODR-0005 (Council session-005; Queen Guarino) splits the conflated notion into three UFO Substance Kinds, each committed to a DOLCE Endurant, each with its own identity criterion — not one conflated entity:

    ClassUFO / DOLCEIdentity criterion
    opda:Property Substance Kind / PhysicalObject spatial-material continuity, with a legal-record discontinuity override
    opda:LegalEstate Substance Kind / NonPhysicalEndurant rights-bundle persistence (survives transfer, charges, easements) — may be unregistered at common law
    opda:RegisteredTitle Substance Kind (informational) / NonPhysicalEndurant title-number lineage + registry-event history; carries a distinct published-personal-data PII regime under the HMLR open register

    The split is what gives the unregistered-house-before-first-registration case a coherent answer (a LegalEstate with no RegisteredTitle), and gives RegisteredTitle instances a class-level discriminator for ICO Subject Access processing. The three are joined by co-reference — the controlled opda:identifiesSameProperty predicate and SHACL key-matching — never owl:sameAs.

    UPRN is a contingent Quality — never the IC, never owl:sameAs

    UPRN is a contingent Quality of a opda:Property, never the identity criterion, and never asserted with owl:sameAs (the owl:sameAs-across-UPRN option was rejected unanimously at session-005). A property can change UPRN — administrative re-numbering is captured by a reified opda:UPRNSuccessionEvent under prov:wasDerivedFrom, materialised into the validation report by a SHACL-AF rule at sh:Info severity, and the Property's identity persists through it. Two records sharing a UPRN are not thereby the same legal estate. Forbidden anti-patterns:

    • owl:sameAs between any two UPRN-bearing nodes — propagates every context's properties onto every other, irreversibly under inference.
    • Treating UPRN or address as the identity criterion — both are administratively contingent (UPRN) or a mode of presentation (address).
    • Keying a Role — a Role borrows identity from its bearer and never supplies its own (ODR-0005 anti-pattern §3).

    Worked exemplars exercise exactly these surfaces: flat-with-split-uprn, flat-no-uprn-newly-converted, rural-plot-inspire-no-uprn, unregistered-pre-first-registration-house — see Exemplars.

    The named hard cases (how opda:Property identity behaves)

    Per ODR-0001's per-kind: pattern discipline, each identity criterion is exercised over five named hard cases rather than asserted abstractly. For opda:Property:

    Hard caseDisposition
    DemolitionThe physical thing ceases; the LegalEstate and RegisteredTitle may persist (a cleared plot is still an estate).
    SubdivisionOne Property becomes many — new UPRNs issue; identity does not survive a split into distinct material continua.
    MergerMany Properties become one; identity of the constituents ends.
    Replacement (rebuild on the same plot)A new Property iff the legal record asserts discontinuity (title closure + re-registration, or a new UPRN with no prov:wasDerivedFrom chain). Routine knock-down-rebuild without registry discontinuity PRESERVES identity — matching conveyancer practice. Listed-building heritage exception via a SHACL profile.
    Boundary modificationA boundary change without registry discontinuity preserves identity; a transfer of land that re-registers does not.

    The unifying rule: physical-material continuity governs, with a legal-record discontinuity override. opda:LegalEstate and opda:RegisteredTitle each carry their own five-hard-case walk in ODR-0005 §3b/§3c.

    Classification doctrine — facets, not subclass trees (ODR-0027)

    ODR-0027 adopts wholesale the sibling corpus's decade-stable classification-over-inheritance doctrine, grounded in ISO 25964 faceted classification, W3C SKOS, FIBO, and OntoClean/UFO. The doctrine is six rules:

    RuleWhat it says
    R1 — isMemberOf is the default; isA is the exceptionClassification (what type a thing is) is done by coded set-membership — isMemberOf a skos:ConceptScheme — by default. Mint an OWL subclass (isA / rdfs:subClassOf) ONLY for a genuine Kind that carries its own identity criterion (and/or a distinct relational structure SHACL must enforce per-type). One class, a value that varies, is the rule; a subclass per coded value is the anti-pattern.
    R2 — a facet is NOT a classificationA facet is the set of type-specific attributes an entity of a given type bears — it presupposes the type and says nothing about what the type is. opda:attestedBy and opda:documentReference are facets. opda:evidenceType is NOT a facet — it is an isMemberOf classifier (it states the kind). (opda overloads "facet" to mean type-borne attributes, not an ISO-25964 classification axis.)
    R3 — Roles are anti-rigid → NEVER rdfs:subClassOf a KindA Role is borne via a roleOf / playedBy relation (founded by the relevant Relator/Activity), with a coded isMemberOf classifier where the role sub-divides — never rdfs:subClassOf the bearer Kind. opda already does this for opda:Seller / opda:Buyer (RoleMixin) and opda:Proprietor (Role); the doctrine generalises it.
    R4 — every enumeration is a SKOS schemeEvery closed value-space, status set, kind-discriminator, and UFO-stereotype axis is a skos:ConceptScheme of skos:Concepts, referenced by a coded value — never an owl:oneOf bag and never an rdfs:subClassOf enumeration. A scheme member binds to an OWL Kind by skos:exactMatch only where that Kind independently earns isA — never owl:sameAs.
    R5 — enforcement is value-keyed, not class-keyedrdfs:domain / rdfs:range are informative, never evaluated. SHACL is the enforcement layer, and per-type obligations are value-keyed on the isMemberOf classifier (sh:targetSubjectsOf + a value-guarded material implication in SHACL-Core), not keyed on a subclass sh:targetClass (which is entailment-relative and silently passes a value-recorded instance). Class-targeting is correct in exactly one place: a type↔value coherence shape.
    R6 — evidence is a Role, not a Kind treeopda:Evidence is the role target (a RoleMixin); evidence-kind is an isMemberOf coded classification (opda:evidenceType → opda:EvidenceMethodScheme), not a subclass tree. The three …Evidence rdfs:subClassOf opda:Evidence axioms are retired; kind-specific attributes become facets borne by the role. (This reverses session-036's keep-the-subclasses disposition; its value-keyed-enforcement finding stands.)

    The OntoClean cascade behind R1 (ODR-0011 §8a): anti-rigid → never a subclass; +R∧−I → classify (coded); +R∧+I∧+D → Relator; +R∧+I∧−D → subclass. The net effect: the ~40 OWL classes are kept deliberately few and rigid, while the 47 SKOS concept schemes carry all the varying classification — see Vocabularies (SKOS).

    The UFO legend, three-graph separation, bounded contexts, and inference boundary are on Foundations & architecture. Browse the terms: Classes, Properties, Vocabularies (SKOS). Full index: Ontology section overview.

    Comments

    Loading comments…