@prefix dash: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix dcterms: . @prefix vann: . @prefix sarefsh: . @prefix schema: . sarefsh:ExampleShape a sh:NodeShape ; sh:targetClass owl:Ontology ; sh:closed true ; sh:property [ sh:path rdf:type ; sh:minCount 1 ; sh:hasValue owl:Ontology ; ] ; sh:property [ sh:path owl:imports ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:severity sh:Violation ; sh:message "The example should import at least one ontology.$`" ] ; sh:property [ sh:path dcterms:title ; sh:nodeKind sh:Literal ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Warning ; sh:message "The example should have exactly one dcterms:title." ] ; sh:property [ sh:path dcterms:abstract ; sh:nodeKind sh:Literal ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Warning ; sh:message "The example should have exactly one dcterms:abstract." ] ; sh:property [ sh:path dcterms:description ; sh:nodeKind sh:Literal ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Warning ; sh:message "The example should have exactly one dcterms:description." ] ; sh:property [ sh:path dcterms:license ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:pattern "https://forge.etsi.org/etsi-software-license" ; sh:severity sh:Violation ; sh:message "There shall be exactly one dcterms:license annotation, with value ." ] ; sh:property [ sh:path dcterms:creator ; sh:nodeKind sh:BlankNodeOrIRI ; sh:minCount 0 ; sh:severity sh:Warning ; sh:message "The should be blank nodes or IRIs" ] ; sh:property [ sh:path dcterms:creator ; sh:severity sh:Warning ; sh:node sarefsh:PersonShape ; sh:message "Every creator should be a with , , and " ] ; sh:property [ sh:path dcterms:contributor ; sh:nodeKind sh:BlankNodeOrIRI ; sh:minCount 0 ; sh:severity sh:Warning ; sh:message "The should be blank nodes or IRIs" ] ; sh:property [ sh:path dcterms:contributor ; sh:severity sh:Warning ; sh:node sarefsh:PersonShape ; sh:message "Every contributor should be a with , , and " ] . sarefsh:PersonShape a sh:NodeShape ; sh:targetClass schema:Person ; sh:severity sh:Warning ; sh:property [ sh:path rdf:type ; sh:hasValue schema:Person ; sh:severity sh:Warning ; sh:message "Every contributor should be a " ] ; sh:property [ sh:path schema:givenName ; sh:minCount 1 ; sh:severity sh:Warning ; sh:message "Every contributor should have at least one " ] ; sh:property [ sh:path schema:familyName ; sh:minCount 1 ; sh:severity sh:Warning ; sh:message "Every contributor should have at least one " ] ; sh:property [ sh:path schema:affiliation ; sh:minCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:node sarefsh:AffiliationShape ; sh:severity sh:Warning ; sh:message "Every contributor should have at least one , that should be a blank node or a IRI of type with at least one " ] . sarefsh:AffiliationShape a sh:NodeShape ; sh:targetClass schema:Organization ; sh:severity sh:Warning ; sh:property [ sh:path rdf:type ; sh:hasValue schema:Organization ; sh:severity sh:Warning ; sh:message "The affiliation of each contributor should be a " ] ; sh:property [ sh:path schema:name ; sh:minCount 1 ; sh:severity sh:Warning ; sh:message "The affiliation of each contributor should have at least one " ] .