Skip to main content

Sharing vocabularies using DCAT

· 4 min read
Jelte Bootsma (TNO)
Expert semantic interoperability
Michiel Stornebrink (TNO)
Product owner Semantic Treehouse
info

Sharing data across different sectors holds tremendous value. For example, to achieve EU climate goals, the exchange of carbon footprint data across various sectors is of great importance. Therefore, connecting different data sharing communities in these sectors is essential. However, sharing data across different sectors comes with challenges, as each sector develops its own vocabularies and tools. These vocabularies are not accessible across different sectors, and consequently, thus not being used in other sectors. To brigde this gap, a standardized solution is needed to exchange vocabularies across data sharing communities, enhancing the discoverability of vocabularies across different sectors.

DCAT-AP for Vocabulary Sharing

The Data Catalogue Vocabulary Application Profile (DCAT-AP) emerges as a crucial standard for data sharing. While primarily devised for public sector dataset and data servcice exchange in Europe, the versatility of DCAT-AP extends beyond datasets to include vocabularies.

Traditionally, vocabularies have been categorized as metadata, providing context for datasets. These datasets and data services can be shared across communities through the open standard DCAT-AP. Our observation indicates that vocabularies can also be considered as datasets, enables us to describe and exchange vocabularies across sectors using DCAT-AP. This empowers data sharing communities to exchange vocabularies as they would datasets, fostering greater adoption and reuse.

Features and Implementation

Recognizing the potential for DCAT-AP to enhance semantic interoperability, we have integrated DCAT-AP exports functionality in Semantic Treehouse. Through Semantic Treehouse, users can now export the vocabularies of a single project, as well as the entire repository, with the aim of encouraging widespread use and integration into existing systems.

We have incorporated both a user-friendly download button and an API to cater to different needs. The download button offers immediate export, while the API enables direct machine-to-machine communications, ideal for those seeking to automate and integrate vocabulary usage within their systems.

Example

The example below illustrates an exported project from Semantic Treehouse in DCAT-AP format. It includes metadata about the project (dcat:Catalog), the specification(s) (dcat:Dataset), its versions (dcat:Dataset) and the available distributions (dcat:Distribution). The example is a snippet about the recently published SETU Planning and Scheduling standard.

@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sth: <https://setu.semantic-treehouse.nl/> .

<https://setu.semantic-treehouse.nl/projects/Project_bceb3f48-f0d6-427c-aaf2-faa30b1537b6>
a dcat:Catalog ;
dc:description "Collection of specifications for project Planning and scheduling"@en ;
dc:publisher <https://setu.semantic-treehouse.nl/groups/SETU> ;
dc:title "Planning and scheduling"@en ;
dcat:dataset <https://setu.semantic-treehouse.nl/specifications/planning-assignment>,
<https://setu.semantic-treehouse.nl/specifications/planning-constraints>,
<https://setu.semantic-treehouse.nl/specifications/planning-request> ;
foaf:homepage <https://setu.semantic-treehouse.nl/#/Projects> .


<https://setu.semantic-treehouse.nl/specifications/planning-assignment>
a dcat:Dataset ;
dc:description "The Planning Assignment message is used to exchange the planning of a worker on a certain position. The message includes information about the position and the exact moments in time the worker is planned. The message is sent from the planning system at either the supplier or customer to the other party."@en ;
dc:title "Planning Assignment"@en ;
dc:publisher <https://setu.semantic-treehouse.nl/groups/SETU> ;
dc:hasVersion <https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443> ;
dc:identifier "https://setu.semantic-treehouse.nl/specifications/planning-assignment"@en ;
dcat:landingPage <https://setu.semantic-treehouse.nl/#/Message_32_model/MessageModel_2c67bb3d-b1c1-423b-90d5-8cac64eda603> .

<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443>
a dcat:Dataset ;
dc:description "The Planning Assignment message is used to exchange the planning of a worker on a certain position. The message includes information about the position and the exact moments in time the worker is planned. The message is sent from the planning system at either the supplier or customer to the other party."@en ;
dc:title "Planning Assignment v1.0"@en ;
dcat:distribution <https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-xsd>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-json-schema-json>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-json-schema-yaml>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-oas-json>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-oas-yaml>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-rdf-shacl-ttl>,
<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-excel> ;
dc:publisher <https://setu.semantic-treehouse.nl/groups/SETU> ;
dc:identifier "https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443"@en ;
dcat:landingPage <https://setu.semantic-treehouse.nl/#/Message_32_model/MessageModel_2c67bb3d-b1c1-423b-90d5-8cac64eda603> ;
dc:issued "2023-06-20"^^xsd:date ;
owl:versionInfo "1.0 (RELEASE)" .

<https://setu.semantic-treehouse.nl/specversions/MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443/distributions/message-xsd>
a dcat:Distribution ;
dcat:accessURL <https://setu.semantic-treehouse.nl/api/v1/fit/message/Message_107481ae-3662-4cd0-bb35-78095f3b2675/xml/schema?style=doll> ;
dc:description "Distribution of type XSD for STH specification version with id MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443"@en ;
dc:format <http://publications.europa.eu/resource/authority/file-type/SCHEMA_XML> ;
dcat:downloadURL <https://setu.semantic-treehouse.nl/api/v1/fit/message/Message_107481ae-3662-4cd0-bb35-78095f3b2675/xml/schema?style=doll> ;
dcat:mediaType <https://www.iana.org/assignments/media-types/application/xml> ;
dc:title "XSD schema distribution for MessageModelVersion_7b82e0ef-9766-49e7-a3e0-7b2c1a596443"@en .

Snippet of DCAT-AP export

Learn More

Click for more information