DCAT-AP-DONL 1.1¶
The DCAT application profile for data.overheid.nl.
Summary¶
This documentation describes the DCAT application profile named DCAT-AP-DONL 1.1. This is a metadata standard based on the DCAT application profile DCAT-AP-NL 1.1. The application profile aims to reduce data duplication and to standardize values of properties wherever possible, this to improve its usefulness for linked data applications.
DCAT-AP-DONL 1.1 is the DCAT application profile used by Data.Overheid.nl, which is the dataset portal of the Dutch government. It is also implemented as a CKAN extension which is available to the public on the Textinfo Gitlab server.
This documentation provides the exact details of the application profile and explains in what way it deviates from DCAT-AP-NL 1.1 and DCAT-AP-DONL 1.0 (its previous version).
Contact¶
For questions or comments regarding this DCAT application profile please contact KOOP at:
Online: | koopoverheid.nl |
---|---|
Email: | opendata@overheid.nl |
Telephone: | (070) 7000 526 |
Changelog¶
The following changes have been applied over time to the standard and/or its documentation.
03/07/2019¶
- Introduced a new property for the
Dataset
class:nationalCoverage
. This property is an optional boolean. When this property is not present in a dataset it is considered ‘false’.
12/11/2018¶
- The property
keyword
was incorrectly listed asmandatory
. It has been updated to accurately describe itsrecommended
status
05/11/2018¶
- The
downloadURL
property of aDistribution
was incorrectly listed as having a1..n
cardinality, this has been corrected to0..n
to accurately reflect its recommended state. - Further clarified the
Period
class. this class consists of only recommended properties but has additional rules which state that at least one of these properties should be present. An empty Period class is considered invalid. - Introduced three new properties for the
Dataset
class,highValue
,basisRegister
andreferentieData
. These new properties are optional boolean properties. When these properties are not present in a dataset they are considered ‘false’. - The property
rights
ofDistribution
was incorrectly listed as mandatory, this property is recommended. Its state and cardinality have been corrected.
Classes¶
DCAT-AP-DONL 1.1 is based on the DCAT-AP-NL 1.1 standard. As such it inherits all the specifications from said standard. DCAT-AP-DONL 1.1 does modify the classes ‘Dataset’ and ‘Distribution’. The specifications of the DCAT-AP-DONL versions of these classes will now be handled. Given the fact that DCAT-AP-DONL must remain compatible with DCAT-AP-NL and by extension DCAT-AP-EU, these changes will not be groundbreaking.
In the schemas of the classes a column exists named ‘Man.’. This details whether a property is Mandatory (man), Recommended (rec) or Optional (opt).
There are direct references in the schemas below to the classes Period, LegalFoundation and Checksum , for the sake of clarity these are included in this documentation, however, these are direct copies of their counterparts in the DCAT-AP-NL standard.
Dataset¶
The properties and their acceptable values are outlined below:
Property | Man. | Card. | URI | Value |
---|---|---|---|---|
identifier | man | 1..1 | dct:identifier | xsd:anyURI |
title | man | 1..1 | dct:title | xml:string |
description | man | 1..1 | dct:description | xml:string |
keyword | rec | 0..n | dcat:keyword | xml:string |
metadataLanguage | man | 1..1 | dct:language | donl:language |
language | man | 1..n | dct:language | donl:language |
theme | man | 1..n | dcat:theme | overheid:taxonomiebeleidsagenda |
modificationDate | man | 1..1 | dct:modified | xsd:date (ISO 8601) |
authority | man | 1..1 | overheid:authority | donl:authority |
publisher | man | 1..1 | dct:publisher | donl:authority |
contactPoint | man | 1..1 | dcat:contactPoint | vcard:Kind |
accessRights | rec | 0..1 | dct:accessRights | overheid:openbaarheidsniveau |
datasetStatus | rec | 0..1 | adms:status | overheid:datasetStatus |
landingPage | rec | 0..1 | dcat:landingPage | xsd:anyURI |
spatial | rec | 0..n | dct:spatial | overheid:spatial |
temporal | rec | 0..1 | dct:temporal | class Period |
conformsTo | rec | 0..n | dct:conformsTo | xsd:anyURI |
alternativeIdentifier | rec | 0..n | adms:identifier | xsd:anyURI |
relatedResource | rec | 0..n | dct:relation | xsd:anyURI |
source | rec | 0..n | dct:source | xsd:anyURI |
hasVersion | rec | 0..n | dct:hasVersion | xsd:anyURI |
isVersionOf | rec | 0..n | dct:isVersionOf | xsd:anyURI |
releaseDate | rec | 0..1 | dct:issued | xsd:date (ISO 8601) |
version | rec | 0..1 | owl:versionInfo | xml:string |
versionNotes | rec | 0..n | adms:versionNotes | xml:string |
legalFoundation | rec | 0..1 | overheid:grondslag | class LegalFoundation |
datePlanned | opt | 0..1 | skos:concept | xsd:date (ISO 8601) |
documentation | opt | 0..n | foaf:page | xsd:anyURI |
frequency | opt | 0..1 | dct:accrualPeriodicity | overheid:frequency |
provenance | opt | 0..n | dct:provenance | xsd:anyURI |
sample | opt | 0..n | adms:sample | xsd:anyURI |
highValue | rec | 0..1 | skos:concept | xsd:boolean |
basisRegister | rec | 0..1 | skos:concept | xsd:boolean |
referentieData | rec | 0..1 | skos:concept | xsd:boolean |
nationalCoverage | rec | 0..1 | skos:concept | xsd:boolean |
Distribution¶
The properties and their acceptable values are outlined below:
Property | Man. | Card. | URI | Value |
---|---|---|---|---|
accessURL | man | 1..1 | dcat:accessURL | xsd:anyURI |
license | man | 1..1 | dct:license | overheid:license |
title | man | 1..1 | dct:title | xml:string |
description | man | 1..1 | dct:description | xml:string |
language | man | 1..n | dct:language | donl:language |
format | man | 1..1 | dct:format | mdr:filetype |
rights | rec | 0..1 | dct:rights | xml:string |
status | rec | 0..1 | adms:status | adms:distributiestatus |
releaseDate | rec | 0..1 | dct:issued | xsd:date (ISO 8601) |
modificationDate | rec | 0..1 | dct:modified | xsd:date (ISO 8601) |
byteSize | rec | 0..1 | dcat:byteSize | xml:number |
downloadURL | rec | 0..n | dcat:downloadURL | xsd:anyURI |
mediaType | rec | 0..1 | dcat:mediaType | iana:mediatype |
linkedSchemas | rec | 0..n | dct:conformsTo | xsd:anyURI |
checksum | opt | 0..1 | spdc:checksum | class Checksum |
documentation | opt | 0..n | foaf:page | xsd:anyURI |
Period¶
The properties and their acceptable values are outlined below:
Property | Man. | Card. | URI | Value |
---|---|---|---|---|
label | rec | 0..1 | skos:concept | xml:string |
startDate | rec | 0..1 | schema:startDate | xsd:date (ISO 8601) |
endDate | rec | 0..1 | schema:endDate | xsd:date (ISO 8601) |
As stated, the Period
class consists of only recommended properties. However, when providing a Period for your dataset atleast one of these recommended properties must be provided. An empty Period
class is considered invalid.
LegalFoundation¶
The properties and their acceptable values are outlined below:
Property | Man. | Card. | URI | Value |
---|---|---|---|---|
ref | man | 1..1 | overheid:juriconnectverwijzing | xml:string |
label | man | 1..1 | overheid:linktekst | xml:string |
uri | man | 1..1 | foaf:page | xsd:anyURI |
Checksum¶
The properties and their acceptable values are outlined below:
Property | Man. | Card. | URI | Value |
---|---|---|---|---|
hash | man | 1..1 | skos:concept | xml:string |
algorithm | man | 1..1 | skos:concept | xml:string |
All other classes of the DCAT-AP-DONL standard are fully inherited from the DCAT-AP-NL standard.
Changes¶
Changes from the related DCAT application profiles will be listed and motivated.
Changes from the DCAT-AP-DONL 1.0 standard¶
The changes from DCAT-AP-DONL 1.0 to DCAT-AP-DONL 1.1 are listed below.
Note
DCAT-AP-DONL 1.0 was surprisingly poorly documented, given this, the list below may not be fully accurate. This changelog is based on 2015-04-17 Mapping Modellen_0.xslx.
New properties¶
The following properties have been introduced
Note
Most of the new properties are due to changes in the parent standard DCAT-AP-NL 1.1. These hanges will be listed, but not motivated.
- Dataset:metadataLanguage
- This new mandatory property forces providers to clarify which language is used in the metadata of a Dataset.
- Dataset:alternativeIdentifier
- From DCAT-AP-NL 1.1
- Dataset:relatedResource
- From DCAT-AP-NL 1.1
- Dataset:source
- From DCAT-AP-NL 1.1
- Dataset:hasVersion
- From DCAT-AP-NL 1.1
- Dataset:isVersionOf
- From DCAT-AP-NL 1.1
- Dataset:documentation
- From DCAT-AP-NL 1.1
- Dataset:provenance
- From DCAT-AP-NL 1.1
- Dataset:sample
- From DCAT-AP-NL 1.1
- Distribution:metadataLanguage
- This new mandatory property forces providers to clarify which language is used in the metadata of a Distribution.
- Distribution:license
- From DCAT-AP-NL 1.1
- Distribution:language
- From DCAT-AP-NL 1.1
- Distribution:rights
- From DCAT-AP-NL 1.1
- Distribution:linkedSchemas
- From DCAT-AP-NL 1.1
- Distribution:checksum
- From DCAT-AP-NL 1.1
- Distribution:documentation
- From DCAT-AP-NL 1.1
Changed properties¶
Changes have been made to every property of DCAT-AP-DONL 1.0. See the new class definitions for the new version of the classes. The most important conceptual changes are detailed and motivated below
- Standardization of values
- In order to combat the fifty different spellings of ‘Gemeente Nijmegen’ and the likes, most property ranges have been limited to a certain list of acceptable values. These lists of values contain URIs that reference resources that have acceptable values for the given property, e.g. http://standaarden.overheid.nl/owms/terms/Nijmegen_(gemeente).
- Promoting linked data
- Most property ranges have been limited from xml:string to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
Removed properties¶
The following properties have been removed
Note
Most of the removed properties are due to changes in the parent standard DCAT-AP-NL 1.1. These changes will be listed, but not motivated.
- Dataset:LODStars
- From DCAT-AP-NL 1.1
- Dataset:doel
- From DCAT-AP-NL 1.1
- Dataset:kwaliteit
- From DCAT-AP-NL 1.1
Changes from the DCAT-AP-NL 1.1 standard¶
The changes from DCAT-AP-NL 1.1 to DCAT-AP-DONL 1.1 are listed below.
New properties¶
The following properties have been introduced
- Dataset:datasetStatus
- This recommended property defines in which part of a lifecycle a dataset exists. A dataset can be available, planned unavailable or being researched. Use Dataset:datePlanned to indicate when a dataset is expected to receive the datasetStatus available.
- Dataset:datePlanned
- This optional property defines the planned date at which this dataset becomes available. It is closely related to the datasetStatus planned, unavailable and being researched.
- Dataset:license
- This new, mandatory, property was introduced for the Dataset class. It allows a license to apply to a dataset, rather than a Distribution, which already had the license property.
- Dataset:metadataLanguage
- This new mandatory property forces providers to clarify which language is used in the metadata of a Dataset.
- Distribution:metadataLanguage
- This new mandatory property forces providers to clarify which language is used in the metadata of a Distribution.
Changed properties¶
The following properties have been modified
- Dataset:title
- The cardinality has been changed from 1..n to 1..1. Data.Overheid.nl demands that metadata is provided in only one language, therefore there is no longer any need to support multiple titles for one dataset.
- Dataset:description
- The cardinality has been changed from 1..n to 1..1. Data.Overheid.nl demands that metadata is provided in only one language, therefore there is no longer any need to support multiple descriptions for one dataset.
- Dataset:theme
- This property was changed from Recommended to Mandatory. Data.Overheid.nl requires at least one theme to properly categorize datasets. Because of this, its cardinality is changed from 0..n to 1..n.
- Dataset:authority
- This property was changed from Recommended to Mandatory. It must always be clear who owns the dataset, therefore this property needs to be mandatory. Because of this, its cardinality is changed from 0..1 to 1..1.
- Dataset:publisher
- This property was changed from Recommended to Mandatory. It must always be clear who published the dataset, therefore this property needs to be mandatory. Because of this, its cardinality is changed from 0..1 to 1..1.
- Dataset:contactPoint
- This property was changed from Recommended to Mandatory. A published dataset needs to have a contactPoint so that questions and/or comments regarding a dataset have a place to go. Because of this, its cardinality is changed from 0..n to 1..1.
- Dataset:conformsTo
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata. Furthermore, its range was narrowed to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
- Dataset:alternativeIdentifier
- This property was changed from Optional to Recommended. The alternativeIdentifier is important in the quest to minimise duplicate datasets. As such this property now has a higher classification to signify this.
- Dataset:relatedResource
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata. Furthermore, its range was narrowed to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
- Dataset:source
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata. Furthermore, its range was narrowed to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
- Dataset:hasVersion
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata. Furthermore, its range was narrowed to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
- Dataset:isVersionOf
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata. Furthermore, its range was narrowed to xsd:anyURI. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
- Dataset:releaseDate
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Dataset:version
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Dataset:version_notes
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a dataset as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:license
- This property was changed from Recommended to Mandatory. Data.Overheid.nl requires that all distributions have a license property. It must always be clear what license applies to a distribution. Because of this, its cardinality is changed from 0..1 to 1..1.
- Distribution:title
- The cardinality has been changed from 1..n to 1..1. Data.Overheid.nl demands that metadata is provided in only one language, therefore there is no longer any need to support multiple titles for one distribution.
- Distribution:description
- The cardinality has been changed from 1..n to 1..1. Data.Overheid.nl demands that metadata is provided in only one language, therefore there is no longer any need to support multiple titles for one distribution.
- Distribution:format
- This property was changed from Recommended to Mandatory. A Distribution always has a format, as such, it should be provided. Because of this, its cardinality is changed from 0..1 to 1..1.
- Distribution:byteSize
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:downloadURL
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:mediaType
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:releaseDate
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:rights
- This property was changed from optional to Mandatory. Rights always apply to Distributions, therefore providers must dictate which rights apply to the Distribution. Because of this, its cardinality is changed from 0..1 to 1..1.
- Distribution:status
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:modificationDate
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. This is purely a semantic change to inspire providers to provide more metadata.
- Distribution:linkedSchemas
- This property was changed from Optional to Recommended. Data.Overheid.nl wants as much metadata about a distributions as possible. Furthermore its range has been narrowed to only allow valid URIs. Data.Overheid.nl prefers resolvable URIs from a linked data perspective.
Removed properties¶
The following properties have been removed
- None
- No properties have been removed that were part of the DCAT-AP-NL 1.1 standard.
Workflow¶
Two aspects of the DCAT-AP-DONL 1.1 application profile deserve further elaboration, as they are a considerable change from either DCAT-AP-DONL 1.0 or DCAT-AP-NL 1.1. This is done below.
Dataset identifier¶
The value of a dataset identifier is the original identifier of the dataset. This value must be
preserved when this dataset moves across dataportals. This ensures that the dataset, regardless of
the dataportal it currently resides in, can always be uniquely identified. To communicate that a
dataset is or has been present in a dataportal, the dataportal may elect to include its own internal
identifier of the dataset as a part of the alternativeIdentifier
property.
This process is visualised below:
In the event that changes are made to a dataset that are not made by the original authority or publisher, the identifier property is invalidated. At this point the value of the identifier property is the identifier of the dataset that that dataportal currently maintains. In the above example, should NGR make changes to the dataset, then the internal identifier that NGR maintains for the dataset becomes the identifier of the new dataset.
Multilingual support¶
DCAT-AP-DONL mandates that the metadata of a dataset is provided in only one language. In order to provide metadata in multiple languages for a single dataset, the following steps must be taken.
First create the original dataset with metadata in a specific language:
{
"identifier": "http://mydata.portal.com/dataset/mijndataset1",
"metadata_langugage": "http://publications.europa.eu/resource/authority/language/NLD",
"title": "Mijn dataset titel 1",
"description": "Mijn dataset omschrijving 1",
...
}
Then, when wanting to support metadata in a secondary language, create a new dataset with the metadata in the new language which references the original dataset:
{
"identifier": "http://mydata.portal.com/dataset/mijndataset1",
"metadata_langugage": "http://publications.europa.eu/resource/authority/language/ENG",
"title": "My dataset 1",
"description": "My dataset description 1",
"is_version_of": "https://data.overheid.nl/datasets/mijndataset1",
...
}
By declaring your dataset with the same identifier and stating that the new dataset is a version of the original dataset you signal that the datasets are identical and that only the metadata is different. Ensure that the different datasets have unique metadataLanguage properties.
A visual guide:
In short: group all the resources with metadata in the same language under one dataset, which metadataLanguage matches that of the resources. When the dataset becomes available in a new language , create and maintain a separate dataset and resources for the new language. The actual accessURLs and downloadURLs can be the same across both datasets.
Valuelists¶
The DCAT-AP-DONL 1.1 standard uses lists of acceptable values in order to standardize the values of properties wherever possible. These lists are mostly inherited from the parent standard DCAT-AP-NL 1.1. These lists are shown below.
These valuelists are published on waardelijsten.dcat-ap-donl.nl.
DCAT-AP-DONL 1.1 maintains its own valuelists rather than simply using the DCAT-AP-NL valuelists. The primary motivater behind this decision is that DCAT-AP-DONL may elect not to support certain values of the DCAT-AP-NL valuelists. In order to support this feature, DCAT-AP-DONL has to maintain its own valuelists. An example of such a usecase is where DCAT-AP-DONL may decide not to support a certain license that DCAT-AP-NL supports.
Implementation¶
The DCAT-AP-DONL 1.1 metadata standard has been implemented in a CKAN extension. This extension allows your CKAN installation to manage datasets and distributions according to the standards defined in this documentation.
This extension, called ckanext-dcatdonl, can be found online at:
Repository: | gitlab.textinfo.nl/opensource/ckanext-dcatdonl/. |
---|---|
Documentation: | ckanext-dcatdonl.readthedocs.io |