Logical tier Module: property

    Property module

    The physical Property, its socially-recognised Address(es), the legal rights-bundle (LegalEstate) vested in it, the HMLR record (RegisteredTitle) documenting that estate, and the lifecycle events that mutate them (LeaseExtensionEvent, UPRNSuccessionEvent). This is OPDA’s structural spine — all other modules attach to it.

    Entity inventory

    EntityUFO meta-categoryIdentity criterion
    AddressSubstance KindAuthority-record persistence across cosmetic re-format and authority succession
    LeaseExtensionEventEvent particularReified statutory lease extension event
    LeaseTermInformation particularOWL-Time ProperInterval bounding a leasehold tenure
    LegalEstateSubstance KindRights-bundle persistence through grant / transfer / registration / discharge
    PropertySubstance KindSpatial-material continuity (Kendall + Davis legal-record-discontinuity-override hybrid)
    RegisteredTitleSubstance Kind (informational)Title-number lineage + reified registry-event history

    Enumerations bound by this module

    SchemeUsed by attributeClosed/Open
    AddressVariantSchemeAddress.addressVariantClosed (4 members)
    BuiltFormSchemeProperty.builtFormClosed (5 members)
    CentralHeatingFuelTypeSchemeProperty.centralHeatingFuelTypeClosed (6 members)
    CouncilTaxBandSchemeEWCouncil-tax attributes (E&W)Closed (8 members)
    CouncilTaxBandSchemeScotlandCouncil-tax attributes (Scotland)Closed (9 members)
    CurrentEnergyRatingSchemeProperty.currentEnergyRatingClosed (7 members)
    HeatingTypeSchemeProperty.heatingTypeClosed (4 members)
    OffMainsDrainageSystemTypeSchemeProperty.offMainsDrainageSystemTypeClosed (6 members)
    OwnershipTypeSchemeLegalEstate.ownershipTypeClosed (4 members)
    PropertyTypeSchemeProperty.propertyTypeClosed (6 members)
    TenureKindSchemeLegalEstate.tenureKindClosed (3 members)
    YesNoSchemeMany Yes/No discriminatorsClosed (2 members)
    YesNoNotApplicableSchemeBASPI5 conditional questionsClosed (3 members)
    YesNoNotKnownSchemeBASPI5 not-known-admissible questionsClosed (3 members)
    YesNoNotRequiredSchemeBASPI5 not-required-admissible questionsClosed (3 members)

    ER diagram

    %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% erDiagram accTitle: Property Module — Entity-Relationship Diagram accDescr: Property module entities (Property, Address, LegalEstate, RegisteredTitle, LeaseTerm) and lifecycle events (LeaseExtensionEvent, UPRNSuccessionEvent) with intra-module relationships. Property ||--o{ Address : "hasAddress" Property }o--o| LegalEstate : "vests" Property }o--o{ RegisteredTitle : "identifiedBy" RegisteredTitle ||--|| LegalEstate : "recordsEstate" RegisteredTitle }o--|| Property : "identifiesSameProperty" LegalEstate }o--|| Property : "identifiesSameProperty" LegalEstate ||--o| LeaseTerm : "leaseTerm" LeaseExtensionEvent }o--|| LegalEstate : "extends" LeaseExtensionEvent }o--|| LeaseTerm : "produces successor" UPRNSuccessionEvent }o--|| Property : "succeeds (PROV-O wasDerivedFrom)"

    Source file: ../diagrams/property-er.mmd.

    Class hierarchy

    OWL/RDFS subclass relationships in the property module. Property, LegalEstate, and Address are Substance Kinds at root level. Address inherits from vcard:Address. Events specialise the foundation Event particular shape via PROV-O Activity.

    %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% classDiagram accTitle: Property Module — Class Hierarchy accDescr: OWL/RDFS subclass relationships in the property module — Property as Substance Kind, Address subclasses vcard:Address, LegalEstate carries tenure, RegisteredTitle records Estate, lifecycle Events as PROV-O Activities. class vcardAddress["vcard:Address"] class provActivity["prov:Activity"] class timeProperInterval["time:ProperInterval"] class Property { hasUPRN propertyType builtForm currentEnergyRating + many Yes/No discriminators } class Address { addressVariant : AddressVariantScheme } class LegalEstate { tenureKind : TenureKindScheme ownershipType isGroundRentPayable } class RegisteredTitle { title-number lineage } class LeaseTerm { OWL-Time bounded interval } class LeaseExtensionEvent { prov:atTime } class UPRNSuccessionEvent { prov:atTime } vcardAddress <|-- Address timeProperInterval <|-- LeaseTerm provActivity <|-- LeaseExtensionEvent provActivity <|-- UPRNSuccessionEvent

    Identity-key summary

    --- config: layout: elk elk: mergeEdges: false nodePlacementStrategy: BRANDES_KOEPF --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Property Module — Identity-Key Summary accDescr: Identity Criterion key surfaces for the seven property-module entities — spatial-material continuity for Property, variant + authority-record for Address, rights-bundle for LegalEstate, title-lineage for RegisteredTitle, OWL-Time pair for LeaseTerm, PROV-O tuples for the two Events. classDef icCell fill:#F8BBD9,stroke:#AD1457,stroke-width:2px,color:#880E4F classDef entityCell fill:#B3E5FC,stroke:#0277BD,stroke-width:2px,color:#01579B PropertyE[Property]:::entityCell -->|"IC"| PIC["spatial-material continuity
    Kendall + Davis hybrid
    (hasUPRN is contingent)"]:::icCell AddressE[Address]:::entityCell -->|"IC"| AIC["addressVariant +
    authority-record-id"]:::icCell LegalEstateE[LegalEstate]:::entityCell -->|"IC"| LEIC["rights-bundle persistence
    (tenureKind surface)"]:::icCell RegisteredTitleE[RegisteredTitle]:::entityCell -->|"IC"| RTIC["title-number lineage +
    registry-event history"]:::icCell LeaseTermE[LeaseTerm]:::entityCell -->|"IC"| LTIC["(LegalEstate,
    time:hasBeginning,
    time:hasEnd)"]:::icCell LeaseExtensionEventE[LeaseExtensionEvent]:::entityCell -->|"IC"| LEEIC["(LegalEstate,
    prov-timestamp)"]:::icCell UPRNSuccessionEventE[UPRNSuccessionEvent]:::entityCell -->|"IC"| USEIC["(Property,
    prov-timestamp)"]:::icCell

    Comments

    Loading comments…