Thesauri toepassen in SPARQL

Thesauri toepassen in SPARQL

Wie en wat

In menig SPARQL endpoint wordt data verrijkt en geharmoniseerd via thesauri. Met deze eenvoudige voorbeelden leer je snel Linked data die je nodig hebt uit zowel thesauri als andere bronnen op te halen. Er zijn diverse soorten thesauri; van onderwerp databases zoals ‘auteurs’ tot classificatie systemen zoals de Brinkman trefwoorden. Hieronder een uitleg van thesauri op basis van de thesauri op data.bibliotheken.nl.

 

Mogelijke toepassingen

Data die gegenereerd kan worden met thesauri leveren veelal extra classificaties of tags over specifieke objecten op, of bevatten relaties naar ‘objecten’ die apart onderhouden worden, zoals auteurs of uitgevers. Zo kan je via thesauri berekenen hoeveel romans er in Nederland zijn, maar ook hoeveel van deze romans ‘oorspronkelijk Nederlands’ zijn, en welke uitgever de meeste boeken heeft gepubliceerd afgelopen jaar. In het Gemeenschappelijk Geautomatiseerd Catalogiseersysteem (GGC) worden er diverse thesauri toegepast:

  • KB code
    Dit betreft de oude codes op de cataloguskaartjes, een  systeem oorspronkelijk in gebruik tot 1992. Het is een classificatie van ongeveer 60000 trefwoorden gericht op wetenschap.
    Vb. “Grieks-Romeinse filosofie” of specifieker “Filosofie :: Grieks-Romeinse filosofie :: Verzamelingen, bloemlezingen”.
  • Gemeenschappelijke Trefwoorden Thesaurus
    Dit is een tevens een historische wetenschappelijke thesaurus van samenwerkende wetenschappelijke bibliotheken met 70.000 termen, die tot 2012 werd bijgehouden.
    Vb. ” Samenlevingsvormen” en meer specifiek “Alternatieve samenlevingsvormen”
  • Brinkman thesaurus
    Dit is de belangrijkste trefwoorden thesaurus die actief wordt toegepast over de gehele collectie (dus ook romans en CD’s) van objecten die door bibliotheken verleend worden.
    Vb. “mechanica” of specifieker “mechanische technologie”
  • De Nederlandse Thesaurus van Auteursnamen (NTA) bevatten informatie over auteurs
  • De KB Corporatie thesaurus bevat organisaties met auteursrechten

 

Hoe te gebruiken

Bij de meeste ‘werken’ uit het SPARQL endpoint van de Koninklijke Bibliotheek worden de thesauri al toegepast, zonder dat je het eigenlijk doorhebt. Zo is er per boek niet een naam van de auteur, maar is er een link naar de auteur. Deze link zal naar een ‘pagina’  uit De Nederlandse Thesaurus van Auteursnamen of de KB Corporatiethesaurus wijzen. Om dan ook of de naam van de auteur op te halen, dan wel de naam van de corporatieve auteurs, is het een kwestie van die relaties ook te leggen via een OPTIONAL statements (link) .

prefix schema: <http://schema.org/>
 prefix rdf: <http://www.w3.obrg/1999/02/22-rdf-syntax-ns#>
 SELECT * WHERE {
 $id rdf:type schema:Book . $id schema:author $author .
 OPTIONAL {
 $author rdf:type schema:Organization .
 $author schema:name $org . }
 OPTIONAL {
 $author rdf:type schema:Person .
 $author schema:name $authorname }
 OPTIONAL {
 $id schema:name $title . }
 } LIMIT 10 OFFSET 0

Merk op dat de LIMIT inmiddels naar 10 is gezet, want de query wordt iets ingewikkelder en daarmee ontzien we het SPARQL endpoint enigszins. Het koppelen van ‘relaties’  vanuit de NTA thesaurus kan natuurlijk ook voor onderwerp classificaties, zie het volgende statement (link):

prefix schema: <http://schema.org/>
 prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 SELECT * WHERE {
 $id rdf:type schema:Book . $id schema:author $author .
 OPTIONAL { $id schema:about $about . }
 OPTIONAL { $id schema:name $title . }
 } LIMIT 10 OFFSET 0

Nu krijg je dat een boek met meerdere classificaties of bijvoorbeeld auteurs! meerdere keren in het overzicht wordt vermeld, het is dus geen platte tabel. Zo is het werk p036095907 gekoppeld aan privaatrecht en reclame op basis van de Brinkman thesaurus. Thesauri zijn in SPARQL niet enkel uniforme waarden, maar kunnen ook georganiseerde concepten zijn. Naast de classificatie ‘privaatrecht’  kan er nog een ‘generiekere classificatie’ ‘recht’  afgeleid worden (link).

prefix schema: <http://schema.org/>
 prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 prefix skos: <http://www.w3.org/2004/02/skos/core#>
 SELECT * WHERE {
 $id rdf:type schema:Book .
 OPTIONAL { $id schema:about $about . $about rdfs:label $aboutlabel}
 OPTIONAL { $about skos:broader $broad . $broad rdfs:label $broadlabel}
 OPTIONAL { $id schema:name $title . }
 } LIMIT 10 OFFSET 0

Auteursthesauri worden logischerwijs consequent toegepast op nieuwe publicaties. Van een classificatie kan je zien uit welk systeem (KB, Brinkman, GTT ) het komt door te kijken naar de relatie 

prefix schema: <http://schema.org/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?tlabel ?scheme WHERE {
 ?id rdf:type schema:Book . 
 $id rdfs:label $title .
 $id schema:author $author . 
 $id schema:publication $pub . 
 $pub schema:startDate "2016" . 
 $id schema:about ?t . ?t skos:inScheme ?scheme . 
 ?t rdfs:label $tlabel 
} LIMIT 10000 OFFSET 0

Er zijn komen voor de HackaLOD nog veel meer data en thesauri beschikbaar, in het data overzicht kan je zien welke en in relatie tot welke datasets.

 


Back to site top