
DCAT-AP-NL 3.0: het metadataprofiel voor datasets
DCAT-AP-NL 3.0 is het Nederlandse profiel op het Europese DCAT-AP 3.0 voor het beschrijven van datasets en dataservices in gegevenscatalogi. Geonovum beheert het. Het Forum Standaardisatie plaatst het per 1 januari 2027 op de lijst Pas toe of leg uit. Het oudere DCAT-AP-DONL 1.1 staat in het archief. Een dataset heeft acht verplichte eigenschappen.

Wat is DCAT-AP-NL en wie beheert het?
DCAT-AP-NL beschrijft hoe u in RDF vastlegt wat een dataset is, wie hem publiceert, onder welke licentie hij beschikbaar is en waar u hem ophaalt. Het is geen formaat voor de data zelf. Het bouwt voort op het W3C-vocabulaire DCAT 3.0 en op het Europese applicatieprofiel DCAT-AP 3.0. De specificatie zegt over die relatie: "voldoe je ook aan DCAT-AP-3.0" als je aan DCAT-AP-NL voldoet. Daardoor kunnen Nederlandse catalogi ook aan Europese portalen leveren.
| Volledige naam | Het Nederlandse applicatieprofiel op DCAT-AP |
|---|---|
| Versie | 3.0, vastgestelde versie van 26 mei 2025 |
| Beheerder | Geonovum, met het predicaat Uitstekend beheer sinds het OBDO-besluit van 29 september 2026 |
| Licentie van de specificatie | CC BY-ND 4.0 (naamsvermelding, geen afgeleide werken) |
| Basis | DCAT 3.0 (W3C) en DCAT-AP 3.0 (Europese Commissie) |
| Formaten | RDF, in de praktijk Turtle, JSON-LD of RDF/XML |
| Updateritme | Beheerd door Geonovum; wijzigingen worden gestructureerd doorgevoerd, een vast ritme is niet gepubliceerd |
| Coördinaatreferentiesysteem | Niet van toepassing; ruimtelijke dekking staat als WKT-literal of verwijzing naar een locatie |
| Datum gelezen | 11 oktober 2026 |
Voor geografische datasets vervangt DCAT-AP-NL de domeinstandaarden niet. De specificatie zegt dat het profiel "niet de domeinspecifieke standaarden zoals ISO 19115" vervangt. Hoe die twee zich verhouden, staat op de pagina over metadata ISO 19115.
Welke status heeft DCAT-AP-NL op de lijst Pas toe of leg uit?
Versie 3.0 krijgt per 1 januari 2027 de status Pas toe of leg uit. Het Forum Standaardisatie meldt op zijn pagina over de standaard:
De status ‘Pas toe of leg uit’ geldt per 1 januari 2027.
Bron: Forum Standaardisatie, pagina DCAT-AP-NL, nieuwsbericht van 5 oktober 2026. Op 11 oktober 2026 is de status dus nog niet ingegaan. Het Forum legt de status zo uit: de standaard moet worden uitgevraagd en toegepast volgens de Instructie rijksdienst bij aanschaf ICT-diensten of ICT-producten, of u legt uit waarom niet.
| Stap | Datum |
|---|---|
| Aanmelding | 8 mei 2025 |
| Intakeadvies (datum in bestandsnaam) | 24 september 2025 |
| Expertadvies (datum in bestandsnaam) | 23 maart 2026 |
| Verslag consultatie (datum in bestandsnaam) | 9 mei 2026 |
| Forumadvies (datum in bestandsnaam) | 17 juni 2026 |
| Instemming OBDO | 29 september 2026 |
| Status geldt | 1 januari 2027 |
De praktische conclusie voor een gemeente is dat een nieuwe catalogus of koppeling beter direct op versie 3.0 kan uitkomen. Hoe dat past in het publiceren van gemeentelijke data, staat in open data publiceren als gemeente. Een dataservice die u in DCAT-AP-NL beschrijft, is voor geodata vaak een API volgens WFS en OGC API Features.
Wat verschilt DCAT-AP-NL 3.0 van DCAT-AP-DONL 1.1?
DCAT-AP-DONL 1.1 is het oudere profiel waarop data.overheid.nl is opgezet. Het staat sinds de intrekking van het verzoek door de indiener (KOOP) op 8 oktober 2024 in het archief van het Forum Standaardisatie. DCAT-AP-NL 3.0 noemt zichzelf "een doorontwikkeling van DCAT-AP-DONL-2.0" en volgt dus een nieuwere Europese basis.
| Aspect | DCAT-AP-DONL 1.1 | DCAT-AP-NL 3.0 |
|---|---|---|
| Europese basis | DCAT-AP 1.1 en DCAT 1.1 | DCAT-AP 3.0 en DCAT 3.0 |
| Beheerder | KOOP | Geonovum |
| Status Forum Standaardisatie | Archief | Pas toe of leg uit per 1 januari 2027 |
| High value datasets | Niet vastgesteld | Eisen uit de usage guidelines van DCAT-AP-HVD zijn opgenomen |
| Dataservices en reeksen | Niet vastgesteld | Klassen DataService en DatasetSeries beschreven |
Waar "niet vastgesteld" staat, melden de geraadpleegde bronnen er niets over. Voor wie aan data.overheid.nl levert, is dat verschil nu concreet. Het portaal schrijft op zijn DCAT-pagina: "Op het moment gebruikt data.overheid.nl het eigen DCAT-AP-DONL 1.1. Deze wordt binnen afzienbare tijd vervangen door een DCAT 3 toepassingsprofiel." Een datum noemt het portaal niet. Bouw een nieuwe export daarom op 3.0 en vraag bij het portaal na welk profiel de harvester op dat moment accepteert. Over de portaalsoftware gaat CKAN of alternatief.
Welke velden zijn verplicht in DCAT-AP-NL 3.0?
Per klasse zijn er enkele verplichte eigenschappen, aangegeven met V in de specificatie. De rest is aanbevolen, optioneel of conditioneel, bijvoorbeeld verplicht voor datasets onder de high value datasets-verordening. Meer over die verordening staat bij high value datasets.
| Klasse | Verplicht (kardinaliteit) |
|---|---|
| Dataset | dct:title (1..n), dct:description (1..n), dct:identifier (1), dct:accessRights (1), dcat:contactPoint (1), dct:creator (1..n), dct:publisher (1), dcat:theme (1..n) |
| Distribution | dcat:accessURL (1), dct:license (1) |
| DataService | titel, beschrijving, identifier, access rights, contact point, publisher, theme, licentie, dcat:endpointURL en dcat:endpointDescription |
| Catalog | dct:title, dct:description, dct:publisher, dcat:contactPoint |
De specificatie markeert per eigenschap of de eis uit het Europese profiel komt (AP) of een Nederlandse aanscherping of toelichting is (NL). Als NL gemarkeerd zijn onder meer dct:creator en dcat:contactPoint op de dataset en dct:license op de distributie, allemaal verplicht. Waardelijsten komen van de EU, bijvoorbeeld voor thema (data-theme) en toegangsrechten (public, restricted of non-public). Een licentie is bij registratie op data.overheid.nl verplicht, en het portaal schrijft op zijn pagina Licentie keuze: "Bij twijfel adviseren we altijd te kiezen voor de CC-0 licentie." De afweging staat bij open data-licenties.
Hoe ziet een geldige dataset-beschrijving eruit in Turtle?
Het volgende voorbeeld beschrijft een fictieve dataset met een CSV-download en een OGC API Features-service. De gemeente, de URL's en de datasetnaam bestaan niet. Het voorbeeld is op 11 oktober 2026 gevalideerd tegen de SHACL-shapes van Geonovum voor versie 3.0.0 (bestanden dcat-ap-nl-SHACL.ttl en dcat-ap-nl-SHACL-klassebereik.ttl), met pyshacl 0.40.1 en rdflib 7.6.0. Resultaat: Conforms: True.
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcatap: <http://data.europa.eu/r5r/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix ex: <https://data.voorbeeldgemeente.example/id/> .
ex:dataset-bomen a dcat:Dataset ;
dct:title "Bomen in de openbare ruimte"@nl ;
dct:description "Locatie, soort en plantjaar van gemeentelijke bomen. Fictief voorbeeld."@nl ;
dct:identifier "https://data.voorbeeldgemeente.example/id/dataset/bomen" ;
dct:accessRights <http://publications.europa.eu/resource/authority/access-right/PUBLIC> ;
dct:language <http://publications.europa.eu/resource/authority/language/NLD> ;
dcat:theme <http://publications.europa.eu/resource/authority/data-theme/ENVI> ;
dcat:keyword "bomen"@nl , "groen"@nl ;
dct:publisher ex:org-gemeente ;
dct:creator ex:org-gemeente ;
dcat:contactPoint [
a vcard:Organization ;
vcard:fn "Voorbeeldgemeente, team Data"@nl ;
vcard:hasEmail <mailto:opendata@voorbeeldgemeente.example>
] ;
dcat:distribution ex:dist-bomen-csv , ex:dist-bomen-api .
ex:org-gemeente a foaf:Agent ;
foaf:name "Voorbeeldgemeente"@nl ;
dct:type <http://purl.org/adms/publishertype/LocalAuthority> .
<http://purl.org/adms/publishertype/LocalAuthority> a skos:Concept ;
skos:prefLabel "Local Authority"@en .
ex:dist-bomen-csv a dcat:Distribution ;
dcat:accessURL <https://data.voorbeeldgemeente.example/download/bomen.csv> ;
dcat:downloadURL <https://data.voorbeeldgemeente.example/download/bomen.csv> ;
dct:license <http://creativecommons.org/publicdomain/zero/1.0/deed.nl> ;
dct:format <http://publications.europa.eu/resource/authority/file-type/CSV> ;
dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> .
ex:dist-bomen-api a dcat:Distribution ;
dcat:accessURL <https://api.voorbeeldgemeente.example/ogc/v1/collections/bomen> ;
dcat:accessService ex:service-ogc-features ;
dct:license <http://creativecommons.org/publicdomain/zero/1.0/deed.nl> .
ex:service-ogc-features a dcat:DataService ;
dct:title "OGC API Features van Voorbeeldgemeente"@nl ;
dct:description "Bevraagbare service voor gemeentelijke geodata. Fictief voorbeeld."@nl ;
dct:identifier "https://data.voorbeeldgemeente.example/id/service/ogc-features" ;
dct:accessRights <http://publications.europa.eu/resource/authority/access-right/PUBLIC> ;
dct:license <http://creativecommons.org/publicdomain/zero/1.0/deed.nl> ;
dct:publisher ex:org-gemeente ;
dcat:theme <http://publications.europa.eu/resource/authority/data-theme/ENVI> ;
dcat:endpointURL <https://api.voorbeeldgemeente.example/ogc/v1> ;
dcat:endpointDescription <https://api.voorbeeldgemeente.example/ogc/v1/api> ;
dct:conformsTo <http://www.opengis.net/doc/IS/ogcapi-features-1/1.0> ;
dcat:contactPoint [
a vcard:Organization ;
vcard:fn "Voorbeeldgemeente, team Data"@nl ;
vcard:hasEmail <mailto:opendata@voorbeeldgemeente.example>
] ;
dcat:servesDataset ex:dataset-bomen .
<http://www.opengis.net/doc/IS/ogcapi-features-1/1.0> a dct:Standard .
De laatste regel doet er toe. De shapes controleren het klassebereik, dus een waarde van dct:conformsTo moet zelf als dct:Standard zijn getypeerd. Zonder die regel geeft de validatie een fout, ook al is de beschrijving inhoudelijk goed.
Kan dezelfde beschrijving ook als JSON-LD?
Ja. DCAT is RDF, dus JSON-LD is een gelijkwaardige serialisatie. Dit voorbeeld beschrijft dezelfde dataset met alleen de CSV-distributie en bevat de verplichte velden. Het bestand parseert tot 22 triples en gaf bij dezelfde validatie Conforms: True. U kunt het in een script type="application/ld+json" zetten op een landingspagina van de dataset, zodat zoekmachines en catalogi het kunnen lezen.
{
"@context": {
"dcat": "http://www.w3.org/ns/dcat#",
"dct": "http://purl.org/dc/terms/",
"foaf": "http://xmlns.com/foaf/0.1/",
"vcard": "http://www.w3.org/2006/vcard/ns#",
"skos": "http://www.w3.org/2004/02/skos/core#"
},
"@graph": [
{
"@id": "https://data.voorbeeldgemeente.example/id/dataset-bomen",
"@type": "dcat:Dataset",
"dct:title": { "@value": "Bomen in de openbare ruimte", "@language": "nl" },
"dct:description": { "@value": "Locatie, soort en plantjaar van gemeentelijke bomen. Fictief voorbeeld.", "@language": "nl" },
"dct:identifier": "https://data.voorbeeldgemeente.example/id/dataset-bomen",
"dct:accessRights": { "@id": "http://publications.europa.eu/resource/authority/access-right/PUBLIC" },
"dcat:theme": { "@id": "http://publications.europa.eu/resource/authority/data-theme/ENVI" },
"dct:publisher": { "@id": "https://data.voorbeeldgemeente.example/id/org-gemeente" },
"dct:creator": { "@id": "https://data.voorbeeldgemeente.example/id/org-gemeente" },
"dcat:contactPoint": {
"@type": "vcard:Organization",
"vcard:fn": { "@value": "Voorbeeldgemeente, team Data", "@language": "nl" },
"vcard:hasEmail": { "@id": "mailto:opendata@voorbeeldgemeente.example" }
},
"dcat:distribution": { "@id": "https://data.voorbeeldgemeente.example/id/dist-bomen-csv" }
},
{
"@id": "https://data.voorbeeldgemeente.example/id/org-gemeente",
"@type": "foaf:Agent",
"foaf:name": { "@value": "Voorbeeldgemeente", "@language": "nl" },
"dct:type": { "@id": "http://purl.org/adms/publishertype/LocalAuthority" }
},
{
"@id": "http://purl.org/adms/publishertype/LocalAuthority",
"@type": "skos:Concept",
"skos:prefLabel": { "@value": "Local Authority", "@language": "en" }
},
{
"@id": "https://data.voorbeeldgemeente.example/id/dist-bomen-csv",
"@type": "dcat:Distribution",
"dcat:accessURL": { "@id": "https://data.voorbeeldgemeente.example/download/bomen.csv" },
"dct:license": { "@id": "http://creativecommons.org/publicdomain/zero/1.0/deed.nl" },
"dct:format": { "@id": "http://publications.europa.eu/resource/authority/file-type/CSV" }
}
]
}Hoe valideert u zelf een beschrijving?
Haal de twee shape-bestanden op uit de GitHub-repository Geonovum/DCAT-AP-NL30 (map shapes/300), zet ze naast het script en draai het met uw bestand als argument. Het script leest Turtle of JSON-LD op basis van de bestandsextensie.
# pip install rdflib pyshacl
# Shapes: https://github.com/Geonovum/DCAT-AP-NL30/tree/main/shapes/300
import sys
from rdflib import Graph
from pyshacl import validate
data = Graph().parse(sys.argv[1]) # .ttl of .jsonld, formaat volgt de extensie
shapes = Graph()
for f in ("dcat-ap-nl-SHACL.ttl", "dcat-ap-nl-SHACL-klassebereik.ttl"):
shapes.parse(f)
conforms, _, report = validate(data, shacl_graph=shapes, advanced=True)
print("Conforms:", conforms)
if not conforms:
print(report)
Een bestand zonder dct:license op de distributies faalde in een eigen test met drie meldingen "Less than 1 values", voor de dataservice en beide distributies. Het bestand dcat-ap-nl-SHACL-aanbevolen.ttl geeft daarnaast waarschuwingen, geen fouten, voor aanbevolen velden als dcat:keyword, dct:language en foaf:page. Bij een catalogus en voor een gemeentelijk open-dataplatform hoort zo'n controle in de bouwstraat.
Welke valkuilen komen vaak voor?
- Verwijzingen zonder type. Waardelijsten van de EU leveren niet altijd RDF-typering mee. Typeer licenties, standaarden en locaties zelf, zoals de specificatie in haar eigen voorbeeld doet.
- Contactpunt als tekst.
dcat:contactPointverwacht eenvcard:Kind(bijvoorbeeld eenvcard:Organization) met naam en e-mail, geen string. - Meer dan één taalvariant vergeten. Tekstvelden mogen meertalig, met taaltags. Het voorbeeld in de specificatie levert titels, beschrijvingen en trefwoorden in zowel
@nlals@en. - Identifier die verandert. data.overheid.nl vraagt een unieke, niet-wijzigende identifier per dataset. Een identifier uit een databasenummer dat bij migratie verandert, breekt de koppeling.
- Webadressen over http. De specificatie zegt bij access URL: "Gebruik altijd het HTTPS-protocol voor webadressen!" Dat geldt voor uw eigen URL's; de URI's van EU-waardelijsten en vocabulaires (zoals
http://publications.europa.eu/…) zijn identifiers en blijven zoals ze zijn. - Alleen een downloadlink.
dcat:accessURLis verplicht. De specificatie zegt dat de inhoud van een downloadlink of landingspagina daar ook in moet.
Wanneer past DCAT-AP-NL niet?
DCAT-AP-NL beschrijft datasets en services voor vindbaarheid en uitwisseling tussen catalogi. Het is niet de plek voor attribuutniveau, kwaliteitsrapportage per object of het datamodel zelf. Daarvoor zijn ISO 19115, NEN 3610 en INSPIRE-specificaties bedoeld. Een interne, niet-publieke catalogus voor eigen medewerkers kan met een lichter model toe, al maakt DCAT-AP-NL latere publicatie eenvoudiger. En de standaard zegt niets over de technische vorm van de API; die regelt de NL API Design Rules. Hoe metadata past in de gemeentelijke architectuur, leest u bij Common Ground.
Veelgestelde vragen
Is DCAT-AP-NL al verplicht?
Nog niet op 11 oktober 2026. Het OBDO stemde op 29 september 2026 in met plaatsing op de lijst Pas toe of leg uit, en de status geldt volgens het Forum Standaardisatie per 1 januari 2027. Pas toe of leg uit betekent: toepassen, of uitleggen waarom u dat niet doet.
Welke versie van DCAT-AP-NL moet ik gebruiken?
Versie 3.0, de vastgestelde versie van 26 mei 2025 van Geonovum. Dat is de versie die het Forum Standaardisatie op de lijst plaatst. Het oudere DCAT-AP-DONL 1.1 staat in het archief en is geen basis voor nieuwe catalogi. Controleer bij uw portaal of leverancier welke versie een koppeling nu verwacht, omdat de overgang pas per 1 januari 2027 formeel ingaat.
Wat is het verschil tussen DCAT-AP-NL en ISO 19115?
DCAT-AP-NL maakt datasets en services vindbaar tussen catalogi en portalen, ook buiten de geowereld. ISO 19115 (Nederlands metadataprofiel) beschrijft geografische datasets en reeksen in detail. De specificatie van DCAT-AP-NL zegt zelf dat het domeinstandaarden als ISO 19115 niet vervangt; veel catalogi gebruiken beide.
Hoe controleer ik of mijn metadata klopt?
Valideer de RDF met de SHACL-shapes die Geonovum publiceert in de repository DCAT-AP-NL30, bijvoorbeeld met pyshacl. Fouten betekenen een ontbrekend verplicht veld of een verkeerd type; waarschuwingen gaan over aanbevolen velden. Draai de controle bij elke wijziging in uw bouwstraat, zodat een fout in een veld of type direct opvalt en niet pas bij het aanleveren aan een portaal.
Moet ik JSON-LD of Turtle gebruiken?
Beide zijn RDF en dus gelijkwaardig; de voorbeelden in de specificatie zijn in Turtle. Turtle leest prettiger voor mensen. JSON-LD past beter in webpagina’s en API-antwoorden. Kies wat uw catalogussoftware accepteert en test de uitvoer met de validatie uit deze pagina, want ook geldige RDF kan er in beide vormen anders uitzien.
Bronnen
- Forum Standaardisatie — DCAT-AP-NL (gelezen op )
- Geonovum — DCAT-AP-NL 3.0 (vastgestelde versie, 26 mei 2025) (gelezen op )
- Forum Standaardisatie — DCAT-AP-DONL (archief) (gelezen op )
- GitHub — Geonovum/DCAT-AP-NL30, SHACL-shapes 3.0.0 (gelezen op )
- Data.overheid.nl — DCAT (gebruikt profiel) (gelezen op )
- Data.overheid.nl — Licentie keuze (gelezen op )
- Data.overheid.nl — Datasets publiceren (gelezen op )
Meer over TechinFlow
Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.
Een vraag of opdracht?
Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.
Stuur een bericht