@prefix bc: <https://ontology.inferal.com/modules/ads-bidding-context/> .
@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix meta: <https://relay.inferal.com/ontology/meta/> .
@prefix googleads: <https://relay.inferal.com/ontology/googleads/> .
@prefix microsoftads: <https://relay.inferal.com/ontology/microsoftads/> .
bc:SelectionShape a sh:NodeShape ; sh:targetClass bc:SelectionContext ; sh:nodeKind sh:IRI ; sh:property [ sh:path bc:account ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:accountKey ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
 [ sh:path bc:asOf ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:dateTimeStamp ],
 [ sh:path bc:capture ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:currency ; sh:maxCount 1 ; sh:datatype xsd:string ],
 [ sh:path bc:interpretationBasis ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:operation ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:owner ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:parameterKind ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:provider ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
 [ sh:path bc:sourceDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
 [ sh:path bc:peerOwner ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:peerAccount ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:peerCapture ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
 [ sh:path bc:peerCurrency ; sh:maxCount 1 ; sh:datatype xsd:string ],
 [ sh:path bc:peerAccountKey ; sh:maxCount 1 ; sh:datatype xsd:string ] .
bc:SelectionShape sh:property [ sh:path bc:sourceDigest ; sh:pattern "^[0-9a-f]{64}$" ], [ sh:path bc:accountKey ; sh:minLength 1 ], [ sh:path bc:currency ; sh:minLength 1 ], [ sh:path bc:provider ; sh:in ("meta" "googleads" "microsoftads") ] .
bc:SelectionShape sh:property [ sh:path bc:operation ; sh:in (bc:AssessCurrentEligibility bc:AssessDeliveryOutcome bc:CompareCapturedParameters bc:InspectCapturedParameter bc:ReviewProposedChange) ] .
bc:SelectionShape sh:property [ sh:path bc:parameterKind ; sh:in (bc:BidAmount bc:MinimumSpendTarget bc:RoasFloor bc:SpendCap bc:StrategyDeclaration bc:TargetCpa bc:TargetRoas) ] .
bc:SelectionShape sh:property [ sh:path bc:interpretationBasis ; sh:in (bc:NativeCurrentMeaning bc:RetainedBiddingOverview) ] .
