OPDA Knowledge base
Diagnostic exemplar

listed-building-divergent-addresses

listed-building-divergent-addresses

Summary

Three divergent address surfaces (title / marketing / INSPIRE) on one physical Property. Tests S015 Q6 co-reference SHACL shape across address presentations. Under S015 Q1 Kind commitment: three opda:Address Kind instances co-referring via opda:identifiesSameProperty.

Cross-link: Concept tier — Address hard cases.

Exemplar Turtle

# Diagnostic exemplar — ODR-0004 §8a, IC-only — input to ODR-0015 (Address & Geography).
# Situation: a Grade II-listed building with three divergent address presentations —
# the title address (as on the HMLR register), the marketing address (as on Rightmove),
# and the INSPIRE-derived cadastral address. All three identify the same physical Property.
# Status: ratified. Namespace: https://opda.org.uk/pdtf/ (Session 003b + ADR-0006).
# ODR-0004 status: accepted (council: session-004; wg-decision: session-003b).
# ODR-0005 status: proposed (council: session-005); ODR-0015 status: proposed (council: session-015).
# This exemplar was authored under the Kind reading natively (S015 Q1 Substance Kind verdict);
# the structure matches the ratified ODR-0015 §3b class with property shapes.
# Amended 2026-05-27 post-S015 close: added opda:hasAddress join predicate from Property side
# (S005 §6b + S015 Q3 — opda:hasAddress is the canonical Property→Address join).

@prefix opda:    <https://opda.org.uk/pdtf/> .
@prefix opda-x:  <https://opda.org.uk/pdtf/harness/data/exemplar/listed-building-divergent-addresses/> .
@prefix dct:     <http://purl.org/dc/terms/> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos:    <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

opda-x:exemplar
    a opda:DiagnosticExemplar ;
    dct:title "Listed building with divergent title / marketing / INSPIRE addresses" ;
    dct:status "ratified" ;
    dct:references <ODR-0015> , <ODR-0005> , <ODR-0004> ;
    skos:scopeNote
        "Tests Address co-reference. One physical opda:Property (Q5 3-class from S005); one opda:LegalEstate (freehold); one opda:RegisteredTitle (HMLR title NK123456); three divergent address surfaces — title-address ('The Old Rectory, Glebe Lane, Stamford'), marketing-address ('The Old Rectory, near Wothorpe'), INSPIRE-derived cadastral address. The Q1 UFO category answer dictates the modelling: if Address is a Mode of presentation (Guarino's S001 Q4 framing carried), the three are three modes on one Property; if Address is a Kind (INSPIRE feature-as-class position), the three are three Kind instances co-referring via opda:identifiesSameProperty (S005's predicate). The Q6 SHACL co-reference shape must validate that the three agree on UPRN + postcode + first-line-prefix; disagreement is a data-quality finding, not modelling failure." .

# Physical Property
opda-x:property
    a opda:Property ;
    rdfs:label "Grade II-listed rectory at the Glebe Lane site" ;
    opda:uprn "100070888000" ;
    opda:inspireId "urn:opda:inspire:OS:200099876" ;
    opda:listedStatus "Grade II" .

# Three address presentations — the structure each takes is the S015 Q3 question
opda-x:title-address
    a opda:Address ;
    rdfs:label "Title address (as recorded on HMLR title NK123456)" ;
    opda:addressVariant "title" ;
    opda:line1 "The Old Rectory" ;
    opda:line2 "Glebe Lane" ;
    opda:postTown "Stamford" ;
    opda:postcode "PE9 2RW" ;
    opda:country "GB" .

opda-x:marketing-address
    a opda:Address ;
    rdfs:label "Marketing address (estate agent's Rightmove listing)" ;
    opda:addressVariant "marketing" ;
    opda:line1 "The Old Rectory" ;
    opda:line2 "near Wothorpe" ;
    opda:postTown "Stamford" ;
    opda:postcode "PE9 2RW" ;
    opda:country "GB" .

opda-x:inspire-address
    a opda:Address ;
    rdfs:label "INSPIRE-cadastral-derived address (from OS AddressBase via inspireId)" ;
    opda:addressVariant "inspire" ;
    opda:line1 "The Old Rectory" ;
    opda:postTown "Stamford" ;
    opda:postcode "PE9 2RW" ;
    opda:country "GB" .

# Co-reference: all three Address resources identify the same physical Property
# (S015 Q1 Kind commitment; Q2 IC rule 3 — cross-variant identity-claim never collapses).
opda-x:title-address opda:identifiesSameProperty opda-x:property .
opda-x:marketing-address opda:identifiesSameProperty opda-x:property .
opda-x:inspire-address opda:identifiesSameProperty opda-x:property .

# Property→Address join via opda:hasAddress (S005 §6b pre-commitment; S015 Q3).
opda-x:property opda:hasAddress opda-x:title-address , opda-x:marketing-address , opda-x:inspire-address .

# Note: under the S015 Q6 two-tier co-reference SHACL shape, opda:line2 disagreement
# across variants (title: "Glebe Lane" vs marketing: "near Wothorpe") fires sh:Info
# (cross-variant disagreement is legitimate per Q2 IC rule 3); no sh:Warning, no sh:Violation.

Expected report Turtle

# listed-building-divergent-addresses-expected-report.ttl
@prefix dct: <http://purl.org/dc/terms/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://opda.org.uk/pdtf/data/exemplar-reports/report>
    rdf:type sh:ValidationReport ;
    dct:source <https://opda.org.uk/pdtf/harness/data/exemplar/listed-building-divergent-addresses> ;
    sh:conforms "true"^^xsd:boolean .

SHACL outcome

sh:conforms true. All three Address instances satisfy opda:AddressIdentityKeyShape. The opda:INSPIRESuccessionRule materialises opda:hasINSPIRESuccessionStatus "inspire-primary" on the inspire-variant Address (no prov:wasDerivedFrom).

Source ODR + ADR

Comments

Loading comments…