← Alle berichten

12 oktober 2023 · Marcel Krassenburg · community

Harmonisator als wasstraat

In de voorgaande blog lieten we de samenhang van componenten zien rond het Gegevenswoordenboek. De Harmonisator is daarin belangrijk en werkt als een soort 'wasstraat voor metadata'. We lichten hieronder de werking verder toe, ook aan de hand van een JSON-schema voor het objecttype 'boom' en de subsidiesmodule van GGM.

De 'Harmonisator' omvat zowel het concept, de applicatie als het gegevensmodel om een bepaalde gegevensstructuur te analyseren en te vergelijken met de eigen, meer universele gegevensstructuur. De functie is om de ontologie-database te kunnen vullen, die wordt ontsloten door API's. Daarnaast kan het technische elementen leveren zoals schema's en scripts op Github/lab.
De API's voeden het Gegevenswoordenboek voor gebruik in de werkdomeinen. De Software Development Kit (SDK) ondersteunt software-ontwikkelaars.

Visie

We willen toewerken naar een breed bruikbare ontologie - een kennisbron van termen en begrippen - als basis voor de informatiehuishouding van de overheid. We maken eerst een prototype, waarmee we nut en werking beter zichtbaar maken.
De werknaam voor het geheel is 'Gegevenswoordenboek', afgekort als Gw. De Harmonisator is nodig voor het stroomlijnen en 'mappen' van bestaande schema's en het maken van nieuwe.

Context

Sommige termen zijn universeel, veel andere zijn contextgebonden. Daarom is context belangrijk, ook omdat het doorwerkt in de gegevensmodellen.
Context kan een specifiek domein zijn zoals 'Zorg' of 'Openbare ruimte', of een bepaald stelsel waarin samenleving en overheid functioneren. Het kunnen ook andere ordeningen zijn, zoals naar een bepaald aspect, een levensfase, een geografische afbakening, een tijdvak, een specifiek onderwerp of een bepaald vakgebied of deskundigheid.

Schema's

Binnen een context kunnen schema's de terminologie nog verder verfijnen. Een schema is dan een kleinere set van termen (50 tot 400), vaak al bestaand en in gebruik. Bijvoorbeeld termen in een bepaalde basisregistratie, maar ook technische schema's zoals SKOS, RDF of DCAT kunnen vergelijkenderwijs als Gw-schema worden beschreven.

In het ideale geval is de Harmonisator alleen een mapping mechanisme, dat de bestaande gegevensstructuren alleen verbindt. Op dit moment is het prototype van de Harmonisator vooral een 'wasstraat', een interne systematiek om zicht te krijgen op de gewenste harmonisatie van termen, modellen en gegevens.

Universeel gegevensmodel

Om de diverse onderzochte schema's te kunnen vergelijken op hun gegevensstructuur, is een universeel gegevensmodel gemaakt voor de beoogde Ontologie-database. Het bestaat uit de entiteiten Term, Triple en TermTaal. Term bevat alle termen en hun kernattributen, Triple bevat twee termen en hun relatie, TermTaal de taalspecifieke attributen.

NB. De 'Nederlandse standaard voor het beschrijven van begrippen'-in-wording - en een mooi document - gebruikt 'begrip' waar wij dit met 'term' aanduiden. Wij gebruiken 'begrip' voor de 'term inclusief de relevante relaties' ervan. Over die nuances later meer :-).

Deelfuncties

De Harmonisator heeft 5 deelfuncties:

  • Collect: verzamelen van schema's, bepalen van de bron
  • Wash: afbeelden van een aangeboden schema in de referentiestructuur van de Harmonisator, als Gw-schema
  • Map/match: vergelijken van het schema met bestaande (geschoonde) Gw-schema's
  • Publish: beschikbaarstellen van een Gw-schema aan het Gegevenswoordenboek en de SDK, via de Ontologie-database en API's
  • Monitor: waarnemen van wijzigingen in bestaande schema's en van het gebruik van de Ontologie-database

Praktijkvoorbeelden

Boom (boom-beheer)

Zie de gegevensstructuur van 'Boom'. Het is een voorbeeld uit de praktijk, voor de uitwerking van de API 'Overige Objecten' in 2020. Het is destijds goed gedocumenteerd door de betreffende samenwerkende gemeenten en Maykin. Er is een JSON schema, waaruit we de termen en definities hebben overgenomen. De status anno 2023 is niet duidelijk, in ieder geval is geprobeerd om het objecttype 'boom' te beschrijven.

Dit voorbeeld hebben we door de Harmonisator-wasstraat gehaald. In het bovenstaande plaatje van het componentmodel staan de 5 deelfuncties, waarvan we 1 en 2 hebben toegepast.

  • De eerst stap is 'collect', waarbij we ook de verwijzingen naar de bron en allerlei metadata van het schema vastleggen.
  • Dan volgt 'wash', waarmee we een bestaand schema in een structuur brengen om het makkelijk te vergelijken en bewerken. Inhoudelijk is het nog niet geschoond, dus de definities zijn letterlijk overgenomen.
  • We hebben nu wat meer inzicht in de kwaliteit van het boom-schema en daarmee een basis om het te verbeteren. Dat moet dan door de domeindeskundigen gebeuren, waarbij de Harmonisator kan ondersteunen.

Het resultaat als eenvoudige definitielijst, maar dus nog semantisch te verbeteren:

Voorbeeld scherm Gegegevenswoordenboek mobile

GGM-Subsidies

Op vergelijkbare wijze hebben we ook naar de GGM-subsidies module gekeken. GGM is een mooi initiatief en onze analyse is bedoeld om het nog sterker te maken. De volgorde van onze werkstappen hebben we in de PDF 'WasstraatHarmonisator' geplaatst, voor degenen die meer details willen zien.

Van GGM naar Gw