@prefix map: <https://ontology.inferal.com/mappings/web-annotation-prov/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

map:AnnotationCreationShape
    a sh:NodeShape ;
    rdfs:label "annotation creation shape" ;
    rdfs:comment "Validates Web Annotation to PROV-O annotation creation activity resources." ;
    sh:targetClass map:AnnotationCreation ;
    sh:nodeKind sh:IRI ;
    sh:class prov:Activity ;
    sh:property [
        sh:path prov:generated ;
        sh:class prov:Entity ;
        sh:minCount 1 ;
    ] .

map:AnnotationSerializationShape
    a sh:NodeShape ;
    rdfs:label "annotation serialization shape" ;
    rdfs:comment "Validates Web Annotation to PROV-O annotation serialization activity resources." ;
    sh:targetClass map:AnnotationSerialization ;
    sh:nodeKind sh:IRI ;
    sh:class prov:Activity ;
    sh:property [
        sh:path prov:generated ;
        sh:class prov:Entity ;
        sh:minCount 1 ;
    ] .

map:ResourceRenderingShape
    a sh:NodeShape ;
    rdfs:label "resource rendering shape" ;
    rdfs:comment "Validates Web Annotation to PROV-O resource rendering activity resources." ;
    sh:targetClass map:ResourceRendering ;
    sh:nodeKind sh:IRI ;
    sh:class prov:Activity ;
    sh:property [
        sh:path prov:used ;
        sh:class prov:Entity ;
        sh:minCount 1 ;
    ] ;
    sh:property [
        sh:path prov:generated ;
        sh:class prov:Entity ;
        sh:minCount 1 ;
    ] .
