@prefix da: <https://ontology.inferal.com/modules/ads-agent-diagnostics/> .
@prefix ior: <https://ontology.inferal.com/mappings/relay-operation-input-roles/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix ss: <https://ontology.inferal.com/modules/scoped-statements/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
da:ContextShape a sh:NodeShape ; sh:targetClass da:DiagnosticContext ; sh:property [ sh:path da:request ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
  [ sh:path da:item ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
  [ sh:path da:provider ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:artifactVersion ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:apiVersion ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:operation ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
  [ sh:path da:wirePath ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:ownerPath ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:representation ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:semanticField ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ],
  [ sh:path da:sourceDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ],
  [ sh:path da:loadedProvider ; sh:nodeKind sh:IRI ], [ sh:path da:historicalReceipt ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:class da:HistoricalReceiptDeclaration ; sh:node da:ReceiptShape ; sh:node da:ScopedReceiptShape ] .
da:ReceiptShape a sh:NodeShape ; sh:targetClass da:HistoricalReceiptDeclaration ; sh:property [ sh:path da:reportedOutcome ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ], [ sh:path da:reportedInterpretationDigest ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] .

da:ScopedReceiptShape a sh:NodeShape ; sh:targetClass da:HistoricalReceiptDeclaration ; sh:property [ sh:path da:providerIRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ], [ sh:path da:question ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ], [ sh:path da:answerContract ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ], [ sh:path da:reportedOutcome ; sh:in ( da:ReportedPass ) ], [ sh:path da:reportedInterpretationDigest ; sh:pattern "^[0-9a-f]{64}$" ] .
