TOOI - De TOOI-thesauri 1.0.1

KOOP Standaard
Vastgestelde versie

Deze versie:
https://standaarden.overheid.nl/tooi/doc/def-st-tooi-thesauri-20240129
Laatst gepubliceerde versie:
https://standaarden.overheid.nl/tooi/doc/tooi-thesauri
Redacteur:
TOOI-beheerteam (KOOP)
Auteur:
Kennis- en Exploitatiecentrum voor Officiële Overheidspublicaties (KOOP)

Status van dit document

Dit is de definitieve versie van dit document. Wijzigingen naar aanleiding van consultaties zijn doorgevoerd.

Samenvatting

Het doel van TOOI is het definiëren van een gemeenschappelijke taal waarmee data en metadata uitgedrukt kunnen worden, zodat overheidsinformatie beter vindbaar, toegankelijk, interoperabel en herbruikbaar wordt. De TOOI-thesauri vormen een binnen dit geheel de bron van begrippen die gebruikt worden om elementen van het model te classificeren. Deze begrippen worden verder niet uitgemodelleerd.

De familie van TOOI-documenten

Dit document maakt deel uit van de familie van TOOI-documenten die gepubliceerd wordt op standaarden.overheid.nl/tooi.

Documentatie

Dit document is gepubliceerd door KOOP, het Kennis- en exploitatiecentrum voor Officiële Overheidspublicaties. Zie het beheerplan voor nadere informatie.

Feedback is welkom

Indien u vragen heeft, of op- of aanmerkingen wilt maken op dit document, dan vindt u hier hoe u dat publiekelijk of anoniem kunt doen.

Alle commentaar is welkom.

1. Wat is een thesaurus

Een thesaurus is een gestructureerde verzameling begrippen die (onder meer) gebruikt kunnen worden bij het classificeren van objecten in diverse dimensies, zonder die begrippen verder uit te modelleren.

Het TOOI-kennismodel omvat meerdere thesauri. Een thesaurus in algemene zin beschrijft begrippen en hun relaties. Een taalkundig gerichte thesaurus geeft bij een gegeven begrip synoniemen, antoniemen, bredere en nauwere begrippen, met daarbij de focus op taalgebruik. Veel tekstverwerkers hebben een ingebouwde thesaurus om auteurs te helpen het juiste woord te vinden.

Een thesaurus voor ontsluiting van een bibliotheek of andere kennisbank is meer specifiek gericht op het ordenen van een verzameling items en beschrijft taxonomieën om die items mee te kunnen indelen. Voorbeelden zijn thema's, rubrieken, talen, maar ook organisatiesoorten.

1.1 Semantische relaties in een thesaurus

In een thesaurus spelen "semantische relaties" een belangrijke rol. Als je geïnteresseerd bent in roodvonk, zoek dan op scarlatina (één begrip, twee synoniemen). Als je geïnteresseerd bent in Paris, bedoel je dan Paris Hilton, Paris, Texas of de zoon van Priamos (drie begrippen, drie homonymen)? Een thesaurus als instrument voor ordening is dus een systematische beschrijving van begrippen waarmee items ingedeeld kunnen worden, en de relaties tussen die begrippen. Deze relaties zijn primair de volgende:

1.2 SKOS

Voor het vormgeven van thesauri binnen TOOI gebruiken we SKOS (Simple Knowledge Organization System), de bekende en veel gebruikte W3C-standaard die specifiek bedoeld is voor thesauri en andere kennissystemen. Zie [skos-reference]. SKOS is een van de standaarden op de 'pas-toe-of-leg-uit'-lijst van Forum Standaardisatie. Binnen de overheid is toepassing van deze standaard verplicht bij het vormgeven van een thesaurus.

1.3 Concepthiërarchie versus klassehiërarchie

Het classificeren van objecten kan worden vormgegeven met SKOS-concepten, maar ook door middel van een klassehiërarchie. Het TOOI-kennismodel maakt gebruik van beide opties. In de inleiding wordt het verschil nader toegelicht.

1.4 De thesaurus binnen TOOI

Binnen TOOI zien we een thesaurus als een RDF-graaf met daarin feiten uitgedrukt met SKOS-resources. Een concept (een resource van het type skos:Concept) kan hiërarchisch onder een ander concept geordend zijn (skos:broader). Het heeft ook een lexicalisatie: de talige vorm van het concept. Dit is geïllustreerd in het volgende plaatje. Bij de beschrijving van concepten hanteren we ook properties buiten SKOS zijn gedefinieerd, zoals beschreven in het het hoofdstuk over de TOOI-ontologie.

Thesaurus voorbeeld
Figuur 1 Thesaurus voorbeeld

1.5 Verantwoordelijkheid voor de inhoud van een thesaurus

Het TOOI-kennismodel omvat meerdere thesauri. Sommige thesauri zijn voor wat betreft de inhoud in beheer bij andere partijen dan KOOP, terwijl KOOP wel verantwoordelijk is voor het implementere en publiceren conform SKOS. Dat betekent dat KOOP zorg draagt voor het toekennen van URIs aan de concepten en het beschrijven van hun eigenschappen en relaties in de vorm van een RDF-graaf. Een voorbeelden is de thesauri TOOI-Top. TOOI-Kern is de thesaurus waarvan KOOP de inhoud zelf bepaalt, met als doel het systematisch indelen van diverse soorten objecten, bijvoorbeeld informatieobjecten en overheidsorganisaties.

1.6 Eenheden van informatie: graaf, conceptschema, thesaurus

SKOS onderkent naast de graaf als eenheid van informatie ook nog de notie conceptschema (skos:ConceptScheme). De standaard definieert in een conceptschema als een aggregatie van concepten, zie [skos-reference]. Zoals blijkt uit [skos-primer] is de achterliggende intentie om hiermee de notie "knowledge organisation scheme (KOS)" te vatten — en een "thesaurus" is daar een voorbeeld van. De groepering van concepten in een conceptschema is gebaseerd op inherente eigenschappen van de concepten, bijvoorbeeld het domein of onderwerp waar ze betrekking op hebben.

Binnen TOOI gebruiken we het woord "thesaurus" uitsluitend om te verwijzen naar grafen — dus niet naar instanties van skos:ConceptScheme. We gebruiken conceptschema's om binnen een thesaurus concepten te groeperen in handzame eenheden, onder meer ten behoeve van het genereren van waardelijsten. Soms vormen de concepten in een schema het bereik van een bepaalde ontologische property. Officiële publicaties (die een subklasse vormen van Informatieobject) hebben bijvoorbeeld als waarde voor de property tooiont:thema een concept uit het conceptschema tooitop:toplijst.

Een concept is binnen TOOI altijd gedefinieerd als deel uitmakend van één of meer conceptschema's. Een thesaurus bevat minimaal één conceptschema, soms meer.

De SKOS-standaard gaat in [skos-primer] in op de relatie tussen conceptschema's en grafen. Het grote verschil is dat een conceptschema concepten bevat maar geen uitspraken over die concepten. Een graaf daarentegen bevat uitspraken (assertions) die betrekking hebben op de concepten. Je kunt dus zeggen dat een semantische relatie tussen twee concepten vastgelegd wordt in een graaf, maar niet dat deze vastgelegd wordt in een conceptschema ("there is no mechanism in SKOS to record that a specific statement concerning these concepts, e.g. a skos:broader assertion, pertains to a specific concept scheme, whereas a KOS is usually seen as consisting of both its concepts and the links that define them"). Het verschil is belangrijk, verwarring ligt op de loer. Zie ook de paragraaf waarin de aard van grafen nader besproken wordt.

1.7 Conceptcollecties

SKOS kent naast conceptschema's nog een manier om concepten buiten de concepthiërarchie om te groeperen: collecties. Soms is het nuttig om verschillende groeperingen van concepten naast elkaar te kunnen zetten, zonder deze groeperingen zelf als een concept te benoemen. Stel, de thesaurus van een bibliotheek met content over levensmiddelen definieert tientallen concepten voor soorten melk. In dat geval kan het nuttig zijn om de collectie <melk-naar-producerend-dier> te benoemen (geitenmelk, kamelenmelk, konijnenmelk), naast <melk-naar-vetgehalte> (volle melk, magere melk) en <melk-naar-houdbaarheidsbehandeling> (gepasteuriseerde melk, lang houdbare melk). Ook komt het voor dat een collectie een hiërarchische ordening definieert die niet als zodanig in de thesaurus voorkomt. Zo zouden we ons voorbeeld kunnen uitbreiden door onder <melk-naar-producerend-dier> nog de collecties <haasachtigen> en <evenhoevigen> te definiëren.

Het verschil tussen collectie en concept is evident. In de bibliotheek uit het voorbeeld kan het heel nuttig zijn te kunnen zoeken naar content over geitenmelk en naar lang houdbare melk, terwijl het zoeken naar content over <melk-naar-producerend-dier> als zodanig juist niet ondersteund moet worden — laat staan het zoeken naar <evenhoevigen>. De bibliotheek in het voorbeeld heeft immers boeken over levensmiddelen, niet over dieren. Concepten zeggen iets over contentitems (of andere objecten), terwijl collecties iets zeggen over concepten.

Ook het onderscheid tussen collectie en schema is duidelijk. Conceptschema's groeperen concepten op basis van hun inherente eigenschappen, bijvoorbeeld het domein of onderwerp waar ze betrekking op hebben. Daarmee vormen ze een eenheid van redactioneel beheer. Collecties zijn groeperingen die helpen om een specifieke informatievraag te beantwoorden. In de collecties kunnen concepten uit verschillende conceptschema's naast elkaar staan.

Binnen TOOI-Kern maken we veel gebruik van collecties, meestal met oog op het gebruik van de concepten in een bepaalde toepassing — dus het genereren van waardelijsten.

1.8 Onderhoudscyclus

1.8.1 Releasematig beheer

Van de thesauri wordt periodiek een nieuwe versie vastgesteld. De oude versie blijft beschikbaar. Na publicatie bevat de actuele thesaurus de wijzigingen. Vervolgens maken we een geversioneerde afslag van de actuele thesaurus, waarbij de versieaanduiding onderdeel is van de baseURI. De concepten in de werkversie en de afslag zijn verder identiek. Het is dus de thesaurus (de graaf) die een versienummer krijgt, en niet het conceptschema.

Een voorbeeld. De werkversie van de TOP-thesaurus heeft de baseURI <https://identifier.overheid.nl/tooi/def/thes/top>. De inhoud hiervan wijzigt door de tijd. Op het moment van schrijven is de meest recente afslag <https://identifier.overheid.nl/tooi/def/thes/top_v1.1>. De conventie die we hierbij hanteren is dat de baseURI van de afslag gelijk is aan de baseURI van de werkversie gevolgd door "_v" en de versieaanduiding.

Bij de actuele thesaurus leggen we vast wat de current version van de werkversie is. Hiervoor gebruiken (zoals ook beschreven in de inleiding) PAV, een specialisatie van PROV-O speciaal voor dit doel. De waarde van de property pav:hasCurrentVersion is de baseURI (ook genoemd graphURI) van de meest recente afslag. De property pav:hasVersion gebruiken we om de link te leggen met oudere versies, niet zijnde de current version. Bij het maken van een nieuwe afslag vult de redacteur de nieuwe waarde van deze property handmatig in. Het nummer van de versie, zonder "_v", wordt als een stringwaarde opgeslagen bij pav:version. Het volgende codeblok illustreert dit in TRIG-format. Regel 3 t/m 14 vormen de werkversie van de graaf tooitop. Deze werkversie is versie 1.1. De baseURI van de geversioneerde afslag heeft een versie-aanduiding. Deze graaf omvat regels 18 t/m 28. Resourcedefinities, prefixdefinities enzovoorts zijn weggelaten.

  <https://identifier.overheid.nl/tooi/def/thes/top> {
  
      <https://identifier.overheid.nl/tooi/def/thes/top> #werkversie
          a owl:Ontology ;
          owl:imports <http://www.w3.org/2004/02/skos/core> ;
          owl:versionInfo "v1.1 - Hier staat in het echt informatieve tekst" ;
          dcterms:modified "2041-02-08"^^xsd:date ;
          rdfs:comment "Werkversie" ;
          rdfs:label "tooitop"@nl ;
          pav:version "1.1" ;
          pav:hasCurrentVersion <https://identifier.overheid.nl/tooi/def/thes/top_v1.1> ;
          pav:hasVersion <https://identifier.overheid.nl/tooi/def/thes/ont_v1.0> ;
          # enzovoort, voor elke versie een waarde
      .
      ### resourcedefinities volgen hier
  }
  <https://identifier.overheid.nl/tooi/def/thes/top-v1.1> {
      
      <https://identifier.overheid.nl/tooi/def/thes/top-v1.1> #geversioneerde afslag
          a owl:Ontology ;
          owl:imports <http://www.w3.org/2004/02/skos/core> ;
          owl:versionInfo "v1.1 - Hier staat in het echt informatieve tekst" ;
          dcterms:modified "2041-02-08"^^xsd:date ;
          rdfs:comment "Geversioneerde afslag" ;
          rdfs:label "tooitop-v1.1"@nl ;
          pav:version "1.1" ;
          pav:hasPreviousVersion <https://identifier.overheid.nl/tooi/def/thes/top_v1.0> ;
      .
      ### resourcedefinities volgen hier
  }

Het ligt voor de hand om bij elke nieuwe release de waardelijsten die van de thesaurus afhankelijk zijn opnieuw te genereren, maar het is de redacteur die besluit of dat ook nodig is en gebeurt. Een wijziging in een concept hoeft immers niet door te werken in alle waardelijsten.

Conceptcollecties worden in de werkversie aangemaakt en beheerd. Voor de volledigheid worden ze meegenomen in de afslagen. Wijzigingen in de collecties leiden niet tot een nieuwe release en dus ook niet tot een nieuwe afslag. Tussentijdse versies van de collecties zijn later nog altijd afleidbaar uit de gegenereerde waardelijsten. Een wijziging in een collectie leidt tot een nieuwe versie van de bijbehorende waardelijst. De collectie heeft geen versieaanduiding, maar de waardelijst wel. De redacteur zal na het wijzigen van de collectie de bijbehorende waardelijst opnieuw moeten genereren, waarbij hij of zij zelf de nieuwe versieaanduiding bepaalt. Deze aanduiding wordt verwerkt in de bestandsnaam van de waardelijstversie en ook vastgelegd als de waarde van de property tooiwl:volgnummer. De waarde hiervan is beperkt tot xsd:int: het gaat niet om een versieaanduiding, maar veel meer om een volgnummer.

Overigens wordt in de waardelijst zowel vastgelegd van welke thesaurus (of register) de waardelijst is afgeleid (namelijk de actuele thesaurus, als waarde van pav:derivedFrom), als van welke geversioneerde afslag, als waarde van tooiwl:afgeleidVanVersie.

1.8.2 Verwijderen van concepten

Thesauri zijn de kleinste eenheden van beheer, dus in de thesauri houden we verder geen historie bij. Wanneer (in uitzonderlijke gevallen) een concept verwijderd wordt, verdwijnt deze ook "fysiek" uit de werkversie van de thesaurus. De definitie en de beschrijving van het concept zijn dan nog beschikbaar in de geversioneerde afslagen. De URI van het verwijderde concept voldoet dus aan de eisen die horen bij persistent URIs.

A. Referenties

A.1 Informatieve referenties

[skos-primer]
SKOS Simple Knowledge Organization System Primer. Antoine Isaac; Ed Summers. W3C. 18 August 2009. W3C Working Group Note. URL: https://www.w3.org/TR/skos-primer/
[skos-reference]
SKOS Simple Knowledge Organization System Reference. Alistair Miles; Sean Bechhofer. W3C. 18 August 2009. W3C Recommendation. URL: https://www.w3.org/TR/skos-reference/
KOOP Standaard - Vastgestelde versie