From 21395b417aa9f7ff36c8a8cde224ee97d8c29887 Mon Sep 17 00:00:00 2001 From: Kees Burger Date: Tue, 7 Jan 2025 10:56:24 +0100 Subject: [PATCH] feat: add v2 shape for distribution --- .../Example-Data/example-distribution.ttl | 3 +- .../Core/PiecesShape/Distribution.ttl | 267 ++++++++++++++---- 2 files changed, 220 insertions(+), 50 deletions(-) diff --git a/Formalisation(shacl)/Core/Example-Data/example-distribution.ttl b/Formalisation(shacl)/Core/Example-Data/example-distribution.ttl index 07a4f27..b719c9d 100644 --- a/Formalisation(shacl)/Core/Example-Data/example-distribution.ttl +++ b/Formalisation(shacl)/Core/Example-Data/example-distribution.ttl @@ -5,4 +5,5 @@ dct:title "Example Distribution" ; dct:description "This is an example distribution to test the shapes" ; dcat:accessURL ; - dcat:mediaType . + dcat:mediaType ; + dct:license . diff --git a/Formalisation(shacl)/Core/PiecesShape/Distribution.ttl b/Formalisation(shacl)/Core/PiecesShape/Distribution.ttl index e7704b4..195cf9f 100644 --- a/Formalisation(shacl)/Core/PiecesShape/Distribution.ttl +++ b/Formalisation(shacl)/Core/PiecesShape/Distribution.ttl @@ -1,49 +1,218 @@ -@prefix : . -@prefix dash: . -@prefix dcat: . -@prefix dct: . -@prefix sh: . -@prefix xsd: . - -:DistributionShape a sh:NodeShape ; - sh:targetClass dcat:Distribution ; - sh:property [ - sh:path dcat:accessURL ; - sh:nodeKind sh:IRI ; - sh:minCount 1 ; - dash:viewer dash:URIViewer ; - dash:editor dash:URIEditor ; - ], - [ - sh:path dcat:mediaType ; - sh:nodeKind sh:IRI ; - sh:minCount 1 ; - dash:editor dash:TextFieldEditor ; - dash:viewer dash:LiteralViewer ; - ] , - [ - sh:path dct:title ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:uniqueLang true ; - dash:viewer dash:LiteralViewer ; - dash:editor dash:TextFieldEditor ; - ] , - [ - sh:path dct:description ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:uniqueLang true ; - dash:viewer dash:LiteralViewer ; - dash:editor dash:TextFieldEditor ; - ] , - [ - sh:path dcat:accessService ; - sh:class dcat:DataService ; - ] , - [ - sh:path dcat:downloadURL ; - sh:nodeKind sh:IRI ; - dash:viewer dash:URIViewer ; - dash:editor dash:URIEditor ; - ] . +@prefix adms: . +@prefix dash: . +@prefix dc: . +@prefix dcat: . +@prefix dcatap: . +@prefix dct: . +@prefix euvoc: . +@prefix example: . +@prefix foaf: . +@prefix healthdcatap: . +@prefix hri: . +@prefix org: . +@prefix owl: . +@prefix prov: . +@prefix qb: . +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix shacl-play: . +@prefix skos: . +@prefix skosthes: . +@prefix skosxl: . +@prefix spdx: . +@prefix vcard: . +@prefix xsd: . + + a owl:Ontology; + dct:description "This Excel file shows how to edit simple SHACL shapes in an Excel file"@en; + dct:modified "2025-01-07T09:39:03.010Z"^^xsd:dateTime; + rdfs:comment "An example SHACL file in Excel"@en; + rdfs:label "Distribution"@en; + owl:versionInfo "0.1" . + +hri:DistributionShape a sh:NodeShape; + rdfs:label "Distribution"@en; + sh:nodeKind sh:IRI; + sh:order 1; + sh:property , + , , + , , + , , + , , + , , + , , + , , + , ; + sh:targetClass dcat:Distribution; + shacl-play:background-color "Green" . + + sh:class dcat:DataService; + sh:maxCount 1; + sh:name "access service"@en; + sh:path dcat:accessService . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:description "The resource at the access URL may contain information about how to get the Dataset."@en; + sh:maxCount 1; + sh:minCount 1; + sh:name "access url"@en; + sh:nodeKind sh:IRI; + sh:path dcat:accessURL . + + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:name "Applicable Legislation"@en; + sh:nodeKind sh:IRI; + sh:path dcatap:applicableLegislation . + + dash:editor dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:datatype xsd:nonNegativeInteger; + sh:maxCount 1; + sh:name "byte size"@en; + sh:nodeKind sh:Literal; + sh:path dcat:byteSize . + + dash:editor dash:BlankNodeEditor; + dash:viewer dash:DetailsViewer; + sh:description "The checksum is related to the downloadURL."@en; + sh:maxCount 1; + sh:name "checksum"@en; + sh:node spdx:Checksum; + sh:path spdx:checksum . + + dash:editor + dash:URIEditor; + dash:viewer dash:URIViewer; + sh:description "It SHOULD be expressed using a media type as defined in the official register of media types managed by IANA."@en; + sh:maxCount 1; + sh:name "compression format"@en; + sh:nodeKind sh:IRI; + sh:path dcat:compressFormat . + + dash:editor dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:description "This property can be repeated for parallel language versions of the description."@en; + sh:name "description"@en; + sh:nodeKind sh:Literal; + sh:path dct:description . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:name "documentation"@en; + sh:nodeKind sh:IRI; + sh:path foaf:page . + + dash:editor + dash:URIEditor; + dash:viewer dash:URIViewer; + sh:maxCount 1; + sh:name "download URL"@en; + sh:nodeKind sh:IRI; + sh:path dcat:downloadURL . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:maxCount 1; + sh:name "format"@en; + sh:nodeKind sh:IRI; + sh:path dct:format . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:description "This property can be repeated if the metadata is provided in multiple languages."@en; + sh:name "language"@en; + sh:nodeKind sh:IRI; + sh:path dct:language . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:maxCount 1; + sh:minCount 1; + sh:name "license"@en; + sh:nodeKind sh:IRI; + sh:path dct:license . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:name "linked schemas"@en; + sh:nodeKind sh:IRI; + sh:path dct:conformsTo . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:maxCount 1; + sh:name "media type"@en; + sh:nodeKind sh:IRI; + sh:path dcat:mediaType . + + dash:editor dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:datatype xsd:dateTime; + sh:maxCount 1; + sh:name "modification date"@en; + sh:path dct:modified . + + dash:editor + dash:URIEditor; + dash:viewer dash:URIViewer; + sh:description "It SHOULD be expressed using a media type as defined in the official register of media types managed by IANA."@en; + sh:maxCount 1; + sh:name "packaging format"@en; + sh:nodeKind sh:IRI; + sh:path dcat:packageFormat . + + dash:editor dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:datatype xsd:dateTime; + sh:description "The date the dataset distribution was issued."@en; + sh:maxCount 1; + sh:name "release date"@en; + sh:path dct:issued . + +hri:DistributionShape sh:property , + , , + , . + + + dash:editor dash:BlankNodeEditor; + dash:viewer dash:DetailsViewer; + sh:name "retention period"@en; + sh:node dct:PeriodOfTime; + sh:path healthdcatap:retentionperiod . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:description "A statement that concerns all rights not addressed in fields License or Rights, such as copyright statements. Everything that is not covered with licece"@en; + sh:maxCount 1; + sh:name "rights"@en; + sh:nodeKind sh:IRI; + sh:path dct:rights . + + dash:editor dash:URIEditor; + dash:viewer dash:URIViewer; + sh:class ; + sh:description "It MUST take one of the values Completed, Deprecated, Under Development, Withdrawn."@en; + sh:maxCount 1; + sh:name "status"@en; + sh:nodeKind sh:IRI; + sh:path adms:status . + + dash:editor + dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:datatype xsd:duration; + sh:maxCount 1; + sh:name "temporal resolution"@en; + sh:path dcat:temporalResolution . + + dash:editor dash:TextFieldEditor; + dash:viewer dash:LiteralViewer; + sh:description "This property can be repeated for parallel language versions of the description."@en; + sh:name "title"@en; + sh:nodeKind sh:Literal; + sh:path dct:title .