PREFIX :
PREFIX adms:
PREFIX dcat:
PREFIX dcatap:
PREFIX dcterms:
PREFIX dqv:
PREFIX foaf:
PREFIX geo:
PREFIX geodcat:
PREFIX owl:
PREFIX qudt:
PREFIX rdf:
PREFIX rdfs:
PREFIX schema:
PREFIX sh:
PREFIX skos:
PREFIX sosa:
PREFIX tern:
PREFIX time:
PREFIX xsd:
:CatalogRecord_Shape
a sh:NodeShape ;
rdfs:label "Catalog Record"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MUST_ have exactly 1 `foaf:primaryTopic` predicate where the value node is an individual with the type `dcat:Catalog`, or `dcat:Dataset`, or `dcat:DataService`." ;
sh:minCount 1 ;
sh:node :DcatResource_Shape ;
sh:path foaf:primaryTopic ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MUST_ have exactly 1 `dcterms:identifier` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:CatalogRecord` _MAY_ have a `skos:notation` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path skos:notation ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:anyURI ;
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have a maximum of 1 `dcterms:source` predicate where the value node is a literal with datatype `xsd:anyURI`." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:source ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:CatalogRecord` _MAY_ have a `dcterms:language` where the value node is an IRI." ;
sh:nodeKind sh:IRI ;
sh:path dcterms:language ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:CatalogRecord` _MAY_ have a `dcat:contactPoint` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path dcat:contactPoint ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have maximum 1 `dcterms:created` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:path dcterms:created ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:anyURI ;
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have maximum 1 `dcat:landingPage` predicate where the value node is a literal with the datatype `xsd:anyURI`." ;
sh:nodeKind sh:Literal ;
sh:path dcat:landingPage ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have a maximum of 1 predicate where the value node is a literal value." ;
sh:nodeKind sh:Literal ;
sh:path ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:CatalogRecord` _MAY_ have a `dcterms:description` where the value node is a literal value." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:class dcterms:Standard ;
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have a maximum of 1 `dcterms:conformsTo` predicate where the value node is an IRI of an individual with the type `dcterms:Standard`." ;
sh:path dcterms:conformsTo ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have maximum 1 `dcterms:modified` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:path dcterms:modified ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ,
[
sh:message "A `dcat:CatalogRecord` _MAY_ have a `dcterms:title` predicate where the value node is a literal value." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:CatalogRecord` _MAY_ have a maximum of 1 `dcterms:issued` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:path dcterms:issued ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:CatalogRecord ;
.
:Catalog_Shape
a sh:NodeShape ;
rdfs:label "Catalog"@en ;
sh:property
[
sh:message "A `dcat:Catalog` _MUST_ have at least 1 `dcterms:language` predicate where the value node is an IRI." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path dcterms:language ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MAY_ have a maximum of 1 `dcterms:license`." ;
sh:path dcterms:license ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MAY_ have a maximum of 1 `dcterms:issued` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:path dcterms:issued ;
sh:severity sh:Violation
] ,
[
sh:class dcat:Catalog ;
sh:message "A `dcat:Catalog` _MAY_ have a `dcterms:hasPart` predicate where the value node is a `dcat:Catalog`." ;
sh:path dcterms:hasPart ;
sh:severity sh:Violation
] ,
[
sh:path dcterms:isPartOf ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MAY_ have a maximum 1 `dcterms:modified` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:path dcterms:modified ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ,
[
sh:class dcat:CatalogRecord ;
sh:message "A `dcat:Catalog` _MAY_ have a `dcat:record` predicate where the value node is a `dcat:CatalogRecord`." ;
sh:path dcat:record ;
sh:severity sh:Violation
] ,
[
sh:path dcat:catalog ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Catalog` _MAY_ have a `dcat:dataset` predicate where the value node is a `dcat:Dataset` or `dcat:DatasetSeries`." ;
sh:or (
[
sh:class dcat:Dataset
]
[
sh:class dcat:DatasetSeries
]
) ;
sh:path dcat:dataset ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Catalog` _MAY_ have a `dcterms:description` where the value node is literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MUST_ have exactly 1 `dcterms:publisher`." ;
sh:minCount 1 ;
sh:path dcterms:publisher ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Catalog` _MAY_ have a `skos:notation` where the value is a literal." ;
sh:nodeKind sh:Literal ;
sh:path skos:notation ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Catalog` _MUST_ have at least 1 `dcterms:title` where the value node is literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MUST_ have exactly 1 `dcterms:identifier` where the value node is an IRI or literal." ;
sh:minCount 1 ;
sh:or (
[
sh:nodeKind sh:Literal ;
sh:severity sh:Violation
]
[
sh:nodeKind sh:IRI ;
sh:severity sh:Violation
]
) ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:anyURI ;
sh:maxCount 1 ;
sh:message "A `dcat:Catalog` _MAY_ have a maximum of 1 `foaf:homepage` where the value node is a literal with the datatype `xsd:anyURI`." ;
sh:nodeKind sh:Literal ;
sh:path foaf:homepage ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:Catalog ;
.
:ConceptScheme_Shape
a sh:NodeShape ;
rdfs:label "Concept Scheme"@en ;
sh:property
[
sh:datatype xsd:anyURI ;
sh:message "A `skos:ConceptScheme` _MAY_ have a `dcterms:source` predicate where the value node is a literal with datatype `xsd:anyURI`." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:source ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `skos:ConceptScheme` _MUST_ have exactly 1 `dcterms:title` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ;
sh:targetClass skos:ConceptScheme ;
.
:Concept_Shape
a sh:NodeShape ;
rdfs:label "Concept"@en ;
sh:property
[
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path skos:prefLabel ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:nodeKind sh:IRI ;
sh:path skos:inScheme ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `skos:Concept` _MUST_ have exactly 1 `skos:prefLabel` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path skos:prefLabel ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `skos:Concept` _MAY_ have maximum 1 `tern:unit` predicate where the value node is a `sh:IRI." ;
sh:nodeKind sh:IRI ;
sh:path tern:unit ;
sh:severity sh:Violation
] ,
[
sh:class skos:ConceptScheme ;
sh:maxCount 1 ;
sh:message "A `skos:Concept` _MAY_ have maximum 1 `skos:inScheme` predicate where the value node is a `skos:ConceptScheme`." ;
sh:path skos:inScheme ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:anyURI ;
sh:message "A `skos:Concept` _MAY_ have a `dcterms:source` where the value node is a literal with the datatype `xsd:anyURI`." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:source ;
sh:severity sh:Violation
] ;
sh:targetClass skos:Concept ;
.
:ContextOfConcept_Shape
a sh:NodeShape ;
rdfs:label "Context of Concept"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `ContextOfConcept` _MAY_ have maximum 1 `tern:unit` predicate where the value node is `sh:IRI`." ;
sh:nodeKind sh:IRI ;
sh:path tern:unit ;
sh:severity sh:Violation
] ,
[
sh:class skos:Concept ;
sh:maxCount 1 ;
sh:message "A `ContextOfConcept` _MUST_ have exactly 1 `urnp:property:concept` where the value node is a `skos:Concept`." ;
sh:minCount 1 ;
sh:path ;
sh:severity sh:Violation
] ;
sh:targetClass ;
.
:DataQuality_Shape
a sh:NodeShape ;
rdfs:label "Data Quality"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `tern:DataQuality` _MAY_ have maximum 1 `tern:DQ_descriptiveResult` where the value is a literal." ;
sh:nodeKind sh:Literal ;
sh:path tern:DQ_descriptiveResult ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:DataQuality` _MAY_ have maximum 1 `tern:DQ_scopeDescription` where the value is a literal." ;
sh:nodeKind sh:Literal ;
sh:path tern:DQ_scopeDescription ;
sh:severity sh:Violation
] ,
[
sh:class tern:OnlineResource ;
sh:maxCount 1 ;
sh:message "A `tern:DataQuality` _MAY_ have maximum 1 `tern:DQ_standaloneQualityReport` predicate where the value node is a `tern:OnlineResource`." ;
sh:path tern:DQ_standaloneQualityReport ;
sh:severity sh:Violation
] ,
[
sh:class skos:Concept ;
sh:maxCount 1 ;
sh:message "A `tern:DataQuality` _MUST_ have exactly 1 `tern:DQ_scope` where the value node is a `skos:Concept`." ;
sh:minCount 1 ;
sh:path tern:DQ_scope ;
sh:severity sh:Violation
] ;
sh:targetClass tern:DataQuality ;
.
:DataService_Shape
a sh:NodeShape ;
rdfs:label "Data Service"@en ;
sh:property
[
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:IRI ;
sh:path dcatap:applicableLegislation ;
sh:severity sh:Violation
] ,
[
sh:minCount 1 ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcat:endpointURL ;
sh:severity sh:Violation
] ,
[
sh:path dcat:servesDataset ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcat:endpointDescription ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:path dcterms:license ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:path dcterms:accessRights ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:DataService ;
.
:DatasetSeries_Shape
a sh:NodeShape ;
rdfs:label "Dataset Series"@en ;
sh:property
[
sh:nodeKind sh:IRI ;
sh:path dcatap:applicableLegislation ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcterms:spatial ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcterms:accrualPeriodicity ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:DatasetSeries` _MAY_ have a `dcterms:title` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:DatasetSeries` _MAY_ have a `dcterms:description` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:nodeKind sh:Literal ;
sh:path dcterms:issued ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:nodeKind sh:Literal ;
sh:path dcterms:modified ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcterms:publisher ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcat:contactPoint ;
sh:severity sh:Violation
] ,
[
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path dcterms:temporal ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:DatasetSeries ;
.
:Dataset_Shape
a sh:NodeShape ;
rdfs:label "Dataset"@en ;
sh:property
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:collaborator` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:collaborator ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:funder` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:funder ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:editor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:editor ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:producer` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:producer ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:resourceProvider` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:resourceProvider ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:custodian` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:custodian ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:owner` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:owner ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:user` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:user ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:distributor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:distributor ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:originator` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:originator ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:principalInvestigator` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:principalInvestigator ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:processor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:processor ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:sponsor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:sponsor ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:mediator` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:mediator ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `dcterms:rightsHolder` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path dcterms:rightsHolder ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:contributor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:contributor ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:stakeholder` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path tern:stakeholder ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `dcterms:publisher` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path dcterms:publisher ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `tern:purpose` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path tern:purpose ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MUST_ have at least 1 `dcterms:title` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MUST_ have exactly 1 `dcterms:identifier` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `dcat:contactPoint` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path dcat:contactPoint ;
sh:severity sh:Violation
] ,
[
sh:class dcat:Distribution ;
sh:message "A `dcat:Dataset` _MAY_ have a `dcat:distribution` where the value node is `dcat:Distribution`." ;
sh:path dcat:distribution ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `dcat:keyword` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcat:keyword ;
sh:severity sh:Violation
] ,
[
sh:class tern:DataQuality ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `tern:dataQuality` where the value node is a `tern:DataQuality`." ;
sh:path tern:dataQuality ;
sh:severity sh:Violation
] ,
[
sh:class dcat:DatasetSeries ;
sh:message "A `dcat:Dataset` _MAY_ have a `dcat:inSeries` where the value node is a `dcat:DatasetSeries`." ;
sh:path dcat:inSeries ;
sh:severity sh:Violation
] ,
[
sh:or (
[
sh:class skos:Concept
]
[
sh:class
]
) ;
sh:message "A `dcat:Dataset` _MAY_ have a `dcat:theme` where the value is a `skos:Concept`." ;
sh:path dcat:theme ;
sh:severity sh:Violation
] ,
[
sh:class skos:Concept ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `tern:securityConstraints` where the value is `skos:Concept`." ;
sh:path tern:securityConstraints ;
sh:severity sh:Violation
] ,
[
sh:class dqv:QualityMeasurement ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `dqv:hasQualityMeasurement` where the value is `dqv:QualityMeasurement`." ;
sh:path dqv:hasQualityMeasurement ;
sh:severity sh:Violation
] ,
[
sh:class skos:Concept ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `dcterms:accrualPeriodicity` where the value is `skos:Concept`." ;
sh:path dcterms:accrualPeriodicity ;
sh:severity sh:Violation
] ,
[
sh:class tern:Method ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `sosa:usedProcedure` where the value is `tern:Method`." ;
sh:path sosa:usedProcedure ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `dcterms:created` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:path dcterms:created ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `dcat:version` predicate where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcat:version ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MUST_ have maximum 1 `adms:status` predicate where the value node is `sh:IRI`." ;
sh:nodeKind sh:IRI ;
sh:path adms:status ;
sh:severity sh:Violation
] ,
[
sh:class dcterms:LicenseDocument ;
sh:message "A `dcat:Dataset` _MAY_ have a `dcterms:license` predicate where the value node is `dcterms:LicenseDocument`." ;
sh:path dcterms:license ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `tern:resourceSpecificUsage` predicate where the value node is a literal with datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path tern:resourceSpecificUsage ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `tern:environmentDescription` predicate where the value node is a literal with datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path tern:environmentDescription ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `tern:supplementalInformation` predicate where the value node is a literal with datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path tern:supplementalInformation ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:message "A `dcat:Dataset` _MAY_ have a `tern:otherCitationDetails` predicate where the value node is a literal with datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path tern:otherCitationDetails ;
sh:severity sh:Violation
] ,
[
sh:class dcterms:RightsStatement ;
sh:message "A `dcat:Dataset` _MAY_ have a `tern:otherConstraints` predicate where the value node is `dcterms:RightsStatement`." ;
sh:path tern:otherConstraints ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MUST_ have at least 1 `schema:abstract` predicate where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path schema:abstract ;
sh:severity sh:Violation
] ,
[
sh:class tern:Extent ;
sh:message "A `dcat:Dataset` _MAY_ have a `tern:hasExtent` predicate where the value node is a `tern:Extent`." ;
sh:path tern:hasExtent ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:message "A `dcat:Dataset` _MAY_ have a `schema:creditText` predicate where the value node is a literal with datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:creditText ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Dataset` _MAY_ have a `dcterms:subject` predicate where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:subject ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MUST_ have maximum 1 `dcterms:conformsTo` predicate where the value node is `sh:IRI`." ;
sh:nodeKind sh:IRI ;
sh:path dcterms:conformsTo ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have a maximum of 1 `dcterms:issued` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:path dcterms:issued ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `dcterms:modified` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:path dcterms:modified ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ,
[
sh:path dcterms:provenance ;
sh:severity sh:Violation
] ,
[
sh:class tern:OnlineResource ;
sh:message "A `dcat:Dataset` _MAY_ have a `tern:addtionalDocumentation` predicate where the value node is `tern:OnlineResource`." ;
sh:path tern:addtionalDocumentation ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcat:Dataset` _MAY_ have maximum 1 `adms:identifier` predicate where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path adms:identifier ;
sh:severity sh:Violation
] ,
[
sh:class rdf:Seq ;
sh:message "A `dcat:Dataset` _MAY_ have a `dcterms:creator` where the value node is a `rdf:Seq`." ;
sh:path dcterms:creator ;
sh:severity sh:Violation
] ,
[
sh:class rdf:Seq ;
sh:message "A `dcat:Dataset` _MAY_ have a `tern:coAuthor` where the value node is a `rdf:Seq`." ;
sh:path tern:coAuthor ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:Dataset ;
.
:Distribution_Shape
a sh:NodeShape ;
rdfs:label "Distribution"@en ;
sh:property
[
sh:class tern:OnlineResource ;
sh:maxCount 1 ;
sh:message "A `dcat:Distribution` _MUST_ have exactly 1 `dcat:accessURL` predicate where the value node is `tern:OnlineResource`." ;
sh:minCount 1 ;
sh:path dcat:accessURL ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcat:Distribution` _MUST_ have at least 1 `tern:distributor` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:minCount 1 ;
sh:node :PersonOrg_Shape ;
sh:path tern:distributor ;
sh:severity sh:Violation
] ;
sh:targetClass dcat:Distribution ;
.
:Extent_Shape
a sh:NodeShape ;
rdfs:label "Extent"@en ;
sh:property
[
sh:class dcterms:PeriodOfTime ;
sh:maxCount 1 ;
sh:message "A `tern:Extent` _MAY_ have maximum of 1 `dcterms:temporal` predicate where the value node is a `dcterms:PeriodOfTime`." ;
sh:path dcterms:temporal ;
sh:severity sh:Violation
] ,
[
sh:class geo:Geometry ;
sh:message "A `tern:Extent` _MAY_ have 1 `geo:hasGeometry` predicate where the value node is a `geo:Geometry`." ;
sh:path geo:hasGeometry ;
sh:severity sh:Violation
] ,
[
sh:class tern:VerticalExtent ;
sh:maxCount 1 ;
sh:message "A `tern:Extent` _MAY_ have maximum 1 `tern:verticalExtent` predicate where the value node is a `tern:VerticalExtent`." ;
sh:path tern:verticalExtent ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `tern:Extent` _MAY_ have maximum 1 `tern:locationDescription` predicate where the value has datatype `xsd:string`." ;
sh:path tern:locationDescription ;
sh:severity sh:Violation
] ;
sh:targetClass tern:Extent ;
.
:Geometry_Shape
a sh:NodeShape ;
rdfs:label "Geometry"@en ;
sh:property [
sh:datatype geo:wktLiteral ;
sh:maxCount 1 ;
sh:message "A `geo:Geometry` _MUST_ have exactly 1 `geo:asWKT` where the value node is a literal with the datatype `geo:wktLiteral`." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path geo:asWKT ;
sh:severity sh:Violation
] ;
sh:targetClass geo:Geometry ;
.
:LicenseDocument_Shape
a sh:NodeShape ;
rdfs:label "License Document"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `dcterms:LicenseDocument` _MUST_ have exactly 1 `dcterms:type` where the value node is an IRI." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path dcterms:type ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:LicenseDocument` _MUST_ have exactly 1 `dcterms:title` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:message "A `dcterms:LicenseDocument` _MAY_ have a `dcterms:description` predicate where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:LicenseDocument` _MUST_ have exactly 1 `dcterms:identifier` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ;
sh:targetClass dcterms:LicenseDocument ;
.
:Method_Shape
a sh:NodeShape ;
rdfs:label "Method"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `tern:Method` _MUST_ have exactly 1 `tern:scope` where the value node is a `sh:IRI`." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path tern:scope ;
sh:severity sh:Violation
] ,
[
sh:class rdf:Seq ;
sh:maxCount 1 ;
sh:message "A `tern:Method` _MAY_ have a maximum of 1 `tern:instructions` predicate where the value node is `rdf:Seq`." ;
sh:path tern:instructions ;
sh:severity sh:Violation
] ,
[
sh:class tern:OnlineResource ;
sh:message "A `tern:Method` _MAY_ have a `tern:additionalDocumentation` where the value node is `tern:OnlineResource`." ;
sh:path tern:additionalDocumentation ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:Method` _MAY_ have maximum 1 `dcterms:description` where the value is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ;
sh:targetClass tern:Method ;
.
:OnlineResource_Shape
a sh:NodeShape ;
rdfs:label "Online Resource"@en ;
sh:property
[
sh:datatype xsd:anyURI ;
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource`_MUST_ have exactly 1 `rdf:value` where the value node is a literal with datatype `xsd:anyURI`." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path rdf:value ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource` _MAY_ have a maximum of 1 `dcterms:description` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:description ;
sh:severity sh:Violation
] ,
[
sh:class dcterms:Standard ;
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource` _MAY_ have maximum 1 `dcterms:conformsTo` predicate where the value node is `dcterms:Standard`." ;
sh:path dcterms:conformsTo ;
sh:severity sh:Violation
] ,
[
sh:class skos:Concept ;
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource` _MAY_ have maximum 1 `dcterms:type` predicate where the value node is `skos:Concept`." ;
sh:path dcterms:type ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource` _MUST_ have exactly 1 `dcterms:title` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:OnlineResource` _MAY_ have a maximum of 1 `dcterms:format` where the value is a literal." ;
sh:path dcterms:format ;
sh:severity sh:Violation
] ;
sh:targetClass tern:OnlineResource ;
.
:Organization_Shape
a sh:NodeShape ;
rdfs:label "Organization"@en ;
sh:property
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MUST_ have exactly 1 `schema:name` where the value node is a literal with the datatype `xsd:string`." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path schema:name ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MUST_ have exactly 1 `dcterms:identifier` where the value node is an IRI or literal." ;
sh:minCount 1 ;
sh:or (
[
sh:nodeKind sh:Literal ;
sh:severity sh:Violation
]
[
sh:nodeKind sh:IRI ;
sh:severity sh:Violation
]
) ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have maximum 1 `schema:email` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:email ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have maximum 1 `schema:telephone` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:telephone ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have a maximum of 1 `schema:addressCountry` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressCountry ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have a maximum of 1 `schema:addressLocality` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressLocality ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have a maximum of 1 `schema:addressRegion` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressRegion ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have a maximum of 1 `schema:postalCode` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:postalCode ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Organization` _MAY_ have a maximum of 1 `schema:streetAddress` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:streetAddress ;
sh:severity sh:Violation
] ;
sh:targetClass schema:Organization ;
.
:PeriodOfTime_Shape
a sh:NodeShape ;
rdfs:label "PeriodOfTime"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `dcterms:PeriodOfTime` _MAY_ have a maximum of 1 `dcat:endDate` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:nodeKind sh:Literal ;
sh:path dcat:endDate ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ,
[
sh:maxCount 1 ;
sh:path time:hasBeginning ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:path time:hasEnd ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:PeriodOfTime` _MAY_ have a maximum of 1 `dcat:startDate` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:nodeKind sh:Literal ;
sh:path dcat:startDate ;
sh:severity sh:Violation ;
sh:shape :DateOrDateTimeDataType_Shape
] ;
sh:targetClass dcterms:PeriodOfTime ;
.
:Person_Shape
a sh:NodeShape ;
rdfs:label "Person"@en ;
sh:property
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MUST_ have exactly 1 `schema:name` where the value node is a literal with the datatype `xsd:string`." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path schema:name ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have a maximum of 1 `schema:addressCountry` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressCountry ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have a maximum of 1 `schema:addressLocality` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressLocality ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have a maximum of 1 `schema:addressRegion` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:addressRegion ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have a maximum of 1 `schema:postalCode` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:postalCode ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have a maximum of 1 `schema:streetAddress` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:streetAddress ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `schema:Person` _MUST_ have exactly 1 `dcterms:identifier` where the value node is an IRI or literal." ;
sh:minCount 1 ;
sh:or (
[
sh:nodeKind sh:Literal ;
sh:severity sh:Violation
]
[
sh:nodeKind sh:IRI ;
sh:severity sh:Violation
]
) ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ,
[
sh:class schema:Organization ;
sh:message "A `schema:Person` _MAY_ have a `schema:affiliation` where the value node is a `schema:Organization`." ;
sh:path schema:affiliation ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have maximum 1 `schema:email` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:email ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "A `schema:Person` _MAY_ have maximum 1 `schema:telephone` where the value node is a literal with the datatype `xsd:string`." ;
sh:nodeKind sh:Literal ;
sh:path schema:telephone ;
sh:severity sh:Violation
] ;
sh:targetClass schema:Person ;
.
:QualityMeasurement_Shape
a sh:NodeShape ;
rdfs:label "Quality Measurement"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `dqv:QualityMeasurement` _MUST_ have exactly 1 `dqv:isMeasurementOf` where the value is `geodcat:spatialResolutionAsAngularDistance`, `geodcat:spatialResolutionAsDistance`, `geodcat:spatialResolutionAsScale`, or `geodcat:spatialResolutionAsVerticalDistance`." ;
sh:minCount 1 ;
sh:or (
[
sh:hasValue geodcat:spatialResolutionAsAngularDistance
]
[
sh:hasValue geodcat:spatialResolutionAsDistance
]
[
sh:hasValue geodcat:spatialResolutionAsScale
]
[
sh:hasValue geodcat:spatialResolutionAsVerticalDistance
]
) ;
sh:path dqv:isMeasurementOf ;
sh:severity sh:Violation
] ,
[
sh:datatype xsd:decimal ;
sh:maxCount 1 ;
sh:message "A `dqv:QualityMeasurement` _MUST_ have exactly 1 `dqv:value` predicate where the value node is a literal with datatype `xsd:decimal`." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dqv:value ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dqv:QualityMeasurement` _MUST_ have exactly 1 `tern:unit` predicate where the value node is a `sh:IRI`." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path tern:unit ;
sh:severity sh:Violation
] ;
sh:targetClass dqv:QualityMeasurement ;
.
:RightsStatement_Shape
a sh:NodeShape ;
rdfs:label "Rights Statement"@en ;
sh:property [
sh:maxCount 1 ;
sh:message "A `dcterms:RightsStatement` _MUST_ have exactly 1 `dcterms:title` predicate where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ;
sh:targetClass dcterms:RightsStatement ;
.
:Seq_Shape
a sh:NodeShape ;
rdfs:label "Seq"@en ;
sh:property [
sh:message "A `rdf:Seq` _MAY_ have an `rdf:_N` where the value node is a `schema:Person` or `schema:Organization`." ;
sh:node :PersonOrg_Shape ;
sh:path rdf:_ ;
sh:severity sh:Violation
] ;
sh:targetClass rdf:Seq ;
.
:Standard_Shape
a sh:NodeShape ;
rdfs:label "Standard"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `dcterms:Standard` _MAY_ have a maximum of 1 `dcterms:title` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path dcterms:title ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:Standard` _MAY_ have a maximum of 1 `owl:versionInfo` where the value node is a literal." ;
sh:nodeKind sh:Literal ;
sh:path owl:versionInfo ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:Standard` _MAY_ have a maximum of 1 `dcterms:issued` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ;
sh:node :DateOrDateTimeDataType_Shape ;
sh:path dcterms:issued ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `dcterms:Standard` _MUST_ have exactly 1 `dcterms:identifier` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path dcterms:identifier ;
sh:severity sh:Violation
] ;
sh:targetClass dcterms:Standard ;
.
:Unit_Shape
a sh:NodeShape ;
rdfs:label "QUDT Unit"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `qudt:Unit` _MUST_ have exactly 1 `rdfs:label` where the value node is a literal." ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:path rdfs:label ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `qudt:Unit` _MUST_ have exactly 1 `rdfs:isDefinedBy` where the value node is a `sh:IRI`." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path rdfs:isDefinedBy ;
sh:severity sh:Violation
] ;
sh:targetClass qudt:Unit ;
.
:VerticalExtent_Shape
a sh:NodeShape ;
rdfs:label "Vertical Extent"@en ;
sh:property
[
sh:maxCount 1 ;
sh:message "A `tern:VerticalExtent` _MUST_ have exactly 1 `tern:minAltitude` predicate where the value node is a literal with the datatype `xsd:integer`, `xsd:float`, `xsd:double` or `xsd:decimal`." ;
sh:minCount 1 ;
sh:node :NumericDataType_Shape ;
sh:nodeKind sh:Literal ;
sh:path tern:minAltitude ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:VerticalExtent` _MUST_ have exactly 1 `tern:maxAltitude` predicate where the value node is a literal with the datatype `xsd:integer`, `xsd:float`, `xsd:double` or `xsd:decimal`." ;
sh:minCount 1 ;
sh:node :NumericDataType_Shape ;
sh:nodeKind sh:Literal ;
sh:path tern:maxAltitude ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:VerticalExtent` _MUST_ have exactly 1 `tern:unit` predicate where the value node is `sh:IRI`." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path tern:unit ;
sh:severity sh:Violation
] ,
[
sh:maxCount 1 ;
sh:message "A `tern:VerticalExtent` _MUST_ have exactly 1 `dcterms:conformsTo` predicate where the value node is `sh:IRI`." ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path dcterms:conformsTo ;
sh:severity sh:Violation
] ;
sh:targetClass tern:VerticalExtent ;
.
:DcatResource_Shape
a sh:NodeShape ;
rdfs:label "dcat:Resource" ;
rdfs:comment "the union of Catalog, Dataset and DataService" ;
sh:message "The node is either a Catalog, Dataset or a DataService" ;
sh:or (
[
sh:class dcat:Catalog
]
[
sh:class dcat:Dataset
]
[
sh:class dcat:DataService
]
) ;
.
:NumericDataType_Shape
a sh:NodeShape ;
rdfs:label "Numeric datatype" ;
rdfs:comment "Numeric datatype shape checks that a datatype property receives a temporal value: integer, float, double or decimal literal" ;
sh:message "The values must be data typed as either xsd:integer, xsd:float, xsd:double or xsd:decimal" ;
sh:or (
[
sh:datatype xsd:integer
]
[
sh:datatype xsd:float
]
[
sh:datatype xsd:double
]
[
sh:datatype xsd:decimal
]
) ;
.
:DateOrDateTimeDataType_Shape
a sh:NodeShape ;
rdfs:label "Date time date disjunction" ;
rdfs:comment "Date time date disjunction shape checks that a datatype property receives a temporal value: date, dateTime, gYear or gYearMonth literal" ;
sh:message "The values must be data typed as either xsd:date, xsd:dateTime, xsd:gYear or xsd:gYearMonth" ;
sh:or (
[
sh:datatype xsd:date
]
[
sh:datatype xsd:dateTime
]
[
sh:datatype xsd:gYear
]
[
sh:datatype xsd:gYearMonth
]
) ;
.
:PersonOrg_Shape
a sh:NodeShape ;
rdfs:label "Person and Organization" ;
rdfs:comment "The union of Person and Organization" ;
sh:message "The node is either a Person or Organization" ;
sh:or (
[
sh:class schema:Person
]
[
sh:class schema:Organization
]
) ;
.