Linked Data #
Definitie en adoptie #
Een moderne zienswijze op semantiek van gegevens is het semantische web of Linked Data . Door metadata toe te voegen aan de gegevensbronnen, en vervolgens die bronnen aan elkaar te koppelen, ontstaat een grotere samenhangende set gegevens, een dataset. Er zijn eenduidige standaarden voor de manier van metadata specificeren (RDF ), welke metadata er minimaal moet zijn (DCAT ), en voor koppelingen (URIs ). Ook voor het doorzoeken van de ontstane dataset zijn standaarden (GraphQL ).
De Nederlandse overheid heeft deze methodiek omarmd in haar beleid over Open Data , en een eigen catalogus DCAT-DONL . Ook het stelsel van basisregistraties heeft een overkoepelend datamodel gedefinieerd.
Deze zienswijze past goed in een federatief stelsel: gegevens worden gemodelleerd en aangeboden als een groter samenhangend geheel, zonder kennis van de delen te vergen.
Orkestratie #
Linked data biedt een oplossing voor het concept orkestratie. Dit is het beantwoorden van een vraag op een hoger niveau door meerdere aanroepen naar API’s te bundelen. Bijvoorbeeld de vraag: hoeveel bedrijven met meer dan 5 medewerkers zijn gevestigd op een perceel van minder dan 100m2? Hiervoor moet het handelsregister en de BAG geraadpleegd worden.
Hiervoor kan een nieuwe API, of eigenlijk een nieuwe dienst, gemaakt worden die twee vragen combineert tot één. Een dienst hoeft met linked data niet van te voren gericht te zijn op specifieke vragen, maar kan vrije vragen beantwoorden op basis van het datamodel en de zoekmethodes als GraphQL. Hiermee wordt analyse en onderzoek beter mogelijk gemaakt.
Toegangsverlening en linked data #
Als we het hier hebben over toegangsverlening tot linked data kan dit ook gaan over toegangsverlening bij orkestratie in het algemeen.
Datamodellen voor toegangsregels (policies) #
Toegangsregels zullen opgesteld worden volgens een of meerdere standaarden. Ongeacht de gekozen standaard zullen de regels bestaan uit velden, functies en constanten. Neem als voorbeeld de regel ‘de leeftijd moet minstens 18 zijn’. De functies (‘minstens’) en constanten (‘18’) worden door de standaard dan wel implementatie bepaald, en de velden (’leeftijd’) komen uit het domein waarover de regels gaan. In dit voorbeeld is ’leeftijd’ een veld dat in een persoonsregistratie bepaald kan worden uit de geboortedatum en de huidige datum. Welke velden er bestaan wordt in een datamodel beschreven en als metadata bij een bron beschikbaar gesteld.
In een niet-federatief stelsel worden toegangsregels niet uitgewisseld, en is er geen noodzaak om een gedeeld model te hebben van de velden. Maar in een federatief stelsel worden toegangsregels door beide partijen geautomatiseerd gelezen, en is een gedeeld datamodel noodzakelijk om de betekenis van de velden expliciet te maken.
Hier ligt een goede kans: door toegangsregels op te stellen met hetzelfde linked data model als de diensten hanteren, is er maar één model nodig. We nemer daarom bij de keuze van een taal en implementatie mee dat ondersteuning van linked data een pré is. Het project lock/unlock zocht al eerder uit welke haken en ogen er aan toegang op linked data zitten.
Kanttekeningen #
Hoewel linked data een logische weg voorwaarts is in federatieve data, verbinden we het project (vooralsnog) niet eraan. Redenen zijn dat:
Linked data is nog geen gemeengoed in het landschap van FDS, en het is ook niet zeker dat het overal gaat komen. Toegangsverlening zal daarom niet eisen dat gegevensbronnen linked data technieken gebruiken; dat zou praktisch en gevoelsmatig de adoptie kunnen vertragen.
Het lijkt voor de hand te liggen om voor de gegevens zelf en voor de toegangsregels op die gegevens hetzelfde model te gebruiken, maar dat hoeft niet. Als er op een bestaande koppeling verbeterde toegangsverlening wordt geplaatst met linked data, hoeft die de dienst zelf nog niet te veranderen. Zo zijn toegangsverlening en dienst los van elkaar te vernieuwen.