@prefix dash: <http://datashapes.org/dash#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix sarefsh: <https://saref.etsi.org/shape#> .
@prefix schema: <http://schema.org/> .

sarefsh:label1 a sh:NodeShape ;
  sh:severity sh:Violation ;
  sh:or (
    [ sh:nodeKind sh:BlankNode ]
    [ sh:property [ 
        sh:path rdfs:label ;
        sh:minCount 1 ;
        sh:nodeKind sh:Literal ;
        sh:or (
          [ sh:datatype rdf:langString ]
          [ sh:datatype xsd:string ] ) ] ]
        ) .

sarefsh:label2 a sh:NodeShape ;
  sh:severity sh:Warning ;
  sh:or (
    [ sh:nodeKind sh:BlankNode ]
    [ sh:not [
        sh:path rdfs:label ;
        sh:not [ sh:languageIn ( "en" ) ] ] ]
        ) .

sarefsh:comment a sh:NodeShape ;
  sh:severity sh:Violation ;
  sh:or (
    [ sh:nodeKind sh:BlankNode ]
    [ sh:property [
        sh:path rdfs:comment ;
        sh:minCount 1 ;
        sh:nodeKind sh:Literal ;
        sh:or (
          [ sh:datatype rdf:langString ]
          [ sh:datatype xsd:string ] 
          [ sh:datatype <https://www.iana.org/assignments/media-types/text/html> ] 
          [ sh:datatype <https://www.iana.org/assignments/media-types/text/markdown> ] 
        )] ]
      ) .

