Exemplar S015 — Address & geography paired report

    flat-no-uprn-newly-converted

    Address exists without a UPRN; a subdivision created two new Properties whose UPRN issuance lags AddressBase.

    Input instance (ABox)

    # Diagnostic exemplar — ODR-0004 §8a, IC-only — input to ODR-0015 (Address & Geography).
    # Situation: a freehold house was recently converted into two flats; the new flats have not yet
    # been issued UPRNs by AddressBase (typical lag is weeks-to-months post-conversion).
    # Each flat has an address (5A and 5B of the same street) but no UPRN.
    # 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: accepted (council: session-005); ODR-0015 status: accepted (council: session-015).
    # Amended 2026-05-27 post-S015 close: refactored from literal opda:postalAddress on Property to
    # opda:Address resource shape with addressVariant "marketing" (S015 Q1 Kind commitment).
    
    @prefix opda:    <https://opda.org.uk/pdtf/> .
    @prefix opda-x:  <https://opda.org.uk/pdtf/harness/data/exemplar/flat-no-uprn-newly-converted/> .
    @prefix prov:    <http://www.w3.org/ns/prov#> .
    @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 "Flat with no UPRN — newly converted from one freehold" ;
        dct:status "ratified" ;
        dct:references <ODR-0015> , <ODR-0005> , <ODR-0004> ;
        skos:scopeNote
            "Tests Address modelling when UPRN is absent. The original freehold house had UPRN 100070555000; on conversion (2026-01-12) into two flats, OS AddressBase issued no UPRNs to the flats yet (typical 6-week lag). Each flat now has an address (5A/5B) but cannot key by UPRN. Under S015 Q1's Kind commitment: two opda:Property individuals (S005 Q5 3-class precedent — subdivision per S005 §3a Rule 2) each bearing an opda:Address resource with addressVariant 'marketing' (the listing agent's address presentation; OS AddressBase variant absent pending UPRN issuance). UPRN absence handled by dash:uniqueValueForClass graceful degradation (S005 §6a). The marketing-variant Address has no opda:uprn predicate; structural fields are present per S015 §3b (line1/postTown/postcode/country)." .
    
    # Original (pre-conversion) Property — closed by subdivision (S005 §3a Rule 2).
    opda-x:property-predecessor
        a opda:Property ;
        rdfs:label "Predecessor freehold house at 5 Linden Road (subdivided 2026-01-12; ceased)" ;
        opda:uprn "100070555000" .
    
    # Two new Property individuals — both UPRN-less pending AddressBase issue.
    opda-x:property-5a
        a opda:Property ;
        rdfs:label "Flat 5A Linden Road — newly created from subdivision; UPRN pending" ;
        prov:wasDerivedFrom opda-x:property-predecessor .
    
    opda-x:property-5b
        a opda:Property ;
        rdfs:label "Flat 5B Linden Road — newly created from subdivision; UPRN pending" ;
        prov:wasDerivedFrom opda-x:property-predecessor .
    
    # Marketing-variant Address for flat 5A — listing agent's address presentation.
    # Under S015 Q1 Kind commitment: opda:Address as resource with addressVariant tag.
    opda-x:address-5a-marketing
        a opda:Address ;
        rdfs:label "Marketing address for Flat 5A (listing agent's presentation)" ;
        opda:addressVariant "marketing" ;
        opda:line1 "Flat 5A" ;
        opda:line2 "5 Linden Road" ;
        opda:postTown "Reading" ;
        opda:postcode "RG1 4QT" ;
        opda:country "GB" ;
        opda:identifiesSameProperty opda-x:property-5a .
    # Deliberately NO opda:uprn — AddressBase has not yet issued.
    
    opda-x:address-5b-marketing
        a opda:Address ;
        rdfs:label "Marketing address for Flat 5B (listing agent's presentation)" ;
        opda:addressVariant "marketing" ;
        opda:line1 "Flat 5B" ;
        opda:line2 "5 Linden Road" ;
        opda:postTown "Reading" ;
        opda:postcode "RG1 4QT" ;
        opda:country "GB" ;
        opda:identifiesSameProperty opda-x:property-5b .
    # Deliberately NO opda:uprn — AddressBase has not yet issued.
    
    # Property hasAddress predicate (S005 §6b + S015 Q3 — opda:hasAddress is the join).
    opda-x:property-5a opda:hasAddress opda-x:address-5a-marketing .
    opda-x:property-5b opda:hasAddress opda-x:address-5b-marketing .
    

    Expected SHACL validation report

    # flat-no-uprn-newly-converted-expected-report.ttl — paired SHACL validation report
    # Generated by opda-gen 1.0.2; DO NOT HAND-EDIT.
    # Specification: https://opda.org.uk/pdtf/harness/adr/ADR-0007-ontology-generator-specification
    # Implementation: https://opda.org.uk/pdtf/harness/adr/ADR-0014-baspi5-round-trip-mvp-harness
    # Ratifying ODR: ODR-0004 §8a (diagnostic exemplar pairing).
    # Comparison is semantic-equivalence (focusNode, resultPath, severity, constraint, message) per tests/baspi5_round_trip/compare_reports.py.
    
    @prefix dct: <http://purl.org/dc/terms/> .
    @prefix opda: <https://opda.org.uk/pdtf/> .
    @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/harness/data/exemplar-reports/report>
        rdf:type sh:ValidationReport ;
        dct:source <https://opda.org.uk/pdtf/harness/data/exemplar/flat-no-uprn-newly-converted> ;
        sh:conforms "true"^^xsd:boolean .
    

    The full exemplar catalogue and round-trip contract: Exemplars; the shapes this graph validates against: SHACL shapes; the overlay profiles it loads: Overlay profiles.