Publicatie:Federated queries

Uit Meemoo Kennisbank
Naar navigatie springen Naar zoeken springen


Samenvatting

Om gegevens over een specifiek onderwerp in een databank te vinden, moet je een zoekopdracht uitvoeren. Maar wat als de informatie die je nodig hebt, zich bevindt in meerdere databanken die niet aan elkaar gekoppeld zijn? Moet je die databanken beginnen samenvoegen of is er een betere oplossing? Dankzij federated queries, waarbij er een vraag wordt gesteld en antwoorden worden verkregen uit verschillende bronnen tegelijkertijd, valt op termijn de nood weg om databanken te aggregeren in een grote overkoepelende databank. Elke databank kan dan autonoom blijven bestaan in een netwerk van databanken die tegelijkertijd m.b.v. federated queries bevraagd kunnen worden.


Referentie
Titel Federated queries (Voorkeurstitel)
Locatie META nummer 2019/1
Uitgever
Jaar van uitgave 2019
Rechten CC-BY-SA
Persistent ID


Auteur

Alina Saenko (PACKED vzw)

Federated query

Om gegevens over een specifiek onderwerp in een databank te vinden, moet je een zoekopdracht uitvoeren. Maar wat als de informatie die je nodig hebt, zich bevindt in meerdere databanken die niet aan elkaar gekoppeld zijn? Moet je die databanken beginnen samenvoegen of is er een betere oplossing? Dankzij federated queries[1], waarbij er een vraag wordt gesteld en antwoorden worden verkregen uit verschillende bronnen tegelijkertijd, valt op termijn de nood weg om databanken te aggregeren in een grote overkoepelende databank. Elke databank kan dan autonoom blijven bestaan in een netwerk van databanken die tegelijkertijd m.b.v. federated queries bevraagd kunnen worden.

Een vraag stellen aan meerdere kennisbronnen

Geen enkele individuele databank kan de volledige informatie over een bepaald onderwerp bevatten, waardoor je altijd meerdere databronnen moet raadplegen. Bovendien hebben databanken verschillende structuren, waardoor je enerzijds de structuur van je zoekopdracht per databank moet aanpassen en anderzijds telkens antwoorden krijgt met verschillende structuren.

Om aan die problemen tegemoet te komen, zijn doorheen de tijd verschillende oplossingen bedacht. In de jaren 70 werd het Z39.50-protocol ontwikkeld dat vandaag nog steeds in gebruik is in de bibliotheekwereld[2]. Met de komst van pc’s en het web is het protocol een aantal keren geactualiseerd met als opvolgers CQL, SRU/SRW en OAI-PMH. Door de introductie van het concept linked data en genetwerkte structuur van gegevens ontstond de nood aan een nieuw soort protocol die patronen zoekt in die netwerken. Dat is SPARQL Protocol And RDF Query Language geworden.

In de vorige Uitgepaktartikels hebben we toegelicht hoe je met behulp van een speciale zoektaal (SPARQL) één specifieke vraag (query) kunt stellen aan één specifieke linked data repository (RDF triple store). Als er gegevens over een onderwerp uit meerdere databanken tegelijkertijd gehaald moeten worden, dan spreekt men over federated queries.

Een voorbeeld van een federated query uit de bibliotheekwereld geeft Ruben Verborgh in zijn blogpost[3] waar hij een stapsgewijze opzoeking beschrijft van alle Zweedse Nobelprijswinnaars die een publicatie hebben in de bibliotheek van de Harvard University. Die federated query zoekt eerst alle Zweedse Nobelprijswinnaars in de DBPedia-databank, zoekt vervolgens aan de hand van die gevonden winnaars de records over die personen op in VIAF-databank, en zoekt uiteindelijk met behulp van die VIAF-identifiers de werken van die personen in de Harvard-bibliotheek databank. De query bezorgt de titel van de publicaties en de link naar hun beschrijving[4].

Technische voorwaarden

Om federated queries te kunnen uitvoeren moet de data die je wil aanspreken als linked data beschikbaar zijn en gestructureerd als bv. RDF-triples. Bovendien moeten de databanken een publieke SPARQL endpoint hebben, een portaal die queries kan ontvangen en antwoorden genereren. Steeds meer catalogi en thesauri op het web hebben zo’n SPARQL endpoint, o.a. World Cat, British Library, Universiteitsbibliotheek van UGent, Wikidata en Geonames.

Die SPARQL endpoint moet over een functionaliteit beschikken om federated queries op te stellen (bv. de endpoint van Wikidata of de Linked Data Fragments[5] toepassing opgesteld door onderzoekers van UGent). De query moet worden opgesteld in SPARQL-taal (of de endpoint moet je kunnen helpen om je ‘menselijke’ vraag te vertalen naar SPARQL). Je moet de schema’s en de structuur van elke databank die je aanspreekt kennen en duidelijk velden aanduiden die je uit die structuren wil bevragen.

De opgestelde federated query wordt dan gestuurd naar verschillende niet aan elkaar gekoppelde databanken op het web, de resultaten worden verzameld, samengevoegd en aan de aanvrager gepresenteerd in de homogene structuur die in de query werd aangeduid. Zo maken federated queries het mogelijk om in meerdere databanken real live simultaan te zoeken.

Image

Bestand:Bundesarchiv Bild 183-36092-0002, Gemeinsame Planung von MTS und LPG.jpg

Voetnoten