Foundations & architecture
The layer a generator cannot emit — why the model is shaped as it is. Four
foundational frames govern every term in the ontology: the UFO meta-category
each class commits to, the three-graph separation that keeps meaning, validation,
and advice apart, the six bounded contexts the standard partitions the industry
into, and the inference / validation boundary that fixes what is entailed versus
what is merely checked. Counts below are read at build time from the committed TTL corpus at
source/03-standards/ontology/.
UFO meta-category legend
Every OPDA class commits to a Unified Foundational Ontology (UFO) stereotype with OntoClean meta-properties (rigidity, identity, dependence). This frame leads the reference — before any term table — because the stereotype determines how a thing may be classified, whether it may bear an identity criterion, and whether it may ever appear in a subclass tree. The crucial contract: a Role is anti-rigid and is never a subclass of a Kind (it borrows identity from its bearer); a Kind is rigid and carries its own identity criterion.
| UFO stereotype | OntoClean meta-properties | OPDA classes |
|---|---|---|
| Substance Kind | rigid; carries an identity criterion; individuates its instances | opda:Property, opda:LegalEstate, opda:RegisteredTitle, opda:Person, opda:Organisation, opda:Address |
| Role | anti-rigid; sortal — borne by a single Kind; never subclasses that Kind | opda:Proprietor (borne by Person, founded by a Proprietorship Relator) |
| RoleMixin | anti-rigid; cross-sortal — borne by more than one Kind | opda:Seller, opda:Buyer (Person OR Organisation), opda:Evidence (+ opda:evidenceType facet) |
| Relator | relational endurant; founded by an event; mediates two or more bearers; founds the roles it connects | opda:Transaction (founds Seller / Buyer), opda:Proprietorship (binds Proprietor Roles to a RegisteredTitle) |
| Mode / Quality | existentially dependent on its bearer | UPRN as a contingent Quality of a opda:Property (never the identity criterion) |
| Quale / value structure | a value in a quality region; a magnitude-plus-unit composite with no independent identity | opda:MonetaryAmount (amount + currency), opda:RoomDimension (length + width); coded SKOS values (Quale-in-Region) drive the rest |
| Information Object | an information artefact existentially dependent on a generating activity — not a Substance Kind | opda:EPCCertificate, opda:Survey, opda:Valuation, opda:Search, opda:Claim |
Source: opda-classes.ttl (the UFO meta-classes opda:Role, opda:RoleMixin,
opda:Relator) and each module's rdfs:comment / skos:scopeNote, which
record the Guizzardi 2005 and DOLCE (Masolo et al. 2003) provenance per class.
Three-graph separation (ODR-0004 §3a)
The ontology keeps three artefacts strictly orthogonal — OWL classes ⊥ SHACL shapes ⊥ annotations — and the separation is CI-enforced. This is the single most load-bearing architectural decision (ODR-0004, Council session-004): it prevents open-world class semantics from being contaminated by closed-world cardinality, and keeps advisory hints out of the normative model.
| Graph | Holds | Must NOT contain |
|---|---|---|
Class graphopda-classes.ttl + module TBox | owl:Class, rdfs:subClassOf, object/datatype properties, rdfs:domain/range (informative), labels & definitions | no sh: triples |
Shapes graphopda-*-shapes.ttl | SHACL node/property shapes that sh:targetClass the classes; cardinality, datatype, sh:in value constraints | never owl:imports the class graph; no advisory annotations |
Annotation graphopda-*-annotations.ttl | DPV personal-data co-annotations, AI hints (opda:aiHint), keyed to class/shape IRIs | no sh: triples |
Shapes target classes via sh:targetClass; they never owl:imports
them. No property carries an OWL cardinality restriction and a SHACL count constraint as if the two were
equivalent. Inference materialises into a fourth, derived graph
(…/pdtf/graph/inferred/entailment) and never pollutes the canonical three. The CI gate asserts,
among others, that an ASK over the annotation graph for any sh:-prefixed predicate
returns false — no SHACL triples may leak into the annotation graph.
Six bounded contexts
The standard partitions the UK property industry into 6 primary bounded contexts
(DDD), each a skos:Concept in opda:BoundedContextScheme and each owning a SHACL overlay
profile (ODR-0020). PDTF is the Published Language between them.
Domain-term membership in a context is a derived, on-demand query, never materialised — and
upstream conformist authorities (HMLR, MHCLG, DSIT) own no overlay, so they are linked by
opda:consumesFrom and are not members of the scheme.
| Context | Definition (with overlays) | Steward |
|---|---|---|
| Conveyancing | Legal transfer of estate; overlays ta6/ta7/ta10/lpe1. | Law Society; SRA; CLC; Society of Licensed Conveyancers; CILEx; CILEx Regulation. |
| Estate Agency | Marketing and sale of residential property; overlays baspi5/nts2. | Propertymark; property portals (Rightmove, Zoopla); regulated by NTSELAT (transitioning to MHCLG). |
| Mortgage Lending | Lending secured against property; overlays fme1. | UK Finance; BSA; regulated by the FCA. |
| Property Data Services | Aggregation and supply of property data; overlays con29R/con29DW/llc1/oc1/rds/sr24. | COPSO. |
| Property Technology | Orchestration and system-to-system messaging spanning the industry contexts. | No single regulator — orchestration layer across the industry contexts. |
| Surveying | Physical inspection and valuation; overlays piq. | RICS. |
Read live from opda-contexts.ttl (6 concepts in the scheme).
Inference / validation boundary (ODR-0029)
The governing principle (ODR-0029, Council session-039):
infer the relations whose closure the author wants materialised (subclass / subproperty
hierarchy, inverse, symmetric, transitive) — and validate the constraints the author wants
checked (domain, range, cardinality, datatype, identity keys) as SHACL.
domain / range sit on the validation side; RDFS only ever put them on the
wrong side.
The entailment regime is understood as minimal / dormant: only
rdfs:subClassOf type-propagation currently fires (0 triples on the schema, ~30 trivially
recoverable on instance data); the other six rules are dormant carriers that activate when a real construct
lands. The closure adds 0 triples over the flat schema — it is kept not for current output
but as a governed boundary and negative consistency gate (no owl:sameAs, no
spurious EPCCertificate ⊑ Property). The rule logic is frozen; the ruleset is a
sound but RL-incomplete RDFS-Plus fragment (config/opda-rdfs-plus.rules), explicitly
not an OWL 2 RL reasoner.
The 7 frozen rules — the "Safe Group" (ODR-0025 §R1)
| # | Construct | Entailment |
|---|---|---|
| 1 | rdfs:subClassOf | type propagation up the class hierarchy |
| 2 | rdfs:subClassOf | transitive subclass closure |
| 3 | rdfs:subPropertyOf | property-value propagation to the superproperty |
| 4 | rdfs:subPropertyOf | transitive subproperty closure |
| 5 | owl:inverseOf | both directions — (x p y) ⇒ (y q x) |
| 6 | owl:TransitiveProperty | (x p y),(y p z) ⇒ (x p z) |
| 7 | owl:SymmetricProperty | (x p y) ⇒ (y p x) |
Deliberately excluded (validated as SHACL, never inferred)
| Excluded construct | Why |
|---|---|
owl:sameAs materialisation | irreversible identity propagation — catastrophic in master data (ODR-0005 §R5) |
owl:FunctionalProperty / owl:InverseFunctionalProperty | trigger owl:sameAs identity-merge |
owl:equivalentClass / owl:equivalentProperty | uncontrolled bidirectional propagation + transitive explosion |
rdfs:domain / rdfs:range type entailment | a property with N declared domains mis-types each subject as all N classes at once — validated as SHACL instead, never inferred |
This is what makes the regime RL-safe rather than RL or DL: no identity merging, no equivalence,
no domain/range classification, no restriction reasoning. The corresponding domain / range
constraints are validated by the ~273 sh:targetSubjectsOf → sh:class SHACL shapes
(ODR-0029 R3) — see SHACL shapes.
Related
The implicit-Property crux and the classification doctrine are on Identity & classification. Browse the terms these frames govern: Classes, Properties, Vocabularies (SKOS). The full reference index is the Ontology section overview.
Comments
Loading comments…
Sign in to post a comment