@prefix sh: . @prefix os: . @prefix owl: . @prefix dc: . @prefix rdf: . @prefix rdfs: . os:OntologyShape a sh:NodeShape ; sh:targetClass owl:Ontology ; sh:property [ sh:path dc:title ; sh:minCount 1 ; sh:severity sh:Warning ; sh:message "Classes should have at least a title. " ; ] . os:ClassShape a sh:NodeShape ; sh:target [ a sh:SPARQLTarget ; sh:select """ PREFIX owl: SELECT ?this WHERE { ?this a owl:Class . FILTER(!isBlank(?this)) } """ ; ] ; sh:property [ sh:path rdfs:label ; sh:minCount 1 ; sh:message "Classes should have at least one label. " ; sh:severity sh:Warning ; ] ; sh:property [ sh:path rdfs:comment ; sh:minCount 1 ; sh:message "Classes should have at least one comment" ; sh:severity sh:Warning ; ] . os:PropertyShape a sh:NodeShape ; sh:targetClass owl:ObjectProperty, owl:DatatypeProperty, owl:AnnotationProperty, owl:OntologyProperty, rdf:Property ; sh:property [ sh:path rdfs:label ; sh:minCount 1 ; sh:message "Properties should have at least one label. " ; sh:severity sh:Warning ; ] ; sh:property [ sh:path rdfs:comment ; sh:minCount 1 ; sh:message "Properties should have at least one comment" ; sh:severity sh:Warning ; ] .