3 Standaarden

Dit hoofdstuk geeft een overzicht van een aantal belangrijke standaarden die beschikbaar zijn voor het beschrijven van datalineage.

3.1 Overzicht

In de volgende paragrafen wordt een uiteenlopende verzameling van standaarden beschreven. Om wat meer ordening aan te brengen en de positionering van de standaarden beter te begrijpen staan ze in de volgende tabel gegroepeerd in een aantal thema’s. Standaarden in de categorie generieke basis zijn breed toepasbaar. Standaarden in de categorie transparantie geven vooral inzicht in gegevens en gegevensverwerkingen van de overheid. Standaarden in de categorie data-engineering zijn vooral gericht op technisch specialisten (data-engineers). Standaarden in de categorie specifieke toepassingen, ondersteunen specifieke use-cases.

Generieke basisTransparantieData-engineeringSpecifieke toepassingen
  • Dublin Core
  • PROV
  • DCAT
  • MIM
  • MDTO
  • TOOI
  • Logboek dataverwerkingen
  • OpenLineage
  • IMX Lineage Model

Tabel 4: Globale positionering van standaarden

Een aantal van deze standaarden zijn complementair en zouden vooral met elkaar gecombineerd moeten worden. Dat geldt voor de standaarden in het thema generieke basis, maar grotendeels ook voor de standaarden in thema transparantie. De relatie tussen MDTO en TOOI ligt genuanceerd, maar is separaat beschreven (Hover et al., 2024). OpenLineage is vooral geschikt voor gebruik binnen organisaties. Het IMX Lineage Model is specifiek gericht op het orkestraties (combinaties) van gegevens en het vastleggen van de daarbij behorende datalineage.

3.2 Dublin Core

Dublin Core is een algemene standaard voor metagegevens, die initieel voor webcontent is ontworpen. Het doel ervan was vooral om content op het web goed te kunnen vinden. Webcontent zou zichzelf moeten kunnen beschrijven. De standaard beschrijft veelvoorkomende algemene metagegevens voor allerlei vormen van digitale objecten. Een aantal van deze metagegevens zijn nadrukkelijk een representatie van datalineage, in de zin dat ze laten zien wie, wanneer, wat heeft gedaan met een gegevensobject. Er is initieel een verzameling van 15 metagegevens gedefinieerd, die ook in HTML kan worden opgenomen. Deze verzameling is in 2000 uitgebreid met aanvullende metagegevens in wat Qualified Dublin Core wordt genoemd. In 2008 is de verzameling verder uitgebreid en vertaald naar de RDF standaard voor linkeddata. De resulterende DCMI metadata terms bevatten aanvullend op de eigenschappen ook klassen waaraan deze eigenschappen kunnen worden toegekend. Dublin Core is door ISO gestandaardiseerd als ISO 15836, door IETF als IETC RFC 5013 en door NISO als ANSI/NISO Z39.85. Tabel 5 geeft een overzicht van alle metagegevens (termen) in de DCMI metadata terms.

  • abstract
  • accessRights
  • accrualMethod
  • accrualPeriodicity
  • accrualPolicy
  • alternative
  • audience
  • available
  • bibliographicCitation
  • conformsTo
  • contributor
  • coverage
  • created
  • creator
  • date
  • dateAccepted
  • dateCopyrighted
  • dateSubmitted
  • description
  • educationLevel
  • extent
  • format
  • hasFormat
  • hasPart
  • hasVersion
  • identifier
  • instructionalMethod
  • isFormatOf
  • isPartOf
  • isReferencedBy
  • isReplacedBy
  • isRequiredBy
  • issued
  • isVersionOf
  • language
  • license
  • mediator
  • medium
  • modified
  • provenance
  • publisher
  • references
  • relation
  • replaces
  • requires
  • rights
  • rightsHolder
  • source
  • spatial
  • subject
  • tableOfContents
  • temporal
  • title
  • type
  • valid

Tabel 5: Metagegevens (terms) in de Dublin Core standaard

3.3 PROV

PROV is een open standaard van het W3C voor het beschrijven van dataprovenance. De standaard bestaat uit een aantal delen, waaronder een gegevensmodel (PROV-DM), een linkeddata gebaseerde ontologie (PROV-O), een XML schema (PROV-XML) en een mapping op Dublin Core (PROV-DC). De kern van het PROV model is eenvoudig en bestaat uit entiteiten, activiteiten en agents (zie Figuur 3). Een entiteit is een fysiek, digitaal, conceptueel of ander soort ding en kan zowel een werkelijk of fictief ding zijn. Een activiteit is iets dat plaatsvindt gedurende een bepaalde periode en gebruik maakt van entiteiten. Denk bijvoorbeeld aan het consumeren, verwerken, transformeren, wijzigen of genereren van entiteiten. Een agent is iets dat een verantwoordelijkheid heeft voor een activiteit, voor het bestaan van een entiteit of voor de activiteit van een andere agent. Tussen deze klassen zijn relaties gedefinieerd waarmee bijvoorbeeld kan worden uitgedrukt dat een activiteit is uitgevoerd door een agent en daarbij een bepaalde entiteit als invoergegevens heeft gebruikt en een andere entiteit als uitvoergegevens. Er zijn ook specialisaties van genoemde klassen waarmee bijvoorbeeld onderscheid kan worden gemaakt tussen personen, organisaties of software als agents. Daarnaast zijn er aanvullende klassen waarmee transformatie, generatie en gebruik in meer detail kan worden beschreven.

Datalineage figuur3.svg

Figuur 3: De essentie van PROV

DCAT

Data Catalog Vocabulary (DCAT) is een metadatastandaard en is ontworpen om interoperabiliteit tussen gegevenscatalogi, gepubliceerd op het internet, te vergemakkelijken. DCAT maakt decentrale publicaties en ontsluiting van catalogi mogelijk. DCAT is niet specifiek gericht op datalineage, maar wel een veelgebruikte standaard voor het beschrijven van datasets waarin ook aspecten van datalineage in aanwezig zijn. Het is een op linkeddata gebaseerde standaard die dus is uitgedrukt in termen van de RDF standaard. De kern van de standaard is een dataset. Een dataset is onderdeel van een catalogus, kan gegevens in een specifiek formaat beschikbaar stellen als distributie en kan ontsloten worden als dataset services.

Een dataset in DCAT heeft een aantal eigenschappen die duidelijk betrekking hebben op datalineage. Hiervoor maakt de standaard gebruik van de Dublin Core en PROV-O standaarden. In het bijzonder kun je in DCAT aangeven welke partijen verantwoordelijk zijn, op welk moment een dataset is gewijzigd of formeel is uitgegeven en welke bronnen zijn gebruikt. Daarnaast kan tekstueel of in de vorm van een PROV-O gebaseerde specificatie meer gedetailleerd worden ingegaan op de datalineage. In DCAT kan daarvoor zowel op een eenvoudige als op een uitgebreide wijze de specificatie van datalineage worden ondersteund.

EigenschapOmschrijving
dcat:contactPointcontactinformatie voor de verantwoordelijke organisatie
dcterms:creatororganisatie verantwoordelijk voor het creëren van de dataset
dcterms:publisherorganisatie verantwoordelijk voor de publicatie van de dataset
prov:qualifiedAttributionOrganisatie met een andere rol dan contact point, creator of publisher
dcterms:issueddatum waarop dataset formeel is uitgegeven
dcterms:modifieddatum waarop de dataset is gewijzigd of aangepast
dcterms:sourcebronnen waarvan een dataset is afgeleid
dcterms:provenanceeen tekstuele beschrijving van de provenance
prov:wasGeneratedBymeer uitgebreide provenance conform PROV

Tabel 6: Datalineage gerelateerde eigenschappen in DCAT

3.5 MIM

Het Metamodel voor Informatie Modellering (MIM) is een standaard die is ontwikkeld door KING (nu: VNG Realisatie), Kadaster en Geonovum. Het is ontstaan uit een behoefte om meer uniformiteit te brengen in de modellering van gegevens. De eerste versie was vooral een set van naamgevingsconventies en metagegevens voor het gebruik van UML als modelleertaal. Het is vervolgens ook uitgebreid met een representatie in linkeddata, waardoor het als een modelleertaalonafhankelijke conventie kan worden gezien. In versie 2.0 van de standaard zullen ook andere modelleertalen worden ondersteund.

MIM is relevant in de context van datalineage omdat het ingaat op verticale datalineage. Het beschrijft verschillende niveaus van modellering: begrippen, conceptuele informatiemodellen, logische gegevensmodellen en fysieke datamodellen (zie ook Tabel 1). Het geeft ook aan dat deze modellen aan elkaar gerelateerd moeten zijn en definieert bijvoorbeeld een standaard manier om naar begrippen te verwijzen vanuit informatie- of gegevensmodellen. De belangrijkste modelelementen zijn objecttypes, attribuutsoorten en relaties. Een objecttype is de typering van een groep objecten als gelijksoortig worden beschouwd. Een attribuutsoort is de typering van gelijksoortige gegevens die voor een objecttype van toepassing is.

3.6 MDTO

MDTO (Metagegevens voor duurzaam toegankelijke overheidsinformatie) is een norm van het Nationaal Archief voor het vastleggen en uitwisselen van eenduidige metagegevens om de duurzame toegankelijkheid van overheidsinformatie mogelijk te maken. Het is primair een instrument voor overheidsorganisaties om de verplichtingen uit de Archiefwet en de Wet open overheid te kunnen nakomen. Daarbij gaat het niet alleen om de fase van overbrenging naar een archiefinstelling, maar ook om de eisen die gesteld worden aan de eigen informatiehuishouding. MDTO is gebaseerd op de NEN-ISO 23081 standaard voor archivering.

De standaard is beschikbaar in de vorm van een metagegevensschema, begrippenlijst, XML schema, ontologie en Submission Information Package voor de uitwisseling van archiefgegevens. Het volgt op hoofdlijnen het conceptueel model van de NEN-ISO 23081 standaard met daarin informatieobjecten, activiteiten en actoren. Het lijkt erg op het conceptueel model van de PROV standaard, maar de ontologie maakt geen formeel hergebruik van PROV-O. Het legt verder vooral de focus op informatieobjecten. Een informatieobject komt overeen met wat in de nieuwe archiefwet een document wordt genoemd. Het is een op zichzelf staand geheel van gegevens met een eigen identiteit. Het kan zowel een elementaire eenheid zijn als een samenstelling van andere informatieobjecten. Het is vooral een functionele clustering van gegevens, die uiteindelijk kan worden vastgelegd als een bestand of in een database.

3.7 TOOI

Thesauri en Ontologieën voor Overheidsinformatie (TOOI) is een kennismodel voor overheidsinformatie en de organisatie van de overheid. Het is primair gericht op het ontsluiten van publieke overheidsinformatie. Het biedt semantiek voor de beschrijving van overheidsinformatie en overheidsorganisaties in de vorm van een ontologie, begrippenkader en registers met overheidsorganisaties. Binnen de scope van het TOOI-kennismodel valt alle informatie die overheidsorganisaties verplicht zijn om elektronisch te publiceren, zoals de Bekendmakingswet, de Wet open overheid en de Wet hergebruik overheidsinformatie. TOOI ondersteunt ook de digitale infrastructuur voor de Wet open overheid (DiWoo).

De TOOI ontologie bevat een deel dat specifiek gericht is op datalineage en dat sterk op PROV en MDTO lijkt. De klassen en eigenschappen zijn ook expliciet gedefinieerd als specialisatie van PROV-O. Vergelijkbaar met MDTO staat ook in deze standaard het informatieobject centraal. Dat kent echter een wat andere definitie: “Een resource waarvan de essentiële karakteristieken medegedeeld kunnen worden in een bericht”. De relatie tussen TOOI en MDTO ligt genuanceerd en is beschreven in een separate notitie (Hover et al., 2024). Zo is de TOOI ontologie meer dan de MDTO ontologie gebaseerd op linkeddata standaarden. Daar waar MDTO zich vooral richt op syntax en structuur, richt TOOI zich vooral op semantiek. Er is echter ook synergie tussen de standaarden. Zo zouden de TOOI waardelijsten in de toekomst door MDTO gebruikt kunnen worden en zijn er ook vertalingen tussen de standaarden.

3.8 Logboek Dataverwerkingen

Het Logboek Dataverwerkingen is een standaard die wordt ontwikkeld door het ministerie van Binnenlandse Zaken en zal worden beheerd door Logius. Het doel is om de transparantie van de overheid te vergroten en de informatiepositie van de burger te verbeteren. De standaard maakt het daartoe mogelijk om op een uniforme manier verwerkingen vast te leggen, ten behoeve van verantwoording. Het is een doorontwikkeling van de standaard Verwerkingenlogging zoals gemaakt door VNG Realisatie. Het basisidee was om het recht op inzage door burgers te ondersteunen. Dit is veralgemeniseerd tot een standaard die in meer algemene zin gebruikt kan worden om verantwoording over gegevensverwerkingen te ondersteunen. De nadruk ligt op de verwerking zelf en het subject waarop de verwerking betrekking heeft. Daarbij wordt zoveel mogelijk verwezen naar externe registers zoals een register van verwerkingsactiviteiten in een organisatie. De standaard is gebaseerd op de OpenTelemetry standaard.

De OpenTelemetry standaard is gericht op het verzamelen van informatie over gebeurtenissen. Het kan verschillende soorten gebeurtenissen aan elkaar relateren en in bepaalde gevallen een trigger zijn om te gaan handelen. Dit past bij wat “observability” wordt genoemd en dat tot doel heeft om de gezondheid, kwaliteit en betrouwbaarheid van datapipelines en datasets continu te bewaken. De standaard maakt het ook mogelijk om overkoepelende transactie-identificaties te creëren (trace_ids) om meerdere logregels aan elkaar te kunnen relateren.

De Logboek Dataverwerkingen standaard beschrijft ook hoe deze kan worden uitgebreid in de vorm van extensies. Geonovum heeft in een onderzoek laten zien dat het waardevol is om een extensie te ontwikkelen voor het semantisch kunnen duiden van de gegevens die worden verwerkt in een verwerkingsactiviteit. Zij stellen daarin voor om de PROV-O ontologie te gebruiken en stellen daarbij een mapping voor op de OpenTelemetry standaard om dit te ondersteunen. Op basis daarvan kan worden aangegeven welke objecttypen, attributen en waarden van een dataset worden verwerkt in de verwerking.

3.9 OpenLineage

OpenLineage is een open standaard en open source framework voor datalineage. Het is met name gericht op het ondersteunen van de datalineage in datapipeplines en de bijbehorende geautomatiseerde ETL jobs. ETL staat voor Extract, Transform, Load en is een proces voor gegevensintegratie waarbij data uit diverse bronnen wordt geëxtraheerd, omgezet naar een uniform formaat en vervolgens geladen in een centraal systeem, zoals een datawarehouse. De kern van het metamodel van de standaard bestaat dan ook uit jobs, gebeurtenissen zoals het starten en stoppen van jobs, en de input en de output datasets van deze jobs. Een datasets is bijvoorbeeld een tabel of een view in een database of een topic in een eventstream. Het volledige model is wel uitgebreider en opgedeeld in zogenaamde facets waarmee meer specifieke aspecten kunnen worden beschreven. Met de job facet kan bijvoorbeeld de documentatie, een verwijzing naar de programmacode en de SQL worden beschreven. Met de dataset facet kan de documentatie van een dataset, de velden van een dataset en de locatie van de dataset worden beschreven. Met de input dataset facet is het mogelijk om kwaliteitsaspecten van de input dataset te beschrijven, met name getallen uit een geautomatiseerde dataprofiling.

Er is ook een referentie-implementatie van de standaard in de vorm van het tool Marquez. Deze tool ondersteunt een set aan open source en commerciële bronnen zoals MySQL, PostgreSQL, Redshift, Kafka, S3, Iceberg, Deltalake. De OpenLineage standaard zelf biedt integratie met tools zoals Apache Airflow, Apache Flink, Apache Hive, Apache Spark, dbt, Great Expectations en dbt. Figuur 4 beschrijft het metamodel van OpenLineage.

Datalineage figuur4.png

Figuur 4: Metamodel van OpenLineage

3.10 IMX Lineage Model

IMX is een verzameling standaarden die door Geonovum zijn ontwikkeld, waarin ook expliciete aandacht is voor het specificeren van datalineage. Het is ontstaan vanuit een behoefte om verschillende geo-(basis)registraties geïntegreerd te kunnen ontsluiten. IMG-Geo is de standaard die het geïntegreerde gegevensmodel beschrijft. IMX Model Mapping is de standaard waarin de mapping van de bron- naar doelmodellen wordt vastgelegd. Ze zijn te zien als een specifieke vorm van ETL, waarbij maximaal wordt ingezet op declaratieve mappings. Het Kadaster heeft een orkestratie-engine ontwikkeld die de standaard gebruikt om de mappings uit te voeren.

IMX Lineage Model is een standaard (conceptversie) waarmee de datalineage die daarbij wordt vastgelegd wordt beschreven. De standaard is op een aantal plaatsen geïnspireerd door de PROV-O standaard. Het biedt specifieke klassen voor het beschrijven van transformaties en de daarbij gebruikte invoer- en uitvoergegevens.

Volgende hoofdstuk: Hoofdstuk 4 - Patronen