# baseURI: https://ekgf.github.io/dprod/shapes/ # imports: http://www.w3.org/ns/dcat# # imports: http://www.w3.org/ns/shacl# # imports: https://ekgf.github.io/dprod/ # prefix: dprod-shapes @base . @prefix dprod-shapes: . @prefix dprod: . @prefix dcat: . @prefix dct: . @prefix odrl: . @prefix owl: . @prefix prov: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix sdo: . dprod-shapes: a owl:Ontology ; dct:license ; dct:title "Shapes for the Data Product (DPROD) Ontology"@en ; rdfs:label "DPROD ontology shapes"@en ; dct:description "SHACL shapes for DPROD, including the DCAT classes and properties to be used."@en ; rdfs:comment "This is intended to be used with SHACL, not as an ontology: the ontology element is to provide the metadata for the set of shapes."@en ; dct:modified "2024-08-31"^^xsd:date ; dct:contributor ; dct:contributor ; dct:contributor ; dct:contributor ; dct:contributor ; dct:contributor ; owl:imports dcat: ; owl:imports sh: ; owl:imports dprod: ; owl:versionInfo "OMG Request For Comments Errata 2" ; sh:declare [ sh:prefix "dprod" ; sh:namespace "https://ekgf.github.io/dprod/" ; ] ; sh:declare [ sh:prefix "dprod-shapes" ; sh:namespace "https://ekgf.github.io/dprod/shapes/" ; ] ; sh:declare [ sh:prefix "dcat" ; sh:namespace "http://www.w3.org/ns/dcat#" ; ] ; . ############################# dprod Shapes ######################### dprod-shapes:DataProductShape a sh:NodeShape; dct:description "A rational, managed, and governed collection of data, with purpose, value and ownership, meeting consumer needs over a planned life-cycle."@en ; rdfs:comment "A data product may have input and output ports, code and metadata"@en ; rdfs:isDefinedBy dprod-shapes:; rdfs:label "data product shape" ; sh:targetClass dprod:DataProduct; sh:property dprod-shapes:DataProduct-label; sh:property dprod-shapes:DataProduct-description; sh:property dprod-shapes:DataProduct-dataProductOwner; sh:property dprod-shapes:DataProduct-domain; sh:property dprod-shapes:DataProduct-inputPort; sh:property dprod-shapes:DataProduct-outputPort; sh:property dprod-shapes:DataProduct-inputDataset; sh:property dprod-shapes:DataProduct-outputDataset; sh:property dprod-shapes:DataProduct-purpose; sh:property dprod-shapes:DataProduct-hasPolicy; sh:property dprod-shapes:DataProduct-lifecycleStatus; . dprod-shapes:DataServiceShape a sh:NodeShape ; rdfs:isDefinedBy dprod-shapes:; sh:targetClass dcat:DataService ; rdfs:label "data service shape" ; dct:description "A collection of operations that provides access to one or more datasets or data processing functions."@en ; sh:property dprod-shapes:DataService-isAccessServiceOf ; sh:property dprod-shapes:DataService-protocol ; sh:property dprod-shapes:DataService-securitySchemaType; sh:property dprod-shapes:DataService-endpointURL; sh:property dprod-shapes:DataService-endpointDescription ; . dprod-shapes:DistributionShape a sh:NodeShape ; rdfs:isDefinedBy dprod-shapes:; rdfs:label "distribution shape" ; dct:description "A specific representation of a dataset. A dataset might be available in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail or profiles (which might specify any or all of the above)."@en ; sh:targetClass dcat:Distribution ; sh:property dprod-shapes:Distribution-accessService ; sh:property dprod-shapes:Distribution-conformsTo ; sh:property dprod-shapes:Distribution-isDistributionOf ; sh:property dprod-shapes:Distribution-format; . dprod-shapes:DatasetShape a sh:NodeShape ; rdfs:isDefinedBy dprod-shapes:; rdfs:label "dataset shape" ; dct:description "A collection of data, published or curated by a single source, and available for access or download in one or more representations."@en ; sh:targetClass dcat:Dataset ; sh:property dprod-shapes:Dataset-label; sh:property dprod-shapes:Dataset-description; sh:property dprod-shapes:Dataset-type; sh:property dprod-shapes:Dataset-distribution ; sh:property dprod-shapes:Dataset-conformsTo ; sh:property dprod-shapes:Dataset-hasPolicy ; sh:property dcat:Dataset-informationSensitivityClassification; . dprod-shapes:InformationSensitivityClassificationShape a sh:NodeShape ; rdfs:label "information sensitivity classification shape" ; dct:description "A classification of the information within a dataset to indicate the level of control and protection that must be applied."@en ; rdfs:isDefinedBy dprod-shapes: ; sh:targetClass dprod:InformationSensitivityClassification; . dprod-shapes:DataProductLifecycleStatusShape a sh:NodeShape; rdfs:label "data product lifecycle status shape" ; dct:description "The development status of the data product taken from a controlled list (e.g. Ideation, Design, Build, Deploy, Consume)."@en ; sh:targetClass dprod:DataProductLifecycleStatus; rdfs:isDefinedBy dprod-shapes:; . dprod-shapes:ProtocolShape a sh:NodeShape; rdfs:label "protocol shape" ; dct:description "A detailed specification, possibly including a specific version, for how to communicate with a service."@en ; rdfs:isDefinedBy dprod-shapes:; sh:targetClass dprod:Protocol; . dprod-shapes:SecuritySchemaTypeShape a sh:NodeShape; rdfs:label "security schema type shape" ; dct:description "A classification encompassing a set of rules used for authentication and communication."@en ; rdfs:isDefinedBy dprod-shapes:; sh:targetClass dprod:SecuritySchemaType; . ############################# dprod Property Shapes ################ dprod-shapes:DataProduct-label a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path rdfs:label; sh:datatype xsd:string; dct:description "The name given to the data product."@en ; rdfs:label "data product label shape"; . dprod-shapes:DataProduct-description a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:description; sh:datatype xsd:string; dct:description "A free text description of the data product."@en ; rdfs:label "data product description shape"; . dprod-shapes:DataProduct-type a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:type; dct:description "The nature or genre of the data product."@en ; rdfs:label "data product description shape"; . dprod-shapes:DataProduct-dataProductOwner a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:dataProductOwner; sh:class prov:Agent; dct:description "The agent that is accountable overall for the data product, including managing it through its lifecycle."@en ; rdfs:label "data product owner shape"; . dprod-shapes:DataProduct-lifecycleStatus a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:lifecycleStatus; sh:class dprod:DataProductLifecycleStatus; dct:description "The development status of the data product. "@en ; rdfs:label "data product lifecycle status shape"; . dprod-shapes:DataProduct-domain a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:domain; dct:description "The business or information area supported by the data product."@en ; rdfs:comment "The target class is left open"@en; rdfs:label "data product domain shape"; . dprod-shapes:DataProduct-purpose a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:purpose; sh:datatype xsd:string; dct:description "A description of the objectives and intended usage of the data product."@en ; rdfs:label "data product purpose shape"; . dprod-shapes:DataProduct-hasPolicy a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path odrl:hasPolicy; sh:class odrl:Policy; dct:description "An ODRL conformant policy expressing the rights associated with the data product. This is an inferred relationship based on the rights expressed on the individual datasets of the data product."@en ; rdfs:label "data product has policy shape"; . dprod-shapes:DataProduct-inputPort a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:inputPort; sh:class dcat:DataService; dct:description "A set of services exposed by a data product to collect its source data and makes it available for further internal transformation. An input port can receive data from one or more upstream sources in a push (i.e. asynchronous subscription) or pop mode (i.e. synchronous query). Each data product may have one or more input ports."@en ; rdfs:label "data product input port shape"; . dprod-shapes:DataProduct-outputPort a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:outputPort; sh:class dcat:DataService; dct:description "A set of services exposed by a data product to share the generated data in a way that can be understood and trusted."@en ; rdfs:label "data product output port shape"; . dprod-shapes:DataProduct-inputDataset a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:inputDataset; sh:class dcat:Dataset ; dct:description "The source data made available to the data product through input data services. Depending on the lifecycle of the data product, this may be a stated or inferred relationship aligned with the input ports."@en ; rdfs:label "data product input dataset shape"; . dprod-shapes:DataProduct-outputDataset a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:outputDataset; sh:class dcat:Dataset; dct:description "The data that is exposed by the data product through output data services in a way that can be understood and trusted. Depending on the lifecycle of the data product, this may be a stated or inferred relationship aligned with the output ports."@en ; rdfs:label "data product output dataset shape"; . dprod-shapes:Dataset-label a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path rdfs:label; sh:datatype xsd:string ; dct:description "The name given to the dataset"@en ; rdfs:label "dataset label shape" ; . dprod-shapes:Dataset-description a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:description ; sh:datatype xsd:string ; dct:description "Free text description of the dataset."@en ; rdfs:label "dataset distribution shape"; . dprod-shapes:Dataset-type a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:type; dct:description "The type or genre of the dataset."@en ; rdfs:label "dataset type shape"; . dprod-shapes:Dataset-distribution a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dcat:distribution; sh:class dcat:Distribution; dct:description "An available distribution of the dataset."@en ; rdfs:label "dataset distribution shape"; . dprod-shapes:Dataset-conformsTo a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:conformsTo; dct:description "A model, schema, ontology, view or profile that the dataset conforms to."@en ; rdfs:label "dataset conforms to shape"; . dprod-shapes:Dataset-hasPolicy a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path odrl:hasPolicy; dct:description "An ODRL conformant policy expressing the rights associated with the resource."@en ; rdfs:label "dataset has policy shape"; . dcat:Dataset-informationSensitivityClassification a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:informationSensitivityClassification; sh:class dprod:InformationSensitivityClassification; dct:description "More granular classification that indicates the level of control and protection that must be applied to the asset due to the nature of the data and its sensitivity or importance to the organization."@en ; rdfs:label "dataset information sensitivity classification shape"; . dprod-shapes:Distribution-accessService a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dcat:accessService; sh:class dcat:DataService; dct:description "A data service that gives access to the distribution of the dataset."@en ; rdfs:label "distribution access service shape" ; . dprod-shapes:Distribution-isDistributionOf a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:isDistributionOf; sh:class dcat:Dataset; dct:description "The dataset that this distribution makes available."@en ; rdfs:label "distribution is distribution of shape" ; . dprod-shapes:Distribution-conformsTo a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:conformsTo; dct:description "The schema that the distribution conforms to that is format and technology dependent."@en ; rdfs:label "distribution conforms to shape"; . dprod-shapes:Distribution-format a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dct:format; dct:description "The file format of the distribution."@en ; rdfs:label "distribution format shape"; . dprod-shapes:DataService-isAccessServiceOf a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:isAccessServiceOf; sh:class dcat:Distribution; dct:description "The dataset distribution that is being offered through this data service."@en ; rdfs:label "data service is access service of shape" ; . dprod-shapes:DataService-protocol a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:protocol; sh:class dcat:Protocol; dct:description "A protocol (possibly one of many options) used to communicate with this data service."@en ; rdfs:label "data service protocol shape" ; . dprod-shapes:DataService-securitySchemaType a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dprod:securitySchemaType; sh:class dcat:SecuritySchemaType; dct:description "The security schema type used for authentication and communication with this Data Service."@en ; rdfs:label "data service security schema type shape" ; . dprod-shapes:DataService-endpointURL a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dcat:endpointURL; dct:description "The root location or primary endpoint of the service."@en ; rdfs:label "data service endpoint URL shape" ; . dprod-shapes:DataService-endpointDescription a sh:PropertyShape; rdfs:isDefinedBy dprod-shapes:; sh:path dcat:endpointDescription; dct:description "A description of the services available via the end-points, including their operations, parameters etc."@en ; rdfs:label "data service endpoint description shape"; .