1.2 - Inleiding

WAAROM TOOI

Doelstelling

De Nederlandse overheid wil dat officiële overheidsinformatie vindbaar, toegankelijk, interoperabel en herbruikbaar is. Dit zijn de vier pijlers van een verantwoorde informatiehuishouding. Een bekende publicatie uit 2016 in Nature gaat hier op in. Het beschrijft de definities van deze begrippen, het maatschappelijk belang dat deze vertegenwoordigen, en de principes dit mogelijk maken. Zie [1]. De eis dat data beschikbaar gemaakt worden volgens de genoemde principes is bijvoorbeeld gangbaar in de wetenschap: financiers van onderzoek zoals NWO leggen die eis op aan onderzoekers. Ook buiten de wetenschap neemt de bekendheid van deze principes toe. Uitgangspunt bij dit alles is dat data en metadata waarde vertegenwoordigen die los staat van de systemen of context waarin ze ontstaan of beheerd worden. Naast de functionele eisen van een systeem zijn er dus andere factoren die bepalend zijn voor de vormgeving van de data en metadata. Dat zijn de FAIR-principes. FAIR is een afkorting van findable, accessible, interoperable, reusable.

In de context van officiële overheidsinformatie betekent dit het hanteren van een gemeenschappelijke taal, los van specifieke informatiesystemen. Neem bijvoorbeeld een dataset met aantallen COVID-meldingen per gemeente en een dataset met aantallen inwoners per gemeente. Als beide datasets onder de noemer overheidsinformatie vallen (en betrekking hebben op dezelfde periode), dan moet een gebruiker ervan uit kunnen gaan dat beide lijsten dezelfde gemeenten hanteren, en op dezelfde manier naar die gemeenten verwijzen. Daarmee kunnen de lijsten moeiteloos gecombineerd worden, zonder conversies, transformaties en andere tijdrovende en dure handelingen. Vervolgens kan de gebruiker met behulp van hetzelfde taalelement waarmee in de datasets naar een gemeente wordt verwezen, gemeentelijke verordeningen ophalen voor nader onderzoek.

De doelstelling van TOOI is om deze gemeenschappelijke taal stapsgewijs formeel vast te leggen. TOOI staat voor "Thesauri en Ontologieën voor Overheids Informatie" en omvat, zoals de naam aangeeft, diverse componenten. TOOI is niet statisch: het zal zich incrementeel ontwikkelen. Het begint met een kennismodel dat volstaat om een minimale set van de meest urgente behoeften te kunnen invullen. In de toekomst breidt zich dat uit. Het is nadrukkelijk de bedoeling dat gebruikers van TOOI actief invloed hebben op dit groeiproces. Verderop gaan we dieper in op de onderhoudscyclus van de diverse onderdelen.

Het uiteindelijke doel — een betere informatiehuishouding voor overheidsinformatie — wordt beter bereikt naarmate TOOI intensiever gebruikt wordt bij de vormgeving van overheidsinformatie. De basisregel daarbij is: gebruik waar mogelijk taalelementen van TOOI. Dat zijn URIs, waarover straks meer. Dus in het genoemde voorbeeld is het een stap vooruit als de leveranciers van de datasets TOOI-URIs gebruiken om naar gemeenten te verwijzen. Ook is het een stap vooruit als in de metadata van de datasets TOOI-URIs worden gebruik om veldnamen en veldwaarden te benoemen. Het toepassen van TOOI is een specifiek geval van het toepassen van de algemene FAIR-principes. Dat betekent dat ook het gebruik van andere kennismodellen in combinatie met TOOI de informatiehuishouding verder verbetert.

[1] https://www.nature.com/articles/sdata201618

Aanpak

Het vastleggen van een taal voor data en metadata gaat het beste in de vorm van een kennismodel (in het Engels: knowledge graph). Principe I-4 van de FAIR-principes stelt dan ook dat data en metadata een formele taal voor "kennisrepresentatie" dienen te gebruiken. Het meestgebruikte instrument hiervoor is RDF, conform de bekende W3C-recommendation. Cruciaal is dat we in TOOI feiten vastleggen over het te hanteren datamodel, maar ook over de wereld. Enerzijds leggen we bijvoorbeeld vast dat een instantie van de klasse Gemeente altijd — modelmatig, dus per definitie — in een instantie van Provincie ligt. Daarnaast leggen we in het kennismodel vast welke gemeenten en provincies er in de wereld bestaan, alsmede de URIs waarmee we uniform naar die gemeenten en provincies verwijzen. TOOI omvat dus niet alleen een semantisch model, maar ook een register met referentiegegevens over overheidsorganisaties. Het is van belang het semantisch model, de thesauri, en de registers in samenhang en dus integraal te bezien — of liever gezegd: te onderhouden en te gebruiken.

Scope en relatie met andere ontwikkelingen

Officiële overheidsinformatie is het primaire aandachtsgebied van TOOI. Deze informatie wordt in discrete eenheden beschikbaar gemaakt. Deze noemen wij informatieobjecten. Overheidsorganisaties spelen daarbij een centrale rol: zij hebben het informatieobject gepubliceerd, ze zijn wettelijk verantwoordelijk voor de inhoud ervan, ze ontlenen hun bestaan en functie aan het informatieobject, of ze zijn er op een andere manier expliciet aan gerelateerd. De twee centrale begrippen in het kennismodel zijn daarom informatieobject en overheidsorganisatie. Voor beide geldt dat de beschrijving in termen van data en metadata een volledig beeld moet geven ten aanzien van aard, naamgeving en provenance (status en herkomst). Voor wat betreft overheidsorganisaties kijken we daarbij sterk naar die informatie die een rol speelt bij het metadateren van overheidspublicaties. Bij informatieobjecten ligt de focus op wettelijke eisen die aan metadata van overheidpublicaties gesteld worden, en op metadata die in de toepassingspraktijk belangrijk blijken.

Ontwikkelingen op bestuursrechtelijk gebied die relevant zijn voor TOOI zijn onder meer de Wet openbare overheidsinformatie, Wet elektronisch publicaties en de nieuwe Omgevingswet.

In de toepassingspraktijk is PLOOI een centrale speler. PLOOI is het nationale platform dat officiële overheidsinformatie centraal gaat ontsluiten. Andere belangrijke spelers zijn data.overheid.nl en het digitaal stelsel omgevingswet (DSO), met name de ontwikkelingen rondom de standaard STOP. TOOI is echter niet specifiek en zeker niet exclusief voor deze platforms en gebruikscontexten ontworpen: het doel is om overheidsinformatie FAIR te maken: vindbaar, toegankelijk, interoperabel en herbruikbaar.

DE OPBOUW VAN TOOI

Het kennismodel is modulair opgebouwd en bestaat uit vele onderdelen. Elk van deze onderdelen vormt een eenheid van beheer, onderhoud en publicatie. Ze kennen onderling afhankelijkheden maar zijn intern sterk coherent. Daarom noemen we een dergelijk onderdeel ook wel module. Binnen TOOI onderscheiden we vier belangrijke typen van modules:

  • Semantisch model (ontologie)
  • Thesauri
  • Registers
  • Waardelijsten

Elk van de modules wordt in detail gedocumenteerd, in een hoofdstuk voor het betreffende type. De rest van deze paragraaf is een korte, overkoepelende beschrijving van deze typen, en hoe ze samenhangen.

Semantisch model (ontologie)

Het semantisch model of kortweg ontologie is een formele, modelmatige definitie van klassen, eigenschappen (properties) en bedrijfsregels. Zo ontstaat een taal waarmee je vervolgens een deel van de werkelijkheid eenduidig kunt beschrijven zodat we daarover efficiënt en inzichtelijk kunnen communiceren en redeneren. Om met Plato te spreken: het doel is to cut reality at its joints [1]. De definities van klassen en eigenschappen in de ontologie worden vastgelegd met behulp van RDF, RDFS en OWL.

Bedrijfsregels beschrijven kwaliteitseisen waaraan het gebruik van klassen en eigenschappen aan moeten voldoen. Ze bepalen bijvoorbeeld domein, bereik en cardinaliteit van eigenschappen. Een instantie van de klasse tooiont:Gemeente heeft precies één waarde voor de property tooiont:ligtInProvincie., en dat is op zijn beurt een instantie van de klasse tooiont:Provincie. Deze bedrijfsregels worden in de documentatie wel beschreven, maar in de ontologie op dit moment nog niet geformaliseerd. In een volgend stadium zullen bedrijfsregels worden opgenomen in de vorm van shapes conform de SHACL-specificatie. Deze shapes kunnen onder meer gebruikt worden om datasets te valideren op basis van TOOI en de onderliggende open standaarden.

Voor interoperabiliteit van data is een expliciete, eenduidige en logisch consistente ontologie een voorwaarde. In de literatuur bestaat daarover brede overeenstemming, zie [2]. Meerduidigheid leidt bijvoorbeeld tot het probleem van “false agreement”: twee datasets lijken compatibel, maar zijn het door onverhoedse interpretatieverschillen niet. Daarmee is de kwaliteit van ontologie in feite bepalend voor de kwaliteit van de data en metadata die ermee uitgedrukt worden.

[1] Plato, Faidros, 265e

[2] https://ris.utwente.nl/ws/portalfiles/portal/6042428/thesis_Guizzardi.pdf, Chapter 1

Thesauri

Het TOOI-kennismodel omvat meerdere thesauri. Een thesaurus beschrijft begrippen en hun relaties. Een taalkundig gerichte thesaurus geeft bij een gegeven begrip synoniemen, antoniemen, bredere en nauwere begrippen, met daarbij de focus op taalgebruik. Veel tekstverwerkers hebben een ingebouwde thesaurus om auteurs te helpen het juiste woord te vinden.

Een thesaurus voor ontsluiting van een bibliotheek of andere kennisbank is meer specifiek gericht op het ordenen van een verzameling items en beschrijft taxonomieën aan de hand waarvan je die items kunt indelen. Een taxonomie is een set begrippen waarmee die indeling vorm krijgt. Voorbeelden zijn thema's, rubrieken, maar ook organisatiesoorten. In een thesaurus spelen semantische relaties een belangrijke rol. Als je geïnteresseerd bent in roodvonk, zoek dan op scarlatina (één begrip, twee synoniemen). Als je geïnteresseerd bent in Paris, bedoel je dan Paris Hilton, Paris, Texas of de zoon van Priamos (drie begrippen, drie homonymen)? Een thesaurus als instrument voor ordening is dus een systematische beschrijving van begrippen waarmee items ingedeeld kunnen worden. De relaties tussen begrippen die in thesaurus beschreven worden zijn primair de volgende:

  • Synonymie. Een begrip heeft vaak meerdere labels (termen) waarmee men het begrip aanduidt.
  • Homonymie. Meerdere begrippen kunnen soms aangeduid worden met hetzelfde label.
  • Hiërarchie. Een begrip kan een verbijzondering zijn van een ander begrip: laatbarok oftewel rococo is meer specifiek dan barok.
  • Associatie. Een begrip kan ruwweg, ongeveer of precies hetzelfde begrip zijn als een ander begrip (misschien zelfs in een andere thesaurus).

Voor het vormgeven van thesauri binnen TOOI gebruiken we SKOS (Simple Knowledge Organization System), de bekende en veel gebruikte W3C-standaard die specifiek bedoeld is voor thesauri en andere kennissystemen. SKOS is een van de standaarden op de 'pas-toe-of-leg-uit'-lijst van Forum Standaardisatie. Binnen de overheid is toepassing van deze standaard verplicht bij het vormgeven van een thesaurus.

Registers en Waardelijsten

De registers in het TOOI-kennismodel leggen de authentieke referentiegegevens vast van overheidsorganisaties en een aantal andere objectsoorten. Dat betekent dat de registers gegevens bevatten die een rechtsgrond hebben. Andersom is het niet zo dat alle gegevens die een rechtsgrond hebben per sé in het register worden opgenomen. Gegevens die geen rechtsgrond hebben, zoals het kantooradres of telefoonnummer, horen niet in de registers thuis. De registers houden ook historie bij. Daarbij gaat het om de oprichting en opheffing van organisaties, maar ook om bijvoorbeeld het wijzigen van de officiële naam van een organisatie.

Een waardelijst is een selectie van informatie in het kennismodel in de toestand waar het kennismodel zich op zeker moment bevindt. Het kennismodel verandert in de tijd, dus waardelijsten hebben versies. Versies van waardelijsten worden in verschillende formats gepubliceerd: TTL, RDF-XML, JSON-LD en "vanilla" XML.

Ontwerppatronen voor classificatie: ontologie en thesaurus

Binnen TOOI maken we gebruik van twee patronen om classificatie mee te implementeren. RDFS kent klassehiërarchie: klassen en subklassen. In veel gevallen stellen we eisen aan de definitie van subklassen. Een voorbeeld is de eis dat elke subklasse expliciet gedefinieerde properties heeft die uniek zijn voor die subklasse. Soms kunnen we niet aan deze eisen voldoen maar is het toch nodig te kunnen classificeren. In zulke gevallen gebruiken we concepten uit een thesaurus die samen een taxonomie vormen. Zulke concepten zijn dus instanties van skos:Concept. Vervolgens benoemen we een specifieke property met als waardebereik een (door een redacteur aanpasbare) verzameling concepten.

Er zijn dus twee ontwerppatronen die we toepassen om classificatie mee uit te drukken:

  • Subklassen, conform RDFS gedefinieerd in de ontologie
  • Classificatie op basis van een soortbegrip, conform SKOS gedefinieerd in een van de thesauri

We illustreren dit aan de hand van een voorbeeld: overheidsorganisaties. We definiëren een subklasse van overheidsorganisatie alleen als deze voldoet aan een aantal criteria. Onder meer moet de subklasse juridisch scherp omlijnd zijn en daarom disjunct zijn met andere subklassen.  Er zijn organisatiesoorten die niet voldoen aan deze criteria, zoals de soort adviescollege. Hiervoor definiëren we een set concepten (een taxonomie) in de thesaurus, gegroepeerd onder het conceptschema tooikern:``overheidsorganisatie. Vervolgens definiëren we in de ontologie de eigenschap tooiont:organisatiesoort. De waarde van deze property is een concept uit het genoemde conceptschema. Hieronder vallen bijvoorbeeld de concepten "adviescollege" en "rechtsprekende instantie". Zie de betreffende paragraaf in het hoofdstuk over de ontologie voor nadere details met betrekking tot dit specifieke voorbeeld.

Dit verschil heeft praktische consequenties. Om er twee te noemen:

  • Terwijl de subklassen van tooiont:Overheidsorganisatie gedefinieerd zijn als disjuncte subklassen, kan een overheidsorganisatie wél tot meerdere organisatiesoorten behoren
  • Een redacteur kan de thesaurus uitbreiden met een nieuwe organisatiesoort, maar alleen een ontoloog kan de ontologie verrijken met een nieuwe (sub-) klasse

Het algemene patroon is dus dat we sommige soorten classificatie uitdrukken in termen van subklassen volgens RDFS, en andere soorten van classificatie in termen van een taxonomie volgens SKOS, waarbij we een specifieke property benoemen met als waardebereik een (door een redacteur aanpasbare) verzameling concepten. Ook bij informatieobjecten maken we gebruik van deze twee ontwerppatronen.

DE ONDERHOUDSCYCLUS VAN HET KENNISMODEL

Zoals beschreven in de voorgaande paragraaf is het kennismodel opgebouwd uit onderdelen. Elk van deze onderdelen heeft een eigen onderhoudscyclus en wordt apart gepubliceerd. Het TOOI-kennismodel kent als zodanig geen release-cyclus. De onderdelen kennen dat wel: Er zijn oplopende versies van verschillende thesauri en van waardelijsten, en ook de ontologie kent versies. De registers worden niet geversioneerd. Het zijn "levende" grafen die regelmatig veranderen, in sommige gevallen met een hoge frequentie. De waardelijsten die van de registers worden afgeleid zijn uiteraard wel geversioneerd.

Een nieuwe versie van een module heeft soms wel, en soms niet impact op andere onderdelen. Zo zal een nieuwe versie van de thesaurus TOOI-Top (de thema-indeling overheidspublicaties) geen invloed hebben op andere onderdelen. Een nieuwe versie van de ontologie daarentegen zou kunnen leiden tot een nieuwe versie van bepaalde thesauri, bijvoorbeeld als daarin een nieuwe property wordt gedefineerd die we in bepaalde thesauri willen gebruiken. In de documentatie is per modulesoort een apart hoofdstuk opgenomen dat ingaat op de specifieke levenscyclus van die modulesoort.

Het algemene patroon daarbij is als volgt. We voeren wijzigingen door in de werkversie van de betreffende module . Vervolgens maken we een geversioneerde afslag van de werkversie, waarbij de versieaanduiding onderdeel is van de identificatie van de geversioneerde afslag (de baseURI). De inhoud van de werkversie en van de afslag zijn verder identiek. Om de relaties vast te leggen tussen werkversie en afslagen, en tussen afslagen onderling, gebruiken we PAV, de specialisatie van PROV-O die een vocabulaire definieert speciaal voor dit doel.

Om de relatie tussen de werkversie en de identieke versie vast te leggen gebruiken we pav:hasCurrentVersion [1]. De string die de versie aanduidt wordt vastgelegd als waarde van pav:version [2]. De lijst van alle afslagen van de werkversie is de verzameling waarden van pav:hasVersion [3].  Voor verdere concretisering, zie de betreffende passages voor de ontologie en de thesauri.