From 692dc67c7ac9140f555ff755e108fe12574f40a1 Mon Sep 17 00:00:00 2001 From: Junrong Yu Date: Tue, 7 Jan 2025 12:48:18 +1000 Subject: [PATCH] Updated DCAT shapes to handle legacy records --- docs/dcat-shapes.ttl | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/docs/dcat-shapes.ttl b/docs/dcat-shapes.ttl index 5282e54..99c896b 100644 --- a/docs/dcat-shapes.ttl +++ b/docs/dcat-shapes.ttl @@ -37,8 +37,7 @@ PREFIX xsd: ] , [ sh:maxCount 1 ; - sh:message "A `dcat:CatalogRecord` _MUST_ have exactly 1 `dcterms:created` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ; - sh:minCount 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 @@ -80,8 +79,7 @@ PREFIX xsd: ] , [ sh:maxCount 1 ; - sh:message "A `dcat:CatalogRecord` _MUST_ have exactly 1 `dcterms:modified` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ; - sh:minCount 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 @@ -131,8 +129,7 @@ PREFIX xsd: sh:severity sh:Violation ] , [ - sh:message "A `dcat:CatalogRecord` _MUST_ have at least 1 `dcat:contactPoint` where the value node is a `schema:Person` or `schema:Organization`." ; - sh:minCount 1 ; + 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 @@ -630,16 +627,14 @@ PREFIX xsd: ] , [ sh:maxCount 1 ; - sh:message "A `dcat:Dataset` _MUST_ have exactly 1 `dcterms:created` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ; - sh:minCount 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` _MUST_ have exactly 1 `dcat:version` predicate where the value node is a literal." ; - sh:minCount 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 @@ -697,8 +692,7 @@ PREFIX xsd: ] , [ sh:class tern:Extent ; - sh:message "A `dcat:Dataset` _MUST_ have at least 1 `tern:hasExtent` predicate where the value node is a `tern:Extent`." ; - sh:minCount 1 ; + 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 ] , @@ -753,8 +747,7 @@ PREFIX xsd: ] , [ sh:maxCount 1 ; - sh:message "A `dcat:Dataset` _MUST_ have exactly 1 `dcterms:modified` predicate where the value node is a literal with the datatype `xsd:date`, `xsd:dateTime`, `xsd:gYear` or `xsd:gYearMonth`." ; - sh:minCount 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 @@ -945,8 +938,7 @@ PREFIX xsd: sh:severity sh:Violation ] , [ - sh:message "A `dcat:Dataset` _MUST_ have at least 1 `dcterms:publisher` where the value node is a `schema:Person` or `schema:Organization`." ; - sh:minCount 1 ; + 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 @@ -974,8 +966,7 @@ PREFIX xsd: sh:severity sh:Violation ] , [ - sh:message "A `dcat:Dataset` _MUST_ have at least 1 `dcat:contactPoint` where the value node is a `schema:Person` or `schema:Organization`." ; - sh:minCount 1 ; + 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