@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/hasParticipant> a owl:ObjectProperty ;
    rdfs:label "has participant" ;
    skos:definition "Relates a property transaction to a seller or buyer party to it." ;
    rdfs:comment "Transaction → Seller/Buyer join: the parties to the transaction (ODR-0007; Council session-047 GATED). rdfs:domain opda:Transaction is asserted plain (universally true). The Seller/Buyer co-domain is documentary \"any-of\" rdfs:range opda:Seller , opda:Buyer (two triples read DISJUNCTIVELY per the module-header convention, NOT the RDFS §3.2 conjunction; schema.org domainIncludes idiom). Authored as AI-signal, NEVER entailed (zero domain/range triples materialise, ADR-0035 — so the range does NOT entail every participant is a Seller). The authoritative disjunction stays in SHACL sh:or (opda:HasParticipantRangeShape), NOT owl:unionOf. The navigable parties-of-transaction edge; distinct from the opda:founds Relator → Role founding spine (design-time, never reasoned)." ;
    rdfs:domain <https://opda.org.uk/pdtf/Transaction> ;
    rdfs:range <https://opda.org.uk/pdtf/Buyer> ;
    rdfs:range <https://opda.org.uk/pdtf/Seller> ;
    dct:source <https://opda.org.uk/pdtf/harness/odr/ODR-0007/section-Q1> .

# one hop — immediate neighbours
<https://opda.org.uk/pdtf/Transaction> a owl:Class .
