Handreiking PROV

Algemeen

Beheerder: W3C

Status bij Forum Standaardisatie: geen

Waarde van de standaard

PROV is een open standaard van het W3C voor het beschrijven van dataprovenance, wat als onderdeel van datalineage kan worden gezien. Hierdoor ontstaat meer inzicht in de totstandkoming en het gebruik van gegevens in de keten.

Belangrijke voordelen van de PROV standaard zijn:

  • Bieden van inzicht in de totstandkoming van gegevens, zodat er meer vertrouwen ontstaat in hun bruikbaarheid, en de impact van fouten en wijzigingen sneller bepaald kan worden
  • Standaardiseren van metagegevens over datalineage, zodat deze op een generieke manier kunnen worden vastgelegd en inzichtelijk gemaakt
  • Bieden van een tool-onafhankelijk formaat, waardoor afhankelijkheden van specifieke tools of oplossingen wordt voorkomen
  • Eenvoudig kunnen uitbreiden van de vastgelegde metagegevens, zodat een grote diversiteit aan toepassingen kan worden ondersteund

De PROV standaard biedt waarde aan de volgende specifieke doelgroepen:

DoelgroepWaarde
Burgers en organisaties
  • Verhogen van het vertrouwen in de overheid, doordat de relatie naar wet- en regelgeving meer expliciet wordt gemaakt en inzicht kan worden gegeven in de wijze waarop gegevens en besluiten tot stand komen.
Gebruikers
  • Verhogen van het vertrouwen in de betrouwbaarheid van informatieproducten, doordat meer inzicht is in hun totstandkoming.
Managers
  • Voldoen aan wet- en regelgeving, doordat eisen aan verantwoording worden gefaciliteerd.
  • Borgen van continuïteit van kennis, doordat deze expliciet wordt vastgelegd.
  • Voorkomen van afhankelijkheid van tools van specifieke leveranciers, doordat het bieden van een tool-onafhankelijk formaat
Datastewards
  • Sneller kunnen detecteren en oplossen van problemen met gegevenskwaliteit, doordat er meer inzicht in de keten is.
Data-engineers
  • Sneller kunnen detecteren en oplossen van problemen in datapipelines, doordat er meer inzicht in de keten is.
  • Sneller wijzigingen kunnen doorvoeren in gegevens, doordat er meer inzicht is in hun impact.
Security en privacy officers
  • Kunnen identificeren welke gegevens niet conform wet- en regelgeving worden verwerkt, doordat er meer inzicht in de keten is.

Werking van de standaard

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).

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.

Figuur 1: De essentie van PROV

Relatie met GDI domeinarchitectuur gegevensuitwisseling

De PROV standaard geeft een invulling aan de volgende principes in de domeinarchitectuur.

PrincipeInvulling
Gegevens die kunnen worden gedeeld zijn vindbaar, toegankelijk, interoperabel en herbruikbaarDe standaard maakt het mogelijk om metagegevens vast te leggen en beschikbaar te stellen over de herkomst van gegevens.
De bron van gegevens is leidendDe standaard maakt het mogelijk te maken om bij gegevens expliciet te maken welke bronnen zijn gebruikt bij de totstandkoming.
Metagegevens zijn aan elkaar verbondenDe standaard maakt het mogelijk om relaties te leggen naar andere metagegevens zoals naar datasets en gegevensmodellen.
Metagegevens zijn beschikbaar als Linked DataDe standaard is gebaseerd Linked Data standaarden en integreert daardoor goed met andere Linked Data standaarden.
Informatieproducten zijn herleidbaar naar de onderliggende gegevens en regelsDe standaard is specifiek gericht op het beschrijven van de gegevens die gebruikt zijn bij de totstandkoming van andere gegevens, en kan ook de relatie leggen naar regels

De standaard is ondersteunend aan de volgende functies in het functiemodel van de domeinarchitectuur:

  • Beheren metagegevens over datasets
  • Beschikbaar stellen metagegevens

Positionering van de standaard

Horizontale en verticale datalineage

Er is een onderscheid tussen horizontale en verticale datalineage. Horizontale datalineage gaat over hoe gegevens bewegen door ketens van organisaties, processen en systemen. Het relateert soortgelijke dingen, van bron naar doel. Verticale datalineage gaat over de relatie van gegevenselementen met andere dingen, zoals met begrippen, gegevensmodellen en technische artefacten. De PROV standaard is gericht op het vastleggen van horizontale datalineage. Het is echter relatief eenvoudig om relaties te leggen naar bijvoorbeeld gegevensmodellen en begrippen, mede doordat de bijbehorende standaarden gebaseerd zijn op Linked Data standaarden. In de handreiking datalineage wordt een profiel beschreven, waardoor dit soort relaties op meer gestandaardiseerde wijze kunnen worden gelegd.

Impact van de standaard

De PROV standaard is een hele generiek standaard, die op allerlei manieren kan worden gebruikt. In de handreiking datalineage wordt meer inzicht gegeven in de toepassingsmogelijkheden. Een belangrijke keus is bijvoorbeeld het detailniveau waarmee datalineage wordt vastgelegd. Is dit bijvoorbeeld alleen op het niveau van datasets, of ook op het niveau van de onderliggende gegevensclusters, gegevenselementen of instanties van gegevenselementen? De handreiking schetst afwegingen die daarbij te maken zijn.

Het implementeren van datalineage is meestal complex. In een aantal tools en applicaties zijn al standaard voorzieningen aanwezig voor datalineage en kan het zo eenvoudig zijn als het aanzetten van de functie. De complexiteit ontstaat daar waar meer tools, applicaties, omgevingen, organisaties of organisatie-eenheden betrokken zijn. Er zijn nog weinig best-practices voor het uitwisselen van datalineage tussen organisaties.

Voor het implementeren van datalineage zijn er allerlei keuzes te maken, zoals welke metagegevens precies worden vastgelegd, of ze worden opgeslagen of meegestuurd met de gegevens en of ze centraal of decentraal worden opgeslagen. Daarnaast biedt de standaard nog allerlei vrijheidsgraden, waarover liefst landelijke afspraken worden gemaakt. In de handreiking datalineage wordt een voorbeeld uitgewerkt, op basis waarvan een standaard profiel wordt beschreven.

Dit soort keuzes worden liefst gestuurd vanuit een overkoepelende datastrategie en -architectuur. Datalineage wordt bij voorkeur geautomatiseerd gegenereerd in de omgevingen waar gegevens worden gedefinieerd en verwerkt. De resulterende metagegevens zijn soms een integraal onderdeel van de gegevens zelf. Om ze centraal inzichtelijk te maken is een metagegevensrepository gewenst. In deze repository worden datalineage metagegevens opgelagen en gebruikt voor het beantwoorden van zoekvragen. Er zijn allerlei vormen van integratie nodig om ervoor te zorgen dat deze datalineage metagegevens uit alle relevante platformen, applicaties en tools in deze metagegevensrepository beschikbaar komen. Daarnaast is er functionaliteit nodig die de datalineage metagegevens op een gebruikersvriendelijke wijze ontsluit.

Aandachtspunten

Beperkte toolondersteuning

De PROV standaard is inmiddels al meer dan 10 jaar oud. Er blijken in de praktijk echter weinig commerciële applicaties of tools beschikbaar om de standaard te ondersteunen. Als gekozen wordt voor het gebruik van de standaard dan zal daarom al snel maatwerk nodig zijn om gegevens conform de PROV standaard vast te leggen of te ontsluiten. Tegelijkertijd heeft de standaard als voordeel dat het gebaseerd is op Linked Data standaarden. Hiervoor kunnen generieke tools voor het opslaan en ontsluiten van Linked Data worden gebruikt, zoals triplestores. De standaard kan door organisaties zelf worden gebruikt om datalineage te incorporeren in eigen systemen en gegevensmodellen. Het zou verder vooral als uitwisselformaat moeten worden gezien. Datalineage metagegevens die applicaties of tools genereren kunnen ook worden geconverteerd naar de PROV standaard en daarmee op uniforme wijze worden ontsloten.

Relatie met andere standaarden

Relatie met Logboek Dataverwerkingen

Logboek Dataverwerkingen beschrijft hoe overheden gegevens kunnen vastleggen over hun verwerkingen om daarmee verantwoording te kunnen afleggen. Het beschrijft vooral welke gegevens zouden moeten worden vastgelegd in een log. Het logboek dataverwerkingen ondersteunt een vorm van datalineage die de nadruk legt op de keten van verwerkingen en de gegevens die in deze verwerkingen gebruikt zijn. Onderzoek van Geonovum heeft laten zien dat daarbij ook de PROV standaard zou kunnen worden gebruikt. De nadruk in datalineage ligt echter meestal op de gegevens zelf, waarbij je vanuit een gegeven dat is ontstaan kunt zien welke andere gegevens daarvoor zijn gebruikt en welke transformaties daarbij zijn gehanteerd. Dat is het primaire toepassingsgebied van de PROV standaard. In genoemde handreiking voor datalineage is hiervoor een voorbeeld uitgewerkt en een standaard profiel beschreven.

Relatie met 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 deel van deze metagegevens hebben betrekking op datalineage. De Dublin Core standaard kan daarmee deels als een concurrent worden gezien voor de PROV standaard. De PROV standaard biedt echter meer uitgebreide mogelijkheden om relaties tussen partijen, activiteiten en gegevens te beschrijven. Daarnaast is het mogelijk om de standaarden met elkaar te combineren. Daarbij kunnen Dublin Core metagegevens gebruikt worden om meer gedetailleerde informatie vast te leggen over bijvoorbeeld over titels, beschrijvingen of taal.

Relatie met MIM

Het Metamodel Informatie Modellering (MIM) beschrijft een generieke structuur voor het vastleggen van informatie- en gegevensmodellen. Voor een dataset kan een bepaald gegevensmodel van toepassing zijn. De PROV standaard biedt geen standaard mechanismen voor het verwijzen naar gegevensmodellen. In de handreiking datalineage wordt een mogelijkheid hiervoor beschreven, die breder omarmd zou kunnen worden. Voorgesteld wordt om PROV entiteiten op het niveau van gegevenselementen middels een dcterms:type eigenschap te laten verwijzen naar SHACL PropertyShapes. De mapping van MIM naar SHACL is beschreven in de MIM standaard zelf.

Los van voorgaande is het ook mogelijk om aspecten van datalineage onderdeel te maken van een gegevensmodel. In dat geval kunnen delen van de PROV standaard onderdeel uitmaken van het gegevensmodel zelf.

Relatie met DCAT-AP-NL

Data Catalog Vocabulary (DCAT) is een metadatastandaard en is ontworpen om interoperabiliteit tussen gegevenscatalogi, gepubliceerd op het internet, te vergemakkelijken. DCAT-AP-NL is het Nederlands profiel op DCAT. DCAT maakt decentrale publicaties en ontsluiting van catalogi mogelijk. Het is mogelijk om datasets te beschrijven conform de DCAT standaard. In de DCAT standaard is de eigenschap “was generated by” beschikbaar om datalineage conform de PROV standaard te beschrijven. Het verwijst naar de activiteit die is gebruikt om invoergegevens om te zetten naar uitvoergegevens. Daarnaast biedt DCAT de “qualified attribution” eigenschap van PROV om te verwijzen naar betrokken partijen.

Links