Data catalog
type: NodeShape
target subjects of: dataset
class: DataCatalog
label: Datacatalogus @nl
description: Een datacatalogus bestaat uit een set van datasetbeschrijvingen @nl
description: A data catalog consists of a set of dataset descriptions
future change:
  version: 2.0
  node kind: IRI
property:
  description: Naam van de datacatalogus @nl
  description: Name of the data catalog
  path: name
  min count: 1
  severity: Violation
  or:
    datatype: string
  or:
    datatype: langString
  message: Voeg een titel toe @nl
  message: Add a title
property: SchemaNameUniqueLangProperty
property: SchemaNameLangStringProperty
property: SchemaDescriptionPropertyShouldExist
property: SchemaDescriptionProperty
property: SchemaDescriptionUniqueLangProperty
property: SchemaDescriptionLangStringProperty
property:
  description: Uitgever van de datacatalogus @nl
  description: Publisher of the data catalog
  future change:
    version: 2.0
    severity: Violation
  path: publisher
  min count: 1
  severity: Warning
  or:
    class: Organization
  or:
    class: Person
  message: Voeg een uitgever toe @nl
  message: Add a publisher
property:
  future change:
    version: 2.0
    severity: Violation
  path: publisher
  severity: Warning
  message: Gebruik maximaal één uitgever @nl
  message: Use at most one publisher
  max count: 1
property:
  class: Dataset
  description: Dataset(s) in de datacatalogus @nl
  description: Dataset(s) in the data catalog
  path: dataset
  min count: 1
  severity: Warning
  message: Voeg minimaal één datasetbeschrijving toe aan de datacatalogus @nl
  message: Add at least one dataset description to the data catalog

SchemaNameUniqueLangProperty
type: PropertyShape
path: name
message: Gebruik per taal maximaal één waarde @nl
message: Use at most one value per language
unique lang: true

SchemaNameLangStringProperty
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: name
severity: Warning
datatype: langString
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)

SchemaDescriptionPropertyShouldExist
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: description
min count: 1
severity: Warning
message: Voeg een beschrijving toe @nl
message: Add a description

SchemaDescriptionProperty
type: PropertyShape
description: Een beschrijving van de inhoud van de dataset. Deze is bij voorkeur minimaal drie zinnen en maximaal één alinea lang (2000 karakters). De vindbaarheid van de dataset wordt onder andere bepaald door de kwaliteit van de beschrijving. Denk hierbij aan verschillende gebruikers, vakgenoten maar ook anderen, waarvoor de tekst begrijpelijk moet zijn. @nl
description: A description of the contents of the dataset. Preferably at least three sentences and at most one paragraph (2,000 characters). The discoverability of the dataset depends in part on the quality of the description. Consider different audiences – both domain experts and others – for whom the text should be understandable.
path: description
or:
  datatype: string
or:
  datatype: langString

SchemaDescriptionUniqueLangProperty
type: PropertyShape
path: description
message: Gebruik per taal maximaal één waarde @nl
message: Use at most one value per language
unique lang: true

SchemaDescriptionLangStringProperty
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: description
severity: Warning
datatype: langString
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)

DatasetShape
type: NodeShape
description: Een datasetbeschrijving bestaat uit elementen die de dataset beschrijven @nl
description: A dataset description consists of elements that describe the dataset
node kind: IRI
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
property: SchemaNameUniqueLangProperty
property: SchemaNameLangStringProperty
property: SchemaDescriptionPropertyShouldExist
property: SchemaDescriptionProperty
property: SchemaDescriptionUniqueLangProperty
property: SchemaDescriptionLangStringProperty
property:
  description: De naam van de dataset. @nl
  description: A name given to the dataset.
  path: name
  min count: 1
  severity: Violation
  or:
    datatype: string
  or:
    datatype: langString
  message: Voeg een titel toe @nl
  message: Add a title
property:
  description: De organisatie of persoon die verantwoordelijk is voor de publicatie van de dataset. @nl
  description: An entity (organisation or person) responsible for making the Dataset available.
  path: publisher
  min count: 1
  or:
    class: Organization
  or:
    class: Person
  message: Voeg een uitgever toe @nl
  message: Add a publisher
property:
  path: publisher
  message: Gebruik maximaal één uitgever @nl
  message: Use at most one publisher
  max count: 1
property:
  description: Licentie die van toepassing is op de dataset. Deze licentie wordt overgenomen door alle distributies die geen eigen licentie hebben. @nl
  description: License applicable to the dataset. This license is inherited by all distributions that do not specify their own license. Publishers MUST make known under which license the dataset may be used. This license specifies the conditions under which the metadata records in the dataset may be accessed and reused. It does not cover the heritage objects (either physical or digital) that the metadata describes. Access conditions for these objects should be specified in their own descriptions within the dataset. The DERA requires metadata to be published openly, so this value SHOULD be an open license that allows consumers to reuse the data, such as `https://creativecommons.org/publicdomain/zero/1.0/` (CC0), `https://creativecommons.org/licenses/by/4.0/` (CC BY 4.0), or `https://creativecommons.org/licenses/by-sa/4.0/` (CC BY-SA 4.0). Adopting a non-open license will severely limit reuse and does not comply with the DERA principles. The value MUST be the canonical URI of a license. For example, use `https://creativecommons.org/publicdomain/zero/1.0/` instead of `https://creativecommons.org/publicdomain/zero/1.0/deed.nl`.
  path: license
  min count: 1
  severity: Violation
  message: Voeg een licentie toe @nl
  message: Add a license
property:
  node kind: IRIOrLiteral
  future change:
    version: 2.0
    node kind: IRI
  path: license
  severity: Warning
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
property:
  path: license
  severity: Warning
  message: Gebruik maximaal één licentie @nl
  message: Use at most one license
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: license
  severity: Warning
  message: Gebruik een van de Creative Commons-licenties, zoals https://creativecommons.org/publicdomain/zero/1.0/ (CC0) of https://creativecommons.org/licenses/by/4.0/ (CC BY 4.0) @nl
  message: Use one of the Creative Commons licenses, such as https://creativecommons.org/publicdomain/zero/1.0/ (CC0) or https://creativecommons.org/licenses/by/4.0/ (CC BY 4.0)
  in: https://creativecommons.org/publicdomain/zero/1.0/
  in: https://creativecommons.org/publicdomain/mark/1.0/
  in: https://creativecommons.org/licenses/by/4.0/
  in: https://creativecommons.org/licenses/by-sa/4.0/
  in: https://creativecommons.org/licenses/by-nc/4.0/
  in: https://creativecommons.org/licenses/by-nc-sa/4.0/
  in: https://creativecommons.org/licenses/by-nd/4.0/
  in: https://creativecommons.org/licenses/by-nc-nd/4.0/
property:
  path: license
  severity: Warning
  message: Gebruik https:// (niet http://) in de Creative Commons-licentie-URL @nl
  message: Use https:// (not http://) in the Creative Commons license URL
  node: LicenseCreativeCommonsHttpsShape
property:
  path: license
  severity: Warning
  message: Eindig de Creative Commons-licentie-URI met een slash @nl
  message: End the Creative Commons license URI with a slash
  node: LicenseCreativeCommonsTrailingSlashShape
property:
  path: license
  severity: Warning
  message: Gebruik de Creative Commons-URI zelf, geen opendefinition.org-alias @nl
  message: Use the Creative Commons URI directly, not an opendefinition.org alias
  node: LicenseNotOpenDefinitionShape
property:
  path: license
  severity: Warning
  message: Gebruik de officiële Open Data Commons-licentie-URI met versienummer, bijv. http://opendatacommons.org/licenses/odbl/1.0/ @nl
  message: Use an official Open Data Commons licence URI with a version number, such as http://opendatacommons.org/licenses/odbl/1.0/
  node: LicenseOpenDataCommonsShape
property:
  class: DataDownload
  description: Distributies waarmee de dataset kan worden opgehaald, bijvoorbeeld als download of via een API. @nl
  description: Distributions through which the dataset can be retrieved, such as as a download or via an API.
  path: distribution
  min count: 1
  severity: Info
property:
  description: De organisatie of persoon die verantwoordelijk is voor het creëren van de beschreven dataset. @nl
  description: An entity (organisation or person) responsible for producing the dataset.
  future change:
    version: 2.0
    severity: Violation
  path: creator
  min count: 1
  severity: Warning
  or:
    class: Organization
  or:
    class: Person
  message: Voeg een maker toe @nl
  message: Add a creator
property:
  description: De datum van formele uitgifte (bijvoorbeeld publicatie) van de dataset. @nl
  description: The date of formal issuance (such as publication) of the dataset.
  path: datePublished
  min count: 1
  severity: Info
  message: Vul de publicatiedatum in @nl
  message: Enter the publication date
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: datePublished
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: datePublished
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: De datum waarop de dataset is aangemaakt. @nl
  description: The date on which the dataset was created.
  path: dateCreated
  min count: 1
  severity: Info
  message: Vul de aanmaakdatum in @nl
  message: Enter the creation date
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: dateCreated
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: dateCreated
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: De meest recente datum waarop de dataset is gewijzigd of aangepast. @nl
  description: The most recent date on which the dataset was changed or modified.
  path: dateModified
  min count: 1
  severity: Info
  message: Vul de wijzigingsdatum in @nl
  message: Enter the last modified date
  max count: 1
property: PropertyShape
property: AccrualPeriodicityProperty
property: AccessRightsProperty
target class: Dataset
pattern: ^https?://

LicenseCreativeCommonsHttpsShape
type: NodeShape
not:
  pattern: ^http://creativecommons\.org/

LicenseCreativeCommonsTrailingSlashShape
type: NodeShape
or:
  not:
    pattern: ^https://creativecommons\.org/
or:
  pattern: ^https://creativecommons\.org/.+/$

LicenseNotOpenDefinitionShape
type: NodeShape
not:
  pattern: ^https?://www\.opendefinition\.org/licenses/

LicenseOpenDataCommonsShape
type: NodeShape
or:
  not:
    pattern: opendatacommons\.org
or:
  pattern: ^http://opendatacommons\.org/licenses/[^/]+/[0-9]+\.[0-9]+/$

AccrualPeriodicityProperty
type: PropertyShape
description: Hoe vaak de dataset wordt bijgewerkt. Gebruik een waarde uit de EU-frequentielijst, bijvoorbeeld http://publications.europa.eu/resource/authority/frequency/WEEKLY . @nl
description: How often the dataset is updated. Use a value from the EU frequency list, for example http://publications.europa.eu/resource/authority/frequency/WEEKLY .
node kind: IRI
path: accrualPeriodicity
min count: 0
message: Gebruik een officiële frequentie-URL uit de EU-lijst (bijvoorbeeld http://publications.europa.eu/resource/authority/frequency/WEEKLY) in plaats van tekst zoals ‘wekelijks’ @nl
message: Use a valid frequency URL from the EU list (such as http://publications.europa.eu/resource/authority/frequency/WEEKLY) instead of text
max count: 1
pattern: ^http://publications\.europa\.eu/resource/authority/frequency/

AccessRightsProperty
type: PropertyShape
description: Informatie over wie toegang heeft tot de dataset. Gebruik een waarde uit het EU Access Rights-vocabulaire. Standaard `PUBLIC` als er geen waarde is opgegeven. @nl
description: Information about who can access the dataset. Use a value from the EU Access Rights vocabulary. Defaults to `PUBLIC` if not provided.
node kind: IRI
path: accessRights
min count: 0
message: Kies toegangsrechten uit de lijst (EU Access Rights) @nl
message: Select access rights from the EU Access Rights list
max count: 1
in: PUBLIC
in: RESTRICTED
in: NON PUBLIC

DistributionShape
type: NodeShape
property: SchemaDescriptionUniqueLangProperty
property:
  description: De URL die rechtstreeks toegang biedt tot de distributie zelf: het databestand of het endpoint van de web-API. Gebruik `schema:documentation` als er daarnaast een documentatiepagina is die de distributie beschrijft of ontsluit (zoals een SPARQL-UI of een downloadlandingspagina). @nl
  description: The URL that provides direct access to the distribution itself: the data file or the web API endpoint. Use `schema:documentation` if there is also a documentation page that describes or provides access to the distribution (such as a SPARQL UI or a download landing page).
  path: contentUrl
  min count: 1
  severity: Violation
  message: Voeg de URL toe waar de distributie rechtstreeks toegankelijk is @nl
  message: Add the URL where the distribution can be directly accessed
  max count: 1
property:
  future change:
    version: 2.0
    node kind: IRI
    severity: Violation
  path: contentUrl
  severity: Warning
  or:
    node kind: IRI
  or:
    datatype: anyURI
  message: Gebruik een geldige HTTPS-URL voor de distributie @nl
  message: Use a valid HTTPS URL for the distribution
  pattern: ^https://
property:
  or:
    property:
      path: encodingFormat
      min count: 1
  or:
    property:
      path: usageInfo
      min count: 1
  message: Geef het MIME-type van de dataset op (bijv. application/n-triples) of het API-protocol (bijv. https://www.w3.org/TR/sparql11-protocol/) @nl
  message: Specify the dataset format (such as application/n-triples) or the API protocol (such as https://www.w3.org/TR/sparql11-protocol/)
property:
  description: Het mediatype van het downloadbare bestand. Gebruik een waarde uit de IANA media types-lijst. De waarde geeft het mediatype aan van de response van schema:contentUrl wanneer er geen Accept-header wordt meegestuurd. Bij gecomprimeerde distributies moet het compressieformaat (bijv. zip, gzip) worden toegevoegd (bijv. text/turtle+gzip). @nl
  description: The media type of the downloadable file. Use a value from the IANA media types list. The value should indicate the media type of the response of schema:contentUrl when no Accept header is included in the request. When the distribution is compressed, the compression format (such as `zip`, `gzip`) must be included (such as `text/turtle+gzip`).
  future change:
    version: 2.0
    max count: 1
  path: encodingFormat
  message: Vul een geldig MIME-type in, bijv. application/n-triples @nl
  message: Enter a valid MIME type, such as application/n-triples
  pattern: ^[a-zA-Z]+/[a-zA-Z0-9][a-zA-Z0-9!#$&\-^_.+]*$
property:
  future change:
    version: 2.0
    severity: Violation
  path: encodingFormat
  severity: Warning
  message: Verwijder het SPARQL MIME-type uit schema:encodingFormat; SPARQL-endpoints worden gedeclareerd via schema:usageInfo @nl
  message: Remove the SPARQL MIME type from schema:encodingFormat; SPARQL endpoints are declared via schema:usageInfo
  not:
    pattern: application/sparql-
property:
  description: Beschrijving van de distributie @nl
  description: Distribution description
  path: description
  or:
    datatype: string
  or:
    datatype: langString
  message: Gebruik een waarde van type xsd:string of rdf:langString @nl
  message: Use a value of type xsd:string or rdf:langString
property: PropertyShape
  description: De datum van formele uitgifte (bijvoorbeeld publicatie) van de distributie. @nl
  description: The date of formal issuance (such as publication) of the distribution.
  path: datePublished
  min count: 0
  max count: 1
property:
  description: De meest recente datum waarop de distributie is gewijzigd of aangepast. @nl
  description: The most recent date on which the distribution was changed or modified.
  path: dateModified
  min count: 0
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: datePublished
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: dateModified
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: datePublished
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  future change:
    version: 2.0
    severity: Violation
  path: dateModified
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: Taal of talen waarin de distributie beschikbaar is. Gebruik een BCP 47-taalcode, bijv. `nl`. @nl
  description: Language or languages in which the distribution is available. Use a BCP 47 language code, such as `nl`.
  future change:
    version: 2.0
    pattern: ^[a-zA-Z]{2,3}(-[a-zA-Z0-9]+)*$
  path: inLanguage
  min count: 0
  message: Gebruik een BCP 47-taalcode, bijv. nl of en @nl
  message: Use a BCP 47 language code, such as nl or en
property:
  description: Licentie die van toepassing is op deze distributie en die de licentie van de bovenliggende dataset overschrijft. Optioneel; gebruik dit alleen wanneer de distributie een andere licentie heeft dan de dataset. @nl
  description: License applicable to this distribution, overriding the parent dataset's license. Optional; only set this when the distribution carries a different license from the dataset.
  node kind: IRIOrLiteral
  future change:
    version: 2.0
    node kind: IRI
  path: license
  min count: 0
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
property:
  path: license
  severity: Warning
  message: Gebruik maximaal één licentie @nl
  message: Use at most one license
  max count: 1
property: PropertyShape
  description: Bestandsgrootte van de distributie in bytes. @nl
  description: Distribution file size in bytes.
  path: contentSize
  min count: 0
  max count: 1
property: PropertyShape
  description: Een link naar de documentatie: voor downloads het applicatieprofiel, vocabulaire of ontologie; voor web-API’s (zoals SPARQL of OAI-PMH) de protocolspecificatie. @nl
  description: A link to the documentation: for downloads, the application profile, vocabulary or ontology; for web APIs (such as SPARQL or OAI-PMH), the protocol specification.
  node kind: IRI
  future change:
    version: 2.0
    severity: Violation
  path: usageInfo
  min count: 0
  severity: Warning
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
property:
  future change:
    version: 2.0
    severity: Violation
  path: usageInfo
  severity: Warning
  message: Use a web URI starting with http:// or https://
  message: Gebruik een web URI die begint met http:// of https:// @nl
  pattern: ^https?://
property: PropertyShape
  description: Een documentatiepagina die deze distributie beschrijft of ontsluit, zoals een SPARQL-UI of een downloadlandingspagina. `schema:contentUrl` wijst naar de distributie zelf (het databestand of het API-endpoint). @nl
  description: A documentation page that describes or provides access to this distribution, such as a SPARQL UI or a download landing page. `schema:contentUrl` points to the distribution itself (the data file or the API endpoint).
  node kind: IRI
  path: documentation
  min count: 0
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
  name: Documentation
property:
  path: documentation
  message: Gebruik een web-URL die begint met https:// @nl
  message: Use a web URL starting with https://
  pattern: ^https://
property:
  path: description
  min count: 1
  severity: Info
  message: Voeg een beschrijving toe @nl
  message: Add a description
target objects of: distribution

DistributionSparqlEncodingRequiresProtocolShape
type: NodeShape
future change:
  version: 2.0
  severity: Violation
severity: Warning
message: Voeg de SPARQL protocol-URI (https://www.w3.org/TR/sparql11-protocol/) toe aan schema:usageInfo voor SPARQL-endpoints @nl
message: Add the SPARQL protocol URI (https://www.w3.org/TR/sparql11-protocol/) to schema:usageInfo for SPARQL endpoints
target objects of: distribution
sparql:
  select: PREFIX schema: <https://schema.org/> SELECT $this ?path WHERE { $this schema:encodingFormat ?format . FILTER(CONTAINS(STR(?format), "application/sparql-")) FILTER NOT EXISTS { $this schema:usageInfo <https://www.w3.org/TR/sparql11-protocol/> . } BIND(schema:usageInfo AS ?path) }

DistributionSparqlMediaTypeRequiresProtocolShape
type: NodeShape
future change:
  version: 2.0
  severity: Violation
severity: Warning
message: Voeg de SPARQL protocol-URI (https://www.w3.org/TR/sparql11-protocol/) toe aan dct:conformsTo voor SPARQL-endpoints @nl
message: Add the SPARQL protocol URI (https://www.w3.org/TR/sparql11-protocol/) to dct:conformsTo for SPARQL endpoints
target objects of: distribution
sparql:
  select: PREFIX dcat: <http://www.w3.org/ns/dcat#> PREFIX dct: <http://purl.org/dc/terms/> SELECT $this ?path WHERE { $this dcat:mediaType ?mediaType . FILTER(CONTAINS(STR(?mediaType), "application/sparql-")) FILTER NOT EXISTS { $this dct:conformsTo <https://www.w3.org/TR/sparql11-protocol/> . } BIND(dct:conformsTo AS ?path) }

AgentShape
type: NodeShape
node kind: IRI
message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
message: Use a value of type URI (RDF resource), not text
property: SchemaNameUniqueLangProperty
property: SchemaNameLangStringProperty
property:
  description: De volledige naam van de uitgever of maker. @nl
  description: The full name of the publisher or creator.
  path: name
  min count: 1
  severity: Violation
  or:
    datatype: string
  or:
    datatype: langString
  message: Vul een naam in voor de uitgever of maker @nl
  message: Enter a name for the publisher or creator
property:
  description: Alternatieve namen, zoals een afkorting waaronder de organisatie bekendstaat. @nl
  description: Alternative names such as an abbreviation that the organization is known under.
  path: alternateName
  min count: 0
  or:
    datatype: string
  or:
    datatype: langString
  message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
  message: Use a value of type rdf:langString and specify the language (such as nl or en)
property:
  path: alternateName
  severity: Warning
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  future change:
    version: 2.0
    severity: Violation
  path: alternateName
  severity: Warning
  datatype: langString
  message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
  message: Use a value of type rdf:langString and specify the language (such as nl or en)
property:
  description: Identificatie(s) van de organisatie, minimaal de ISIL-code. @nl
  description: Identifier(s) of the organization, at least its ISIL code.
  path: identifier
  min count: 0
  severity: Warning
  or:
    datatype: string
  or:
    class: PropertyValue
  message: Gebruik een waarde van type xsd:string of schema:PropertyValue @nl
  message: Use a value of type xsd:string or schema:PropertyValue
property:
  description: Verwijzingen naar de organisatie in andere databases. @nl
  description: Links to the organization in other databases.
  node kind: IRI
  path: sameAs
  min count: 0
  severity: Info
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
property:
  path: sameAs
  severity: Info
  message: Gebruik een web-URI die begint met http:// of https:// @nl
  message: Use a web URI starting with http:// or https://
  pattern: ^https?://
property:
  description: Contactinformatie waar eindgebruikers terecht kunnen met vragen over de dataset. Gebruik bij voorkeur de gegevens van de afdeling die de dataset of catalogus beheert, niet die van een individuele medewerker. @nl
  description: Contact information where end users can get in touch with questions about the dataset. Preferably use the details of the department that manages the dataset or catalogue, rather than an individual employee.
  future change:
    version: 2.0
    severity: Violation
  path: contactPoint
target objects of: publisher
target objects of: creator

AgentUriPatternShape
type: NodeShape
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
pattern: ^https?://
target objects of: publisher
target objects of: creator

OrganizationContactPointRequiredShape
type: NodeShape
future change:
  version: 2.0
  severity: Violation
severity: Warning
message: Voeg een contactpunt toe met naam en e-mailadres. Gebruik bij voorkeur de gegevens van de afdeling die de dataset of catalogus beheert @nl
message: Add a contact point with a name and email address, preferably of the department that manages the dataset or catalogue
target objects of: publisher
target objects of: creator
sparql:
  select: PREFIX schema: <https://schema.org/> SELECT $this ?path WHERE { $this a schema:Organization . FILTER NOT EXISTS { $this schema:contactPoint ?cp } BIND(schema:contactPoint AS ?path) }

OrganizationIdentifierRequiredShape
type: NodeShape
severity: Info
message: Voeg een identificatie toe voor de organisatie, zoals een KvK-nummer of ISIL @nl
message: Add an identifier for the organisation, such as a Chamber of Commerce number or ISIL
target objects of: publisher
target objects of: creator
sparql:
  select: PREFIX schema: <https://schema.org/> SELECT $this ?path WHERE { $this a schema:Organization . FILTER NOT EXISTS { $this schema:identifier ?id } BIND(schema:identifier AS ?path) }

IdentifierPropertyIDRequiredShape
type: NodeShape
severity: Warning
message: Geef aan om welk type identifier het gaat (bijv. KvK of ISIL), naast de waarde @nl
message: Specify the type of identifier (such as ‘Chamber of Commerce’ or ‘ISIL’) in addition to the value
target objects of: identifier
sparql:
  select: PREFIX schema: <https://schema.org/> SELECT $this ?path WHERE { $this a schema:PropertyValue . OPTIONAL { $this schema:propertyID ?pid } FILTER (!bound(?pid) || !isURI(?pid)) BIND(schema:propertyID AS ?path) }

IdentifierValueRequiredShape
type: NodeShape
severity: Warning
message: Vul de waarde van de identifier in (bijv. een nummer of code) @nl
message: Enter the identifier value (such as a number or code)
target objects of: identifier
sparql:
  select: PREFIX schema: <https://schema.org/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT $this ?path WHERE { $this a schema:PropertyValue . OPTIONAL { $this schema:value ?v } FILTER (!bound(?v) || !isLiteral(?v) || datatype(?v) != xsd:string) BIND(schema:value AS ?path) }

IdentifierNameStringShape
type: NodeShape
severity: Warning
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)
target objects of: identifier
sparql:
  select: PREFIX schema: <https://schema.org/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT $this ?path WHERE { $this a schema:PropertyValue . $this schema:name ?n . FILTER (!isLiteral(?n) || (datatype(?n) != xsd:string && datatype(?n) != rdf:langString)) BIND(schema:name AS ?path) }

IdentifierPropertyValueDescriptionShape
type: NodeShape
property:
  description: Het type identificatie, bijvoorbeeld KvK of ISIL. @nl
  description: The type of identifier, such as Chamber of Commerce (KvK) or ISIL.
  path: propertyID
property:
  description: De waarde van de identificatie, bijvoorbeeld een nummer of code. @nl
  description: The identifier value, such as a number or code.
  path: value
target class: PropertyValue

ContactPointShape
type: NodeShape
property:
  description: Naam van het contactpunt, bij voorkeur een afdeling (“Afdeling datasets”) in plaats van een individuele medewerker. Geef de waarde een taaltag, zodat een meertalige afdelingsnaam of een niet-Latijnse persoonsnaam in de juiste taal getoond kan worden. @nl
  description: Name of the contact point, preferably a department (“Datasets department”) rather than an individual employee. Tag the value with a language so that a multilingual department name or a non-Latin personal name can be shown in the appropriate language.
  path: name
  min count: 1
  message: Vul een naam in voor het contactpunt @nl
  message: Enter a name for the contact point
property:
  path: name
  or:
    datatype: string
  or:
    datatype: langString
property:
  path: name
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  future change:
    version: 2.0
    severity: Violation
  path: name
  severity: Warning
  datatype: langString
  message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
  message: Use a value of type rdf:langString and specify the language (such as nl or en)
property:
  path: email
  min count: 1
  message: Vul een e-mailadres in voor het contactpunt @nl
  message: Enter an email address for the contact point
target objects of: contactPoint

DcTitleLangStringProperty
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: title
severity: Warning
datatype: langString
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)

DcDescriptionLangStringProperty
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: description
severity: Warning
datatype: langString
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)

FoafNameLangStringProperty
type: PropertyShape
future change:
  version: 2.0
  severity: Violation
path: name
severity: Warning
datatype: langString
message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
message: Use a value of type rdf:langString and specify the language (such as nl or en)

DatasetShape
type: NodeShape
property: AccrualPeriodicityProperty
property: AccessRightsProperty
property: DcTitleLangStringProperty
property: DcDescriptionLangStringProperty
property:
  description: De naam van de dataset. @nl
  description: A name given to the dataset.
  path: title
  min count: 1
  or:
    datatype: string
  or:
    datatype: langString
property:
  path: title
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  description: Een beschrijving van de inhoud van de dataset. Deze is bij voorkeur minimaal drie zinnen en maximaal één alinea lang (2000 karakters). De vindbaarheid van de dataset wordt onder andere bepaald door de kwaliteit van de beschrijving. Denk hierbij aan verschillende gebruikers, vakgenoten maar ook anderen, waarvoor de tekst begrijpelijk moet zijn. @nl
  description: A description of the contents of the dataset. Preferably at least three sentences and at most one paragraph (2,000 characters). The discoverability of the dataset depends in part on the quality of the description. Consider different audiences – both domain experts and others – for whom the text should be understandable.
  future change:
    version: 2.0
    severity: Violation
  path: description
  min count: 1
  severity: Warning
  message: Voeg een beschrijving toe @nl
  message: Add a description
property:
  path: description
  or:
    datatype: string
  or:
    datatype: langString
  message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
  message: Use a value of type rdf:langString and specify the language (such as nl or en)
property:
  path: description
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  description: De datum waarop de dataset is aangemaakt. @nl
  description: The date on which the dataset was created.
  path: created
  min count: 1
  severity: Info
  message: Vul de aanmaakdatum in @nl
  message: Enter the creation date
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: created
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: created
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: De datum van formele uitgifte (bijvoorbeeld publicatie) van de dataset. @nl
  description: The date of formal issuance (such as publication) of the dataset.
  path: issued
  min count: 1
  severity: Info
  message: Vul de uitgiftedatum in @nl
  message: Enter the issue date
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: issued
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: issued
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: De meest recente datum waarop de dataset is gewijzigd of aangepast. @nl
  description: The most recent date on which the dataset was changed or modified.
  path: modified
  min count: 1
  severity: Info
  message: Vul de wijzigingsdatum in @nl
  message: Enter the modification date
  max count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: modified
  severity: Warning
  or:
    datatype: Date
  or:
    datatype: DateTime
  or:
    datatype: dateTime
  or:
    datatype: date
  message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
  message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime
property:
  future change:
    version: 2.0
    severity: Violation
  path: modified
  severity: Warning
  message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
  message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
  pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$
property:
  description: Woorden of geformaliseerde zinnen om een dataset te beschrijven. @nl
  description: Words or formalized phrases to describe the dataset.
  path: keyword
  min count: 1
  severity: Info
  message: Voeg trefwoorden toe @nl
  message: Add keywords
property:
  description: Het geografische gebied waarop de gegevens in de dataset betrekking hebben. Gebruik een URI uit een gecontroleerd vocabulaire zoals GeoNames. Zoek plaats-URI’s via het Termennetwerk. @nl
  description: The geographical area to which the data in the dataset pertains. Use a URI from a controlled vocabulary such as GeoNames. Find place URIs via the Network of Terms.
  path: spatial
  min count: 1
  severity: Info
  message: Voeg een gebiedsaanduiding toe (bijv. een URL uit GeoNames) @nl
  message: Add spatial coverage (such as a GeoNames URL)
property:
  node kind: IRI
  future change:
    version: 2.0
    severity: Violation
  path: spatial
  severity: Warning
  message: Gebruik een URI voor het gebied (bijv. https://sws.geonames.org/2750405/) in plaats van alleen een plaatsnaam @nl
  message: Use a valid URI (such as via GeoNames: https://sws.geonames.org/2750405/) instead of just a place name
  pattern: ^https?://
property:
  description: De tijdsperiode waar de dataset betrekking op heeft. De waarde moet een ISO 8601-datum of -tijdsinterval zijn (bijv. ‘2011’, ‘2011/2012’, ‘1889-06/07’ voor een verkorte notatie, ‘-0431/-0404’ voor v.Chr.-dateringen, of ‘1440/..’ voor een open einde), of een HTTP(S)-URI. @nl
  description: The time period to which the dataset pertains. The value must be an ISO 8601 date or time interval (such as ‘2011’, ‘2011/2012’, ‘1889-06/07’ for shortened notation, ‘-0431/-0404’ for BCE dates, or ‘1440/..’ for an open-ended range), or an HTTP(S) URI.
  path: temporal
  min count: 1
  severity: Info
  message: Voeg een tijdsaanduiding toe @nl
  message: Add temporal coverage
property:
  future change:
    version: 2.0
    severity: Violation
  path: temporal
  severity: Warning
  or:
    node kind: IRI
    pattern: ^https?://
  or:
    pattern: ^(-?\d{4}(-\d{2}(-\d{2}(T\d{2}:\d{2}(:\d{2})?)?)?)?|\.\.)(/(-?\d{4}(-\d{2}(-\d{2}(T\d{2}:\d{2}(:\d{2})?)?)?)?|\d{2}(-\d{2})?|\.\.))?$
  or:
    class: PeriodOfTime
  message: Gebruik een ISO 8601-datum of -tijdsinterval (bijv. ‘2011/2012’, ‘-0431/-0404’ voor v.Chr., of ‘1440/..’) of een web-URI @nl
  message: Use an ISO 8601 date or time interval (such as ‘2011/2012’, ‘-0431/-0404’ for BCE, or ‘1440/..’) or a web URI
property:
  description: De natuurlijke taal van de tekstuele waarden in de dataset. Gebruik een waarde uit de EU Vocabularies Languages Named Authority List. @nl
  description: The natural language of the textual values in the dataset. Use a value from the EU Vocabularies Languages Named Authority List.
  future change:
    version: 2.0
    node kind: IRI
    pattern: ^http://publications\.europa\.eu/resource/authority/language/
  path: language
  min count: 1
  severity: Info
  message: Vul de taal of talen in @nl
  message: Enter the language or languages of the dataset
property: PropertyShape
target class: Dataset

DistributionShape
type: NodeShape
or:
  property:
    description: De URL die toegang verschaft tot een distributie van de dataset. @nl
    description: The URL that provides access to a distribution of the dataset.
    path: accessURL
    min count: 1
    max count: 1
or:
  property:
    description: De URL van het downloadbare bestand in een bepaald formaat. @nl
    description: The URL of the downloadable file in a specific format.
    path: downloadURL
    min count: 1
    max count: 1
or:
  property:
    description: Het mediatype van de distributie conform de IANA-indeling. @nl
    description: The media type of the distribution according to the IANA classification.
    future change:
      version: 2.0
      max count: 1
    path: mediaType
    min count: 1
or:
  property:
    description: Het formaat van de distributie. @nl
    description: The format of the distribution.
    path: format
    min count: 1
property:
  future change:
    version: 2.0
    severity: Violation
  path: mediaType
  severity: Warning
  message: Verwijder het SPARQL MIME-type uit dcat:mediaType; SPARQL-endpoints worden gedeclareerd via dct:conformsTo @nl
  message: Remove the SPARQL MIME type from dcat:mediaType; SPARQL endpoints are declared via dct:conformsTo
  not:
    pattern: application/sparql-
property:
  description: Standaarden of specificaties waaraan de distributie voldoet. Voor SPARQL-endpoints moet dit de SPARQL protocol-URI bevatten. @nl
  description: Standards or specifications the distribution conforms to. For SPARQL endpoints, this must include the SPARQL protocol URI.
  path: conformsTo
property:
  description: De licentie waaronder de distributie beschikbaar is gesteld. @nl
  description: The license under which the distribution is made available.
  future change:
    version: 2.0
    severity: Violation
  path: license
  min count: 1
  severity: Warning
  message: Voeg één licentie toe @nl
  message: Add exactly one license
  max count: 1
property:
  node kind: IRI
  future change:
    version: 2.0
    severity: Violation
  path: license
  severity: Warning
  message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
  message: Use a value of type URI (RDF resource), not text
property:
  path: license
  severity: Warning
  message: Gebruik https:// (niet http://) in de Creative Commons-licentie-URL @nl
  message: Use https:// (not http://) in the Creative Commons license URL
  node: LicenseCreativeCommonsHttpsShape
property:
  path: license
  severity: Warning
  message: Eindig de Creative Commons-licentie-URL met een slash @nl
  message: End the Creative Commons license URL with a slash
  node: LicenseCreativeCommonsTrailingSlashShape
property:
  path: license
  severity: Warning
  message: Gebruik de Creative Commons-URL zelf, geen opendefinition.org-alias @nl
  message: Use the Creative Commons URL directly, not an opendefinition.org alias
  node: LicenseNotOpenDefinitionShape
property:
  path: license
  severity: Warning
  message: Gebruik de officiële Open Data Commons-licentie-URL met versienummer, bijv. http://opendatacommons.org/licenses/odbl/1.0/ @nl
  message: Use an official Open Data Commons licence URL with a version number, such as http://opendatacommons.org/licenses/odbl/1.0/
  node: LicenseOpenDataCommonsShape
property:
  description: De natuurlijke taal van de tekstuele waarden in de distributie. Gebruik een waarde uit de EU Vocabularies Languages Named Authority List. @nl
  description: The natural language of the textual values in the distribution. Use a value from the EU Vocabularies Languages Named Authority List.
  future change:
    version: 2.0
    node kind: IRI
    pattern: ^http://publications\.europa\.eu/resource/authority/language/
  path: language
  min count: 0
  severity: Info
  message: Vul de taal of talen in waarin de distributie beschikbaar is @nl
  message: Enter the language or languages of the distribution
property:
  path: accessURL
  severity: Warning
  message: De accessURL is niet bereikbaar; de dataset kan niet worden geraadpleegd. @nl
  message: The accessURL is not reachable; the dataset cannot be accessed.
  probe reachable: true
property:
  path: downloadURL
  severity: Warning
  message: De downloadURL is niet bereikbaar; het bestand kan niet worden opgehaald. @nl
  message: The downloadURL is not reachable; the file cannot be retrieved.
  probe reachable: true
property:
  path: accessURL
  severity: Warning
  message: Het Content-Type van de accessURL komt niet overeen met de opgegeven dcat:mediaType. @nl
  message: The Content-Type of the accessURL does not match the declared dcat:mediaType.
  probe format match: true
property:
  path: downloadURL
  severity: Warning
  message: Het Content-Type van de downloadURL komt niet overeen met de opgegeven dcat:mediaType. @nl
  message: The Content-Type of the downloadURL does not match the declared dcat:mediaType.
  probe format match: true
target objects of: distribution

CatalogShape
type: NodeShape
target subjects of: dataset
class: Catalog
property: DcTitleLangStringProperty
property: DcDescriptionLangStringProperty
property:
  description: De naam van de catalogus. @nl
  description: The name of the catalog.
  path: title
  min count: 1
  or:
    datatype: string
  or:
    datatype: langString
  message: Voeg een titel toe @nl
  message: Add a title
property:
  path: title
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  description: Een beschrijving van de catalogus. @nl
  description: A description of the catalog.
  future change:
    version: 2.0
    severity: Violation
  path: description
  min count: 1
  severity: Warning
  message: Voeg een beschrijving toe @nl
  message: Add a description
property:
  path: description
  or:
    datatype: string
  or:
    datatype: langString
  message: Gebruik een waarde van type rdf:langString en geef de taal aan (bijv. nl of en) @nl
  message: Use a value of type rdf:langString and specify the language (such as nl or en)
property:
  path: description
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
property:
  description: De organisatie die verantwoordelijk is voor de publicatie van de catalogus. @nl
  description: The organization responsible for publishing the catalog.
  future change:
    version: 2.0
    severity: Violation
  path: publisher
  min count: 1
  severity: Warning
  message: Voeg een uitgever toe @nl
  message: Add a publisher
property:
  future change:
    version: 2.0
    severity: Violation
  path: publisher
  severity: Warning
  message: Gebruik maximaal één uitgever @nl
  message: Use at most one publisher
  max count: 1
property:
  description: Contactinformatie waar eindgebruikers contact kunnen opnemen met vragen over de catalogus. Dit bevat het e-mailadres of een link (URL) naar het contactformulier van de verantwoordelijke organisatie. Het e-mailadres is een functioneel e-mailadres van de organisatie of organisatieonderdeel. @nl
  description: Contact information where end users can get in touch with questions about the catalog. This contains the e-mail address or a link (URL) to the contact form of the responsible organization. The e-mail address should be a functional e-mail address of the organization or department.
  future change:
    version: 2.0
    severity: Violation
  path: contactPoint
  min count: 1
  severity: Warning
  message: Voeg een contactpunt toe met naam en e-mailadres. Gebruik bij voorkeur de gegevens van de afdeling die de dataset of catalogus beheert @nl
  message: Add a contact point with a name and email address, preferably of the department that manages the dataset or catalogue
  max count: 1
property:
  description: De datasets in de catalogus. @nl
  description: The datasets in the catalog.
  path: dataset
  min count: 1
  message: Voeg minimaal één datasetbeschrijving toe aan de datacatalogus. Een datacatalogus bestaat namelijk uit datasetbeschrijvingen @nl
  message: Add at least one dataset description to the data catalog. A data catalog consists of dataset descriptions

ContactPointShape
type: NodeShape
property:
  path: fn
  min count: 1
  message: Vul een naam in voor het contactpunt @nl
  message: Enter a name for the contact point
property:
  node kind: IRI
  future change:
    version: 2.0
    severity: Violation
  path: hasEmail
  min count: 1
  severity: Warning
  message: Vul een e-mailadres in voor het contactpunt, als mailto:-URL @nl
  message: Enter an email address for the contact point, as a mailto: URL
  pattern: ^mailto:
target objects of: contactPoint

AgentShape
type: NodeShape
node kind: IRI
property: FoafNameLangStringProperty
property:
  description: De naam van de uitgever of maker. @nl
  description: The name of the publisher or creator.
  path: name
  min count: 1
  or:
    datatype: string
  or:
    datatype: langString
  message: Gebruik per taal maximaal één waarde @nl
  message: Use at most one value per language
  unique lang: true
pattern: ^https?://
target objects of: publisher
target objects of: creator

Distribution reachability check
type: ConstraintComponent
label: Distributie-bereikbaarheidscontrole @nl
comment: Asserts that the IRI value at the annotated property path responds successfully to an HTTP probe. Activated on a property shape by setting nde-probe:probeReachable true.
parameter:
  path: probeReachable
  datatype: boolean

Distribution format match check
type: ConstraintComponent
label: Distributie-formaatcontrole @nl
comment: Asserts that the HTTP Content-Type returned by the probed URL is compatible with the declared dcat:mediaType (or schema:encodingFormat). Activated on a property shape by setting nde-probe:probeFormatMatch true.
parameter:
  path: probeFormatMatch
  datatype: boolean

Distribution probe outcome
type: Class
label: Uitkomst distributiecontrole @nl

Network error before any HTTP response
type: Distribution probe outcome
label: Netwerkfout voor enige HTTP-respons @nl

HTTP 404 Not Found
type: Distribution probe outcome
label: HTTP 404 niet gevonden @nl

HTTP 5xx server error
type: Distribution probe outcome
label: HTTP 5xx-serverfout @nl

Authentication required (HTTP 401 or 403)
type: Distribution probe outcome
label: Authenticatie vereist (HTTP 401 of 403) @nl

Rate limited (HTTP 429)
type: Distribution probe outcome
label: Rate-limiet (HTTP 429) @nl

Response Content-Type does not match the declared media type
type: Distribution probe outcome
label: Content-Type van respons komt niet overeen met het opgegeven mediatype @nl

Response has no Content-Type header
type: Distribution probe outcome
label: Respons heeft geen Content-Type-header @nl

Response body is empty
type: Distribution probe outcome
label: Responsbody is leeg @nl

SPARQL probe query failed
type: Distribution probe outcome
label: SPARQL-probequery mislukt @nl

RDF data dump could not be parsed
type: Distribution probe outcome
label: RDF-databundel kon niet worden geparseerd @nl

future change:
  version: 2.0
  severity: Violation
path: dateModified
severity: Warning
or:
  datatype: Date
or:
  datatype: DateTime
or:
  datatype: dateTime
or:
  datatype: date
message: Gebruik een waarde van type xsd:date, xsd:dateTime, schema:Date of schema:DateTime @nl
message: Use a value of type xsd:date, xsd:dateTime, schema:Date or schema:DateTime

future change:
  version: 2.0
  severity: Violation
path: dateModified
severity: Warning
message: Gebruik een ISO 8601-datum, bijv. 2026-04-14 of 2026-04-14T10:30:00 @nl
message: Use an ISO 8601 date, such as 2026-04-14 or 2026-04-14T10:30:00
pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}.*)?$

PropertyShape
description: Versieaanduiding van de dataset, bijvoorbeeld een semantisch versienummer of een datum. @nl
description: Version identifier of the dataset, such as a semantic version number or a date.
path: version
min count: 0
message: Voeg een versie toe (bijv. 1.0 of 2.1) als je met meerdere versies van een datasetbeschrijving werkt @nl
message: Add a version (such as 1.0 or 2.1) if you work with multiple versions of the dataset description
max count: 1

PropertyShape
description: De natuurlijke taal van de tekstuele waardes in de dataset – dus van de metadata-records zelf (titels, omschrijvingen enzovoort). Gebruik een BCP 47-taalcode, bijv. `nl` of `en`. @nl
description: The natural language of the textual values within the dataset – that is, of the metadata records themselves (titles, descriptions, and so on). Use a BCP 47 language code, such as `nl` or `en`.
future change:
  version: 2.0
  pattern: ^[a-zA-Z]{2,3}(-[a-zA-Z0-9]+)*$
path: inLanguage
min count: 0

PropertyShape
description: Een webpagina die toegang biedt tot de dataset, zijn distributies of aanvullende informatie. Niet nodig als de URI van de dataset zelf al naar een HTML-pagina leidt. De menselijk leesbare beschrijving MOET consistent zijn met en minstens alle details (zoals distributies) uit de RDF-datasetbeschrijving bevatten. @nl
description: A web page that provides access to the Dataset, its Distributions and/or additional information. Not needed when the dataset URI itself resolves to an HTML page. The human-readable description MUST be consistent with and include at least all details (such as distributions) from the RDF dataset description.
node kind: IRI
path: mainEntityOfPage
min count: 0
message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
message: Use a value of type URI (RDF resource), not text

path: mainEntityOfPage
message: Gebruik een web-URL die begint met https:// @nl
message: Use a web URL starting with https://
pattern: ^https://

PropertyShape
description: De URI van een dataset waarop deze dataset is gebaseerd (voorheen schema:isBasedOnUrl). @nl
description: The URI of a dataset this dataset is based on (previously schema:isBasedOnUrl).
path: isBasedOn
min count: 0

PropertyShape
description: Een citaat of verwijzing voor de dataset. @nl
description: A citation or reference for the dataset.
path: citation
min count: 0

description: `schema:genre` is verouderd. Gebruik `schema:about` met een URI (bijv. uit AAT of GTAA via het Termennetwerk) voor zowel onderwerp als materiaaltype. @nl
description: `schema:genre` is deprecated. Use `schema:about` with a URI (e.g. from AAT or GTAA via the Network of Terms) for both subject and material type.
future change:
  version: 2.0
  severity: Violation
path: genre
severity: Warning
message: schema:genre is verouderd; gebruik schema:about met een URI (bijvoorbeeld uit het Termennetwerk) @nl
message: schema:genre is deprecated; use schema:about with a URI (for example from the Network of Terms)
max count: 0

description: Het onderwerp of de onderwerpen van de dataset, waaronder zowel inhoudelijke thema’s (zoals ‘Wederopbouw’ of ‘Koloniale geschiedenis’) als materiaaltypen (zoals ‘Foto’s’ of ‘Bouwtekeningen’). Gebruik een URI uit een gecontroleerd vocabulaire (bijv. AAT, GTAA of Brinkman via het Termennetwerk). @nl
description: The subject matter of the dataset, covering both topical themes (such as ‘post-war reconstruction’ or ‘colonial history’) and material types (such as ‘photographs’ or ‘architectural drawings’). Use a URI from a controlled vocabulary (e.g. AAT, GTAA, or Brinkman via the Network of Terms).
path: about
min count: 1
severity: Info
message: Voeg een URI toe die het onderwerp of materiaaltype van de dataset beschrijft (bijv. uit het Termennetwerk) @nl
message: Add a URI describing the dataset’s subject matter or material type (for example from the Network of Terms)

node kind: IRI
path: about
message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
message: Use a value of type URI (RDF resource), not text

path: about
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
pattern: ^https?://

description: Woorden of geformaliseerde zinnen om een dataset te beschrijven. Trefwoorden zijn vrije tekst; gebruik `schema:about` voor URI’s die het onderwerp beschrijven. @nl
description: Words or formalized phrases to describe the dataset. Keywords are free text; use `schema:about` for URIs describing the subject matter.
path: keywords
min count: 1
severity: Info
message: Voeg trefwoorden toe @nl
message: Add keywords

future change:
  version: 2.0
  severity: Violation
path: keywords
severity: Warning
message: Gebruik schema:about voor URI’s die het onderwerp beschrijven @nl
message: Use schema:about for URIs describing the subject matter
not:
  pattern: ^https?://

description: Het geografische gebied waarop de gegevens in de dataset betrekking hebben. Gebruik een URI uit een gecontroleerd vocabulaire zoals GeoNames via het Termennetwerk. @nl
description: The geographical area to which the data in the dataset pertains. Use a URI from a controlled vocabulary such as GeoNames via the Network of Terms.
path: spatialCoverage
min count: 1
severity: Info
message: Voeg een gebiedsaanduiding toe (bijv. een URI uit GeoNames) @nl
message: Add spatial coverage (such as a GeoNames URI)

description: De gebiedsaanduiding moet een HTTP(S)-URI zijn, bijvoorbeeld van GeoNames. @nl
description: Spatial coverage must be an HTTP(S) URI, such as from GeoNames.
node kind: IRI
future change:
  version: 2.0
  severity: Violation
path: spatialCoverage
severity: Warning
message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
message: Use a value of type URI (RDF resource), not text

future change:
  version: 2.0
  severity: Violation
path: spatialCoverage
severity: Warning
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
pattern: ^https?://

description: De tijdsperiode waar de dataset betrekking op heeft. De waarde moet een ISO 8601-datum of -tijdsinterval zijn (bijv. ‘2011’, ‘2011/2012’, ‘1889-06/07’ voor een verkorte notatie, ‘-0431/-0404’ voor v.Chr.-dateringen, of ‘1440/..’ voor een open einde), of een HTTP(S)-URI. @nl
description: The time period to which the dataset pertains. The value must be an ISO 8601 date or time interval (such as ‘2011’, ‘2011/2012’, ‘1889-06/07’ for shortened notation, ‘-0431/-0404’ for BCE dates, or ‘1440/..’ for an open-ended range), or an HTTP(S) URI.
path: temporalCoverage
min count: 1
severity: Info
message: Voeg een tijdsaanduiding toe @nl
message: Add temporal coverage

future change:
  version: 2.0
  severity: Violation
path: temporalCoverage
severity: Warning
or:
  node kind: IRI
  pattern: ^https?://
or:
  pattern: ^(-?\d{4}(-\d{2}(-\d{2}(T\d{2}:\d{2}(:\d{2})?)?)?)?|\.\.)(/(-?\d{4}(-\d{2}(-\d{2}(T\d{2}:\d{2}(:\d{2})?)?)?)?|\d{2}(-\d{2})?|\.\.))?$
message: Gebruik een ISO 8601-datum of -tijdsinterval (bijv. ‘2011/2012’, ‘-0431/-0404’ voor v.Chr., of ‘1440/..’) of een web-URI @nl
message: Use an ISO 8601 date or time interval (such as ‘2011/2012’, ‘-0431/-0404’ for BCE, or ‘1440/..’) or a web URI

PropertyShape
description: Verwijst naar een dataset die onderdeel is van deze dataset en ook als afzonderlijke dataset beschikbaar is. @nl
description: Indicates a dataset that is part of this dataset and also available as a separate dataset.
path: hasPart
min count: 0

PropertyShape
description: De HTTP IRI(s) van de datacatalogus of -catalogi waartoe de dataset behoort. @nl
description: The HTTP IRI(s) of the data catalog(s) that the dataset belongs to.
node kind: IRI
future change:
  version: 2.0
  severity: Violation
path: includedInDataCatalog
min count: 0
severity: Warning
message: Gebruik een waarde van type URI (RDF-resource), geen tekst @nl
message: Use a value of type URI (RDF resource), not text

future change:
  version: 2.0
  severity: Violation
path: includedInDataCatalog
severity: Warning
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
pattern: ^https?://

path: contentUrl
severity: Warning
message: De contentUrl is niet bereikbaar; de distributie kan niet worden opgehaald. @nl
message: The contentUrl is not reachable; the distribution cannot be retrieved.
probe reachable: true

path: contentUrl
severity: Warning
message: Het Content-Type van contentUrl komt niet overeen met het opgegeven schema:encodingFormat. @nl
message: The Content-Type of contentUrl does not match the declared schema:encodingFormat.
probe format match: true

description: De organisatie of persoon die verantwoordelijk is voor de publicatie van de dataset. @nl
description: An entity (organisation or person) responsible for making the Dataset available.
future change:
  version: 2.0
  severity: Violation
path: publisher
min count: 1
severity: Warning
or:
  class: Organization
or:
  class: Person
message: Voeg een uitgever toe @nl
message: Add a publisher

future change:
  version: 2.0
  severity: Violation
path: publisher
severity: Warning
message: Gebruik maximaal één uitgever @nl
message: Use at most one publisher
max count: 1

description: De organisatie of persoon die verantwoordelijk is voor het creëren van de beschreven dataset. @nl
description: An entity (organisation or person) responsible for producing the dataset.
future change:
  version: 2.0
  severity: Violation
path: creator
min count: 1
severity: Warning
or:
  class: Organization
or:
  class: Person
message: Voeg een maker toe @nl
message: Add a creator

description: Contactinformatie waar eindgebruikers contact kunnen opnemen met vragen over de dataset. Dit bevat het e-mailadres of een link (URL) naar het contactformulier van de verantwoordelijke organisatie. Het e-mailadres is een functioneel e-mailadres van de organisatie of organisatieonderdeel. @nl
description: Contact information where end users can get in touch with questions about the dataset. This contains the e-mail address or a link (URL) to the contact form of the responsible organization. The e-mail address should be a functional e-mail address of the organization or department.
future change:
  version: 2.0
  severity: Violation
path: contactPoint
min count: 1
severity: Warning
message: Voeg een contactpunt toe met naam en e-mailadres. Gebruik bij voorkeur de gegevens van de afdeling die de dataset of catalogus beheert @nl
message: Add a contact point with a name and email address, preferably of the department that manages the dataset or catalogue
max count: 1

description: De categorie van de dataset. Gebruik minimaal een waarde uit het Europese Dataset Theme Vocabulary. Aanbevolen wordt om daarnaast waarden op te nemen uit domeinspecifieke vocabulaires. Standaard wordt ‘Education, culture and sport’ (data-theme/EDUC) toegevoegd. @nl
description: The category of the dataset. Use at least one value from the European Dataset Theme Vocabulary. It is recommended to also include values from domain-specific vocabularies. The default theme ‘Education, culture and sport’ (data-theme/EDUC) is auto-assigned.
node kind: IRI
path: theme
message: Gebruik een web-URI die begint met http:// of https:// @nl
message: Use a web URI starting with http:// or https://
pattern: ^https?://

class: Distribution
description: Een beschikbare representatie van de dataset. @nl
description: An available representation of the dataset.
path: distribution
min count: 1
severity: Info
message: Voeg minimaal één distributie toe aan de datasetbeschrijving @nl
message: Add at least one distribution to the dataset description

PropertyShape
description: Een webpagina die toegang biedt tot de dataset, zijn distributies of aanvullende informatie. Niet nodig als de URI van de dataset zelf al naar een HTML-pagina leidt. De menselijk leesbare beschrijving MOET consistent zijn met en minstens alle details (zoals distributies) uit de RDF-datasetbeschrijving bevatten. @nl
description: A web page that provides access to the Dataset, its Distributions and/or additional information. Not needed when the dataset URI itself resolves to an HTML page. The human-readable description MUST be consistent with and include at least all details (such as distributions) from the RDF dataset description.
node kind: IRI
path: landingPage
min count: 0
pattern: ^https?://