EKGF Documentation Preview

The Data Product (DPROD) Ontology

EKGF Documentation Preview

PDF

Abstract§

DPROD extends DCAT to enable publishers to describe Data Products and data services in a decentralized way. This documentation preview presents the native DPROD ontology, its SHACL shapes, and the dataset-schema example from this repository as an HTML reference, a companion guide and a PDF.

Status of This Document§

This is a generated documentation preview, not an approved OMG standards release or a replacement for the official DPROD specification. Definitions and shape statements come from the source RDF. The publication date is read from the ontology's dct:issued annotation; rebuilding documentation does not change that source annotation.

The repository's develop branch is the source for this preview. Each build pins one concrete Git commit and records source paths, blob identities and commit provenance in its documentation knowledge graph. External ontology imports are retained as RDF assertions; this preview does not download or reason over them.

DPROD source material is Copyright (c) 2024–2026 Enterprise Knowledge Graph Forum, EDM Council, Inc., and is distributed under Creative Commons Attribution 4.0.

1. DPROD Ontology§

1.1 DPROD Ontology§

Repository for the Data Products Ontology (DPROD), a proposed OMG standard, originally created by the EKGF Data Product Workgroup. The proposal is currently under industry review until December 2024, and until that time the main branch is locked. Any changes will occur on the develop branch so pull requests should be targeted at that.

The specification is generated by a Python module called spec-generator using the W3C Respec template (a fork of it) and published here: https://ekgf.org/dprod

1.1.1 Contributor Licence Agreement (CLA)§

We're using the CLA assistant service to collect CLA signatures of all contributors.

CLA assistant

2. OWL classes§

2.1 dprod:DataProduct§

Label: data product

A rational, managed, and governed collection of data, with purpose, value and ownership, meeting consumer needs over a planned life-cycle.

IRI: https://ekgf.org/dprod/spec/develop/DataProduct

Note: A data product may have input and output ports, code and metadata

RDF predicateValue
rdf:typerdfs:Class
rdf:typeowl:Class
rdfs:isDefinedBydprod:
rdfs:subClassOfdcat:Resource

2.2 dprod:Enumeration§

Label: enumeration

The superclass of enumeration lists referenced from data product related artifacts.

IRI: https://ekgf.org/dprod/spec/develop/Enumeration

RDF predicateValue
rdf:typerdfs:Class
rdf:typeowl:Class
rdfs:isDefinedBydprod:

2.3 dprod:InformationSensitivityClassification§

Label: information sensitivity classification

A classification of the information within a dataset to indicate the level of control and protection that must be applied.

IRI: https://ekgf.org/dprod/spec/develop/InformationSensitivityClassification

RDF predicateValue
rdf:typerdfs:Class
rdf:typeowl:Class
rdfs:isDefinedBydprod:
rdfs:seeAlsohttps://spec.edmcouncil.org/cdmc/ontology/Classification/InformationSensitivity

2.4 dprod:SecuritySchemaType§

Label: security schema type

A classification encompassing a set of rules used for authentication and communication.

IRI: https://ekgf.org/dprod/spec/develop/SecuritySchemaType

RDF predicateValue
rdf:typerdfs:Class
rdf:typeowl:Class
rdfs:isDefinedBydprod:

3. Object properties§

3.1 dprod:dataProductLifecycleStatus§

Label: data product lifecycle status

The authored development lifecycle status of a data product.

IRI: https://ekgf.org/dprod/spec/develop/dataProductLifecycleStatus

Note: Values are SKOS concepts. DPROD supplies dprod:DataProductLifecycleStatus as an optional reference concept scheme; enterprises may use another scheme.

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangeskos:Concept
rdfs:subPropertyOfdprod:lifecycleStatus

3.2 dprod:dataProductOwner§

Label: data product owner

The agent that is accountable overall for the data product, including managing it through its lifecycle.

IRI: https://ekgf.org/dprod/spec/develop/dataProductOwner

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangeprov:Agent

3.3 dprod:domain§

Label: domain

The business or information area supported by the data product.

IRI: https://ekgf.org/dprod/spec/develop/domain

Note: The domain is intended to be a resource in its own right. This specification does not constrain the class to be used.

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:

3.4 dprod:informationSensitivityClassification§

Label: information sensitivity classification

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.

IRI: https://ekgf.org/dprod/spec/develop/informationSensitivityClassification

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindcat:Dataset
rdfs:isDefinedBydprod:
rdfs:rangedprod:InformationSensitivityClassification

3.5 dprod:inputDataset§

Label: input dataset

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.

IRI: https://ekgf.org/dprod/spec/develop/inputDataset

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangedcat:Dataset

3.6 dprod:inputPort§

Label: input port

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.

IRI: https://ekgf.org/dprod/spec/develop/inputPort

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangedcat:DataService

3.7 dprod:isAccessServiceOf§

Label: is access service of

The dataset distribution that is being offered through this data service.

IRI: https://ekgf.org/dprod/spec/develop/isAccessServiceOf

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindcat:DataService
rdfs:isDefinedBydprod:
rdfs:rangedcat:Distribution
owl:inverseOfdcat:accessService

3.8 dprod:isDistributionOf§

Label: is distribution of

The dataset that this distribution makes available.

IRI: https://ekgf.org/dprod/spec/develop/isDistributionOf

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindcat:Distribution
rdfs:isDefinedBydprod:
owl:inverseOfdcat:distribution

3.9 dprod:lifecycleStatus§

Label: lifecycle status

The authored position of a DPROD resource in its lifecycle.

IRI: https://ekgf.org/dprod/spec/develop/lifecycleStatus

Note: Abstract super-property for authored lifecycle statuses. Concrete sub-properties define their resource-specific domains; values come from an open SKOS taxonomy.

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:isDefinedBydprod:
rdfs:rangeskos:Concept

3.10 dprod:outputDataset§

Label: output dataset

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.

IRI: https://ekgf.org/dprod/spec/develop/outputDataset

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangedcat:Dataset

3.11 dprod:outputPort§

Label: output port

A set of services exposed by a data product to share the generated data in a way that can be understood and trusted.

IRI: https://ekgf.org/dprod/spec/develop/outputPort

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangedcat:DataService

3.12 dprod:protocol§

Label: protocol

A protocol (possibly one of many options) used to communicate with this data service.

IRI: https://ekgf.org/dprod/spec/develop/protocol

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindcat:DataService
rdfs:isDefinedBydprod:

3.13 dprod:securitySchemaType§

Label: security schema type

The security schema type used for authentication and communication with this Data Service.

IRI: https://ekgf.org/dprod/spec/develop/securitySchemaType

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:ObjectProperty
rdfs:domaindcat:DataService
rdfs:isDefinedBydprod:

4. Datatype properties§

4.1 dprod:purpose§

Label: purpose

A description of the objectives and intended usage of the data product.

IRI: https://ekgf.org/dprod/spec/develop/purpose

RDF predicateValue
rdf:typerdf:Property
rdf:typeowl:DatatypeProperty
rdfs:domaindprod:DataProduct
rdfs:isDefinedBydprod:
rdfs:rangexsd:string

5. Concept schemes§

5.1 dprod:DataProductLifecycleStatus§

Label: data product lifecycle status

An optional reference taxonomy for data product lifecycle statuses. Enterprises may use, extend, or replace this scheme with their own skos:ConceptScheme.

IRI: https://ekgf.org/dprod/spec/develop/DataProductLifecycleStatus

Note: DPROD does not prescribe a closed set of data product lifecycle statuses.

RDF predicateValue
dct:titleDPROD Data Product Lifecycle Status (@en)
rdf:typeskos:ConceptScheme
rdfs:isDefinedBydprod:
rdfs:seeAlsohttps://edmcouncil.org/wp-content/uploads/2024/03/EDMWebinar_DPSIG_04-30-Presentation.pdf#page=7

6. SHACL node shapes§

6.1 dprod:shapes/DataProductShape§

Label: data product shape

A rational, managed, and governed collection of data, with purpose, value and ownership, meeting consumer needs over a planned life-cycle.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProductShape

Note: A data product may have input and output ports, code and metadata

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:propertydprod:shapes/DataProduct-dataProductLifecycleStatus
sh:propertydprod:shapes/DataProduct-dataProductOwner
sh:propertydprod:shapes/DataProduct-description
sh:propertydprod:shapes/DataProduct-domain
sh:propertydprod:shapes/DataProduct-hasPolicy
sh:propertydprod:shapes/DataProduct-inputDataset
sh:propertydprod:shapes/DataProduct-inputPort
sh:propertydprod:shapes/DataProduct-label
sh:propertydprod:shapes/DataProduct-outputDataset
sh:propertydprod:shapes/DataProduct-outputPort
sh:propertydprod:shapes/DataProduct-purpose
sh:targetClassdprod:DataProduct

6.2 dprod:shapes/DataServiceShape§

Label: data service shape

A collection of operations that provides access to one or more datasets or data processing functions.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataServiceShape

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:propertydprod:shapes/DataService-endpointDescription
sh:propertydprod:shapes/DataService-endpointURL
sh:propertydprod:shapes/DataService-isAccessServiceOf
sh:propertydprod:shapes/DataService-protocol
sh:propertydprod:shapes/DataService-securitySchemaType
sh:targetClassdcat:DataService

6.3 dprod:shapes/DatasetShape§

Label: dataset shape

A collection of data, published or curated by a single source, and available for access or download in one or more representations.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DatasetShape

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:propertydcat:Dataset-informationSensitivityClassification
sh:propertydprod:shapes/Dataset-conformsTo
sh:propertydprod:shapes/Dataset-description
sh:propertydprod:shapes/Dataset-distribution
sh:propertydprod:shapes/Dataset-hasPolicy
sh:propertydprod:shapes/Dataset-label
sh:propertydprod:shapes/Dataset-type
sh:targetClassdcat:Dataset

6.4 dprod:shapes/DistributionShape§

Label: distribution shape

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).

IRI: https://ekgf.org/dprod/spec/develop/shapes/DistributionShape

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:propertydprod:shapes/Distribution-accessService
sh:propertydprod:shapes/Distribution-conformsTo
sh:propertydprod:shapes/Distribution-format
sh:propertydprod:shapes/Distribution-isDistributionOf
sh:targetClassdcat:Distribution

6.5 dprod:shapes/InformationSensitivityClassificationShape§

Label: information sensitivity classification shape

A classification of the information within a dataset to indicate the level of control and protection that must be applied.

IRI: https://ekgf.org/dprod/spec/develop/shapes/InformationSensitivityClassificationShape

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:targetClassdprod:InformationSensitivityClassification

6.6 dprod:shapes/SecuritySchemaTypeShape§

Label: security schema type shape

A classification encompassing a set of rules used for authentication and communication.

IRI: https://ekgf.org/dprod/spec/develop/shapes/SecuritySchemaTypeShape

RDF predicateValue
rdf:typesh:NodeShape
rdfs:isDefinedBydprod:shapes/
sh:targetClassdprod:SecuritySchemaType

7. SHACL property shapes§

7.1 dcat:Dataset-informationSensitivityClassification§

Label: dataset information sensitivity classification shape

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.

IRI: http://www.w3.org/ns/dcat#Dataset-informationSensitivityClassification

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdprod:InformationSensitivityClassification
sh:pathdprod:informationSensitivityClassification

7.2 dprod:shapes/DataProduct-dataProductLifecycleStatus§

Label: data product lifecycle status shape

The authored development lifecycle status of the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-dataProductLifecycleStatus

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classskos:Concept
sh:maxCount1 (xsd:integer)
sh:messagedataProductLifecycleStatus, if present, must be a single skos:Concept value.
sh:pathdprod:dataProductLifecycleStatus

7.3 dprod:shapes/DataProduct-dataProductOwner§

Label: data product owner shape

The agent that is accountable overall for the data product, including managing it through its lifecycle.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-dataProductOwner

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classprov:Agent
sh:pathdprod:dataProductOwner

7.4 dprod:shapes/DataProduct-description§

Label: data product description shape

A free text description of the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-description

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:datatypexsd:string
sh:pathdct:description

7.5 dprod:shapes/DataProduct-domain§

Label: data product domain shape

The business or information area supported by the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-domain

Note: The target class is left open

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdprod:domain

7.6 dprod:shapes/DataProduct-hasPolicy§

Label: data product has policy shape

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.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-hasPolicy

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classodrl:Policy
sh:pathodrl:hasPolicy

7.7 dprod:shapes/DataProduct-inputDataset§

Label: data product input dataset shape

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.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-inputDataset

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:Dataset
sh:pathdprod:inputDataset

7.8 dprod:shapes/DataProduct-inputPort§

Label: data product input port shape

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.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-inputPort

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:DataService
sh:pathdprod:inputPort

7.9 dprod:shapes/DataProduct-label§

Label: data product label shape

The name given to the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-label

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:datatypexsd:string
sh:pathrdfs:label

7.10 dprod:shapes/DataProduct-outputDataset§

Label: data product output dataset shape

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.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-outputDataset

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:Dataset
sh:pathdprod:outputDataset

7.11 dprod:shapes/DataProduct-outputPort§

Label: data product output port shape

A set of services exposed by a data product to share the generated data in a way that can be understood and trusted.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-outputPort

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:DataService
sh:pathdprod:outputPort

7.12 dprod:shapes/DataProduct-purpose§

Label: data product purpose shape

A description of the objectives and intended usage of the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-purpose

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:datatypexsd:string
sh:pathdprod:purpose

7.13 dprod:shapes/DataProduct-type§

Label: data product description shape

The nature or genre of the data product.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataProduct-type

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdct:type

7.14 dprod:shapes/DataService-endpointDescription§

Label: data service endpoint description shape

A description of the services available via the end-points, including their operations, parameters etc.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataService-endpointDescription

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdcat:endpointDescription

7.15 dprod:shapes/DataService-endpointURL§

Label: data service endpoint URL shape

The root location or primary endpoint of the service.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataService-endpointURL

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdcat:endpointURL

7.16 dprod:shapes/DataService-isAccessServiceOf§

Label: data service is access service of shape

The dataset distribution that is being offered through this data service.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataService-isAccessServiceOf

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:Distribution
sh:pathdprod:isAccessServiceOf

7.17 dprod:shapes/DataService-protocol§

Label: data service protocol shape

A protocol (possibly one of many options) used to communicate with this data service.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataService-protocol

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdprod:protocol

7.18 dprod:shapes/DataService-securitySchemaType§

Label: data service security schema type shape

The security schema type used for authentication and communication with this Data Service.

IRI: https://ekgf.org/dprod/spec/develop/shapes/DataService-securitySchemaType

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdprod:SecuritySchemaType
sh:pathdprod:securitySchemaType

7.19 dprod:shapes/Dataset-conformsTo§

Label: dataset conforms to shape

A model, schema, ontology, view or profile that the dataset conforms to.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-conformsTo

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdct:conformsTo

7.20 dprod:shapes/Dataset-description§

Label: dataset distribution shape

Free text description of the dataset.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-description

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:datatypexsd:string
sh:pathdct:description

7.21 dprod:shapes/Dataset-distribution§

Label: dataset distribution shape

An available distribution of the dataset.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-distribution

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:Distribution
sh:pathdcat:distribution

7.22 dprod:shapes/Dataset-hasPolicy§

Label: dataset has policy shape

An ODRL conformant policy expressing the rights associated with the resource.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-hasPolicy

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathodrl:hasPolicy

7.23 dprod:shapes/Dataset-label§

Label: dataset label shape

The name given to the dataset

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-label

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:datatypexsd:string
sh:pathrdfs:label

7.24 dprod:shapes/Dataset-type§

Label: dataset type shape

The type or genre of the dataset.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Dataset-type

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdct:type

7.25 dprod:shapes/Distribution-accessService§

Label: distribution access service shape

A data service that gives access to the distribution of the dataset.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Distribution-accessService

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:DataService
sh:pathdcat:accessService

7.26 dprod:shapes/Distribution-conformsTo§

Label: distribution conforms to shape

The schema that the distribution conforms to that is format and technology dependent.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Distribution-conformsTo

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdct:conformsTo

7.27 dprod:shapes/Distribution-format§

Label: distribution format shape

The file format of the distribution.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Distribution-format

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:pathdct:format

7.28 dprod:shapes/Distribution-isDistributionOf§

Label: distribution is distribution of shape

The dataset that this distribution makes available.

IRI: https://ekgf.org/dprod/spec/develop/shapes/Distribution-isDistributionOf

RDF predicateValue
rdf:typesh:PropertyShape
rdfs:isDefinedBydprod:shapes/
sh:classdcat:Dataset
sh:pathdprod:isDistributionOf

8. Describe a dataset schema§

The Data Product provides to the consumers (dprod:outputDataset) datasets defined based on DCAT. Datasets should be described (dcat:conforms) with logical models. Logical models describe business entities and their properties (attributes and relationships) with consistent business terms and they are technology independent. Ideally, logical models are based on existing standards eg, FIBO, CDM etc. If a logical model does not exist to describe the dataset, then the dataset publisher can create one, preferably by using SHACL modelling language:

Example of a Dataset conforming to a SHACL Schema:

exampleDataset dcat:conforms exampleSchema:DatasetLogicalSchema.
exampleSchema:DatasetLogicalSchema a owl:Ontology, dct:Standard.

Based on SHACL all entities that exist in the dataset are Node Shapes (1). The attributes of the entities are described as Property Shapes with sh:datatype (2) The relationships are also defined as Property Shaped with sh:class the target class of the relationship (3)

@prefix dc:            <http://purl.org/dc/elements/1.1/> .
@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 example:       <https://y.com/schema/> .
@prefix exampleSchema: <https://y.com/schema/logical/> .

# definition of the entity as a Node Shape (1)
example:Account a sh:NodeShape ;
    # human readable name of the entity
    rdfs:label "Account"@en ;
    # description of the entity
    dc:description "An Account is..." ;
    # an account has a property shape Account Age. 
    # Definition of the property shape follows (2)
    sh:property example:Account-AccountAge ; 
    # an account has a property shape Account Branch. 
    # Definition of the property shape follows (3)
    sh:property example:Account-AccountBranch ;     
    rdfs:isDefinedBy exampleSchema:DatasetLogicalSchema;
.

# (2) Definition of the Account-AccountAge property shape
#     describing that an account MUST have exactly one
#     AccountAge attribute and its datatype is integer
example:Account-AccountAge a sh:PropertyShape ;   
    sh:path example:AccountAge ;
    sh:datatype xsd:integer ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:isDefinedBy exampleSchema:DatasetLogicalSchema ;
.

# (3) Definition of the Account-AccountBranch property shape
#     describing than an account must have at least one 
#     Account Branch which is another entity
example:Account-AccountBranch a sh:PropertyShape ;   
    sh:path example:AccountBranch ;
    sh:class  example:Branch ;
    sh:minCount 1 ;
    rdfs:isDefinedBy exampleSchema:DatasetLogicalSchema ;
.

# definition of the entity Branch as a Node Shape (1)
example:Branch a sh:NodeShape ;
    rdfs:label "Branch"@en ;
    dc:description "A Branch is.." ;
    rdfs:isDefinedBy exampleSchema:DatasetLogicalSchema ;
.

Search this specification