@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://opda.org.uk/pdtf/TransactionChain> a owl:Class ;
    rdfs:label "Transaction Chain" ;
    skos:definition "Aggregate of interdependent property transactions linked where a buyer in one is concurrently a seller in the next, such that the completion of each is contingent on completion of the others." ;
    rdfs:comment "Aggregate of dependent Transactions linked by buyer-also-seller participant overlap. S007 Q4 dual-mechanism: (a) recursive opda:dependsOnTransaction predicate between Transactions; (b) opda:chainMembers list-of-Transactions on a TransactionChain parent. Chain-length cap: sh:maxInclusive 7 per CLC data (ADR-0012 emits the SHACL constraint). Chain status is derived (any-blocked → chain-blocked)." ;
    skos:scopeNote "UFO: Aggregate (Guizzardi 2005 Ch. 4 §4.6 — collective of Relator instances). Dual modelling per S007 Q4 (recursive predicate + Aggregate) chosen because both shapes appear in real-world chain queries." ;
    dct:source <https://opda.org.uk/pdtf/harness/odr/ODR-0007/section-Q4> .
