@prefix aoc: <https://ontology.inferal.com/modules/ads-commerce-outcome-evidence/> .
@prefix adm: <https://ontology.inferal.com/modules/advertising-measurement/> .
@prefix pc: <https://ontology.inferal.com/modules/commerce-purchase-classification/> .
@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 sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
aoc:SelectionShape a sh:NodeShape ; sh:targetClass aoc:SelectionContext ; sh:targetSubjectsOf aoc:operation ; sh:nodeKind sh:IRI ;
 sh:property [ sh:path aoc:operation ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:in (aoc:InspectFigures aoc:AggregateCredits aoc:CompareCredits aoc:ProviderCreditedROAS aoc:DeclaredLinkedChargedReturn aoc:DeclaredLinkedNewPurchaseCost aoc:NewCustomerCAC aoc:NetRevenueReturn aoc:ProfitReturn) ] ;
 sh:property [ sh:path aoc:revisionPolicy ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:in (aoc:HistoricalSelectedCapture aoc:CurrentDeclaredSeries) ] ;
 sh:property [ sh:path aoc:merchant ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ] ;
 sh:property [ sh:path aoc:policy ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ] ;
 sh:property [ sh:path aoc:purchaseContext ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ] ;
 sh:property [ sh:path aoc:bindingSnapshot ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:minLength 1 ] ;
 sh:property [ sh:path aoc:evidenceSourceDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:pattern "^[0-9a-f]{64}$" ] ;
 sh:property [ sh:path aoc:purchaseSourceDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:pattern "^[0-9a-f]{64}$" ] ;
 sh:property [ sh:path aoc:purchaseContextDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:pattern "^[0-9a-f]{64}$" ] ;
 sh:property [ sh:path aoc:purchaseInterpretationDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ; sh:pattern "^[0-9a-f]{64}$" ] ;
 sh:property [ sh:path aoc:asOf ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:dateTimeStamp ] ;
 sh:property [ sh:path aoc:completeScope ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:boolean ] ;
 sh:property [ sh:path aoc:selectedFigure ; sh:nodeKind sh:IRI ] ;
 sh:property [ sh:path aoc:selectedPurchase ; sh:nodeKind sh:IRI ] ;
 sh:property [ sh:path aoc:selectedBinding ; sh:nodeKind sh:IRI ] ;
 sh:class aoc:SelectionContext .
