diff --git a/docs/respec/template.html b/docs/respec/template.html new file mode 100644 index 0000000..a61ecff --- /dev/null +++ b/docs/respec/template.html @@ -0,0 +1,201 @@ + + + + + + + + +

W3C DCAT Profile for Semantic Data Products (DPROD)

+
+

+ This specification defines a profile of the W3C Data Catalog (DCAT) Vocabulary, specifically designed for describing Data Products. DPRODextends DCAT to allow organisations to create Semantic Data Products that interconnect data within a Semantic Data Mesh. DPROD follows two basic principles: +

+ ⭕ Shift Data Publication Left: One team can't handle all data integration tasks so we should distribute responsibilities for better efficiency. +

+

+ ⭕ Shift Schema Definition Right: A central team should manage a shared ontology and ensure data publishers adhere to consistent semantics. +

+

+ The W3C DCAT recommendation enables publishers to describe datasets and data services in a catalogue using a standard model and vocabulary. This facilitates the consumption and aggregation of metadata from multiple catalogues, thereby increasing the discoverability of datasets and data services. It also supports a decentralised approach to publishing data catalogues, and enables federated searches for datasets across multiple sites using the same query mechanism and structure. + The DROD recommendation extends DCAT to enable datasets to link to Data Products, the Data Products then connect together to form a Data Mesh. The specification has four main mains: +

+

+ ⭕ To provide unambiguous semantics to answer the question: 'What is a data product?' +

+

+ ⭕ Be simple for anyone to use, but expressive enough to power full data marketplaces +

+

+ ⭕ Allow organisations to reuse their existing data catalogues and dataset infrastructure +

+

+ ⭕ To share common semantics across different Data Products to promote harmonisation +

+ + +
+
+

Status of this document

+

The current version is DRAFT. Feedback and comments welcome via the Github Issue feature.

+
+ +
+

Conformance

+

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this Profile are non-normative. + Everything else in this Profile is normative.

+ +

The key words MAY, MUST, MUST NOT, RECOMMENDED, SHOULD, and SHOULD NOT are to be interpreted as described in [[!RFC2119]]. + +

+

Normative namespaces

+

Namespaces and prefixes used in normative parts of this Profile are shown in the following table.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrefixNamespace IRISource
+ dcat + + http://www.w3.org/ns/dcat# + [[VOCAB-DCAT-3]]
+ dct + + http://purl.org/dc/terms/ + [[DCTERMS]]
+ odrl + + http://www.w3.org/ns/odrl/2/ + [[ODRL-VOCAB]]
+ sdo + + https://schema.org + [[SCHEMA-ORG]]
+ vcard + + http://www.w3.org/2006/vcard/ns# + [[VCARD-RDF]]
+ +
+
+

Data Product (DPROD) Model

+

Data Catalog Vocabulary (DCAT) is a W3C standard that facilitates interoperability between data catalogs published on the web. By using DCAT to declare input and output ports, Semantic Data Products can effectively describe the details of the data services they provide, including the datasets and the operations that can be performed on them. + +Semantic Data Products take advantage of this by defining ports that specify not only the data format and structure but also the semantics—meaning the meaning and relationships of the data elements. This allows for the integration of data across different domains, as the shared semantics ensure that all stakeholders have a common understanding of the data, which is critical in a Data Mesh architecture. + +A Data Mesh is a decentralized approach to data architecture and organizational design. The fundamental idea behind a Data Mesh is to treat data as a product, with the goal being that these data products can be easily discovered, understood, and consumed across technical and business boundaries. + +By mapping to DCAT DataServices, these Semantic Data Products can describe their functionality in a standard way that can be programmatically understood and used, making the data easily accessible and shareable across the organization. This approach facilitates a self-serve data infrastructure, where domain-oriented data teams can autonomously build and maintain their data products yet ensure that these products can interact and integrate seamlessly with the rest of the data ecosystem within an organization. + +In a broader sense, using standards like DCAT contributes to a powerful and expressive model for a Data Mesh, allowing for greater agility, scalability, and innovation. It ensures that as the data landscape becomes increasingly complex, the fundamental mechanisms for describing, sharing, and manipulating data remain robust and standard across the organization. + +

+ +
+ Information model for the Profile +
+ Overview of DCAT Profile, showing the relevant classes, properties and relationships. +
+
+

+The Profile consists of the following classes: +

+

+

+Because DCAT DataService maps to the Data Mesh notion of a port we can declare a DataProduct by and specify and input and output ports. This allows user to connect their Data Products to Datasets and from there onto shared Ontologies. +

+ + +
+{
+  "@id": "https://y.com/products/uk-bonds",
+  "@type": "dprod:DataProduct",
+  "dprod:title": "UK Bonds",
+  "dprod:description": "UK Bonds is your one-stop-shop for all ...",
+  "dprod:outputPort": {
+    "@type": "dprod:Port",
+    "dcat:endpointURL": "https://y.com/uk-10-year-bonds",
+    "dcat:servesDataset": {
+      "@type": "dcat:Dataset",	
+      "dcat:conformsTo": "fibo:CallableBond",
+    },
+   }
+}
+    
+

+ The examples in map the type of the above classes to @type in the JSON-LD serialisations. You can use JSON-LD to extend the familiar JSON syntax with the shared semantics defined by DCAT and DPROD +

+ +
+ + +
+

Acknowledgements

+

The editors gratefully acknowledge the feedback and contributions made to this document by:

+
+ + + diff --git a/images/dprod-model.png b/images/dprod-model.png new file mode 100644 index 0000000..a653ec9 Binary files /dev/null and b/images/dprod-model.png differ diff --git a/images/dprod.jpg b/images/dprod.jpg new file mode 100644 index 0000000..6a965ca Binary files /dev/null and b/images/dprod.jpg differ diff --git a/images/dprod.tif b/images/dprod.tif new file mode 100644 index 0000000..448c4ed Binary files /dev/null and b/images/dprod.tif differ