← Alle berichten

29 december 2022 · Marcel Krassenburg · community

GGw: Doel, context en basis

Onze aanbevelingen in het kort:
Maak een gezamenlijk gegevenswoordenboek als een basisregistratie, harmoniseer al de verschillende gegevensstructuren en regel de governance, het beheer en vooral de communicatie er over.

Aanleiding en doel

Aanleiding voor het verkennen van een GGw was de focus op en enthousiaste ontwikkeling van API's vanuit het Common Ground ecosysteem-in-wording, terwijl voldoende goede semantische informatiemodellen ontbraken. De structuur van de API kan dan niet goed universeel worden opgezet, waardoor teveel diversiteit ontstaat in gegevensstructuren.

Onze verkenning zocht antwoord op de vraag: hoe kunnen gegevensmodellen uniformer aansluiten op de context waarin zij gebruikt worden, dus bij de processen en de bijbehorende informatiesystemen? Want dan is het veel eenvoudiger voor software-ontwikkelaars om te communiceren met de gebruikers, wordt software beter herbruikbaar voor alle > 300 gemeenten en kunnen we API's consistent genereren uit de semantische gegevensmodellen.

Om er eenvoudig over te communiceren spreken we van een Gemeentelijk Gegevenswoordenboek, afgekort als GGw. Gaandeweg zien we dat de strekking breder is: het blijkt meer dan alleen een definitielijst en het is ook toepasbaar voor de hele overheid, alle samenwerkingspartners en de gebruikers van overheidsdienstverlening.

Context en informatieketen

De context van het GGw is een werkelijkheid die - zeker voor gemeenten - bestaat uit vrijwel alle onderwerpen in de samenleving. Of beter gezegd: 'de stelsels waarmee de samenleving functioneert'. In die domeinen is veel kennis beschikbaar, veelal als vakjargon, terminologie en definities en vastgelegd in documenten en gegevens met een bepaalde structuur. De kennis en het begrip van een domein uit zo'n 'informatieketen' passen mensen toe op hun werk. Zij handelen daarbij op persoonlijke titel of als actor in opdracht van een organisatie. Daartoe gebruiken zij informatiesystemen, die data omzetten naar informatie en beschikbaar stellen via diverse kanalen.

Het ontwikkelen van deze toepassingen in zo'n ecosysteem voor softwareontwikkeling voor de (lokale) overheid, is het werkterrein van een scala aan actoren, in verschillende functies. Het GGw wil voor al deze betrokkenen van waarde zijn.

Woorden, termen, begrippen, ...

Tijdens de verkenning stuitten wij op een aantal kernbegrippen, die soms verschillend worden gebruikt of begrepen:

  • Woorden en termen (bestaande uit een aantal woorden): dit zijn de elementaire delen;
  • Relaties die er bestaan tussen deze termen (we hebben 10 soorten onderscheiden);
  • Het begrip dat een term door de veelheid van zijn relaties geeft en in ons hoofd betekenis, kennis en associaties oplevert;
  • Concepten en ideeën: men komt van een eerste idee tot een breder concept en plan;
  • Feiten; deze worden vastgelegd met data;
  • Objecten: geabstraheerde modellen van feiten, handig voor het maken van informatiesystemen;

Onderstaand zijn deze termen in de informatieketen geplaatst.

Het wijkt enigszins af van gangbaar taalgebruik in dit vakgebied, waarbij begrip en concept gelijk worden gesteld en met een voorkeursterm worden aangeduid (prefLabel in SKOS). Met de uitdrukkingskracht van de Nederlandse taal lijkt de flow in de informatieketen als volgt te verlopen:

  • Het start met een idee (een eerste spontane gedachte), dat men toetst aan een begrippenkader (kennis) en dat zich vormt tot een concept (een eenheid van denken richting actie, plan of proces, een handelingsperspectief).
  • Operationeel leidt dit voor de informatievoorziening tot het vastleggen van feiten in data, gebaseerd op objecten uit gegevensmodellen.

Gegevensstructuren

In de verkenning kwamen we tal van gegevensstructuren tegen. Structuur is simpelweg de samenhang ofwel een geheel van onderlinge relaties tussen de elementen van een systeem, in dit geval dus tussen gegevens. Voorbeelden van soorten gegevensstructuren zijn internationale schema's (DCterms, RDF, popolo), modelleertalen (UML), metamodellen (MIM), gegevensmodellen (GGM Delft), informatiemodellen van basisregistraties (BRP e.a.) of API's, etc.

Belangrijk is daarbij dat het de structuur betreft van zowel het model (de abstractie en typering) als van de data (de instanties of exemplaren). Waarbij data zelf ook nog steeds een abstractie zijn van de werkelijkheid: de leeftijd van een persoon is uiteraard niet de persoon zelf, maar een feit op enig moment in de tijd en gebaseerd op een - voor een proces relevant - kenmerk van het object 'persoon'.

Structuur kan je herkennen (analyseren) of aanbrengen (synthese). Harmonisatie is het spelen met deze twee invalshoeken van waarneming en ontwerp van twee gegevensstructuren. We inventariseerden veelgebruikte bestaande structuren zoals DCterms, schema.org, foaf, RDF, SKOS, UML, MIM, etc. waardoor een grootste gemene deler van attributen en relaties zichtbaar werd. Veel gebruikt worden attributen zoals id, uuid, scheme, name, label, description, comment, source, organization, person. En relaties zoals property (heeft_kenmerk), type (is_van_type) , collection, broader term (breder begrip).

Om al die structuren makkelijker te kunnen vergelijken, kwamen we tot het idee van ‘Harmonisatie’. We gebruikten daarvoor onder andere ook het elegante maar vrij onbekende Gellish (Generic Extensible Ontological Language van Andries van Renssen) als inspiratiebron. Uiteindelijk ontstond - na vereenvoudiging tot een kernmodel - het concept, de structuur en een PoC van de Harmonisator, waarmee het GGw kan worden gerealiseerd.

Naar een gegevensmodel

Het kernmodel bleek een goede basis voor de verdere verkenning. Het GGw zal iets van een applicatie gaan worden en dus zelf ook een gegevensstructuur hebben. De volgende stap is om het gegevensmodel uit te werken. Onderwerp van de volgende blog…

Marcel Krassenburg
Hein Corstens