Kennis maken met Topic Maps

/ nl/ article /topicmaps_nl.phpOnderwerpen: topic maps, informatie, kennismanagement, semantische

Dagelijks verwerken we een enorme hoeveelheid aan informatie: nieuwsberichten op tv en uit de krant, een wetenschappelijk artikel, maar bijvoorbeeld ook informatie uit gesprekken met vrienden. We kunnen deze informatie verwerken doordat we 'betekenis' geven aan deze informatie. Deze betekenis halen we uit de context en uit de relatie met gebeurtenissen en informatie uit het verleden, bijvoorbeeld de informatie “onbekend virus legt half Nederland plat” heeft in een medisch tijdschrift een andere betekenis dan in een computertijdschrift. Op het gebied van digitale informatieontsluiting is er nu een model ontwikkeld dat voortborduurt op deze manier van betekenistoekenning: Topic Maps

Informatie in kaart brengen

Topic Maps is geen programmeertaal, en ook geen metataal; het is een model om complexe informatiestructuren in kaart te brengen. Een topic map is een semantische laag bovenop de informatie die bijvoorbeeld is opgeslagen in databases en tekstdocumenten. Door middel van een topic map kunnen we direct toegang krijgen tot de informatie die we nodig hebben, en daarbij ook tot alle overige relevante informatie. Topic Maps kan hiervoor zorgen doordat een topic map:

  • de onderwerpen, of concepten, identificeert die in de informatie ligt opgeslagen;

  • daarnaast de relaties tussen deze concepten vastlegt en omschrijft;

  • tot slot een verbinding legt tussen de concepten en de onderliggende informatie.

Schematisch is dat als volgt voor te stellen:

topic maps

Bouwstenen

Het Topic Maps model kent een aantal belangrijke sleutelconcepten: topics, associations en occurrences. Hieronder volgt een korte omschrijving van deze bouwstenen.

Topics

Two topics with an association

Een topic zegt iets over een object buiten de wereld van de topic map zelf. Dat object kan bijvoorbeeld een persoon zijn, maar ook een schilderij of een bepaald idee. Over een topic kun je een aantal statements maken. Een topic heeft bijvoorbeeld een naam: 'Stephen Fry', en een bepaalde hoedanigheid: 'acteur' en 'schrijver'. Deze hoedanigheden zijn op hun beurt ook weer topics, waar weer statements aan gehangen kunnen worden. Topics kunnen bijvoorbeeld ook zijn “film”, “boek”, “hugh-laurie”.

Associations

Een association geeft een relatie weer tussen topics. De acteur Stephen Fry speelde in 'De ontdekking van de hemel', en de schrijver Stephen Fry schreef 'The liar'. Een association is van een bepaald type. In het eerste voorbeeld is de relatie van het type: 'speelt in', in het tweede voorbeeld van het type: 'schreef'. Binnen een topic map zijn deze association types ook weer topics, waar weer statements aan gehangen kunnen worden en die ook weer in relatie tot andere topics staan. Op deze wijze ontstaat een betekenisvolle laag die zelfbeschrijvend is, en daarnaast eenvoudig is uit te breiden.

Occurrences

Een occurrence legt een verband tussen een topic en een externe informatiebron. In het voorbeeld van Stephen Fry kun je denken aan:

  • een biografie ergens op internet,

  • een filmrecensie op een filmsite,

  • een isbn-nummer van een van Fry's boeken in een bibliotheeksysteem,

  • een interview in een tijdschrift.

Net als associations kennen occurrences types. Een occurrence type geeft de aard van de resource aan: biografie, filmrecensie etc.

Occurrences zijn als het ware de paginanummers van een index achterin een boek. Vaak worden topic maps gepresenteerd als een soort van digitale index. In zekere zin is deze vergelijking terecht, maar door het samenspel van topics, associations en occurrences is een topic map veel krachtiger dan een index. Als er toch een vergelijking met de papieren wereld gemaakt moet worden, dan kan een topic map waarschijnlijk het beste worden omschreven als een index en thesaurus ineen.

Scope en subject identity

De bovengenoemde drie concepten: topics, associations en occurrences vormen tezamen de kern van een topic map. Daarnaast is er nog een aantal kenmerken van Topic Maps die het model een enorme flexibiliteit geven.

Scope

Alle statements, dat wil zeggen: namen, associations en occurrences, kunnen worden geassocieerd met een bepaald bereik, een 'scope'. De scope geeft de context aan waarbinnen een statement geldig is. Een veel gebruikte toepassing van het concept 'scope' is meertaligheid. De naam 'De ontdekking van de hemel' is bijvoorbeeld geldig in de scope 'nederlands', terwijl de naam 'The discovery of heaven' geldig is in de scope 'engels'. Scopes kunnen ook worden toegepast om statements te verfijnen. De association 'speelt in' kan in èèn van de scopes: 'toneel', 'film', 'tv-serie' vallen. Een dergelijke verfijning maakt het voor de eindgebruiker mogelijk om heel specifiek te zoeken.

Subject identity

Een ander belangrijk concept is het concept van subject identity: het idee dat een topic een real-world object weergeeft, en dat dat vaak kan worden aangegeven met behulp van een subject indicator (een URI verwijzing naar bronnen die uitleggen wat het onderwerp is). Als twee topics beide dezelfde subject indicator hebben, gaan ze allebei dus over hetzelfde onderwerp. Door toepassing van dit concept is het mogelijk om twee onafhankelijk gecreerde topic maps bij elkaar te voegen (merging).

XTM

Een topic map kan worden vastgelegd in een XML-document. De XML-taal die hiervoor is ontwikkeld is XTM (XML Topic Maps). Naast XTM is er ook een SGML-versie, maar gezien de populariteit van XML zal voornamelijk XTM in de praktijk worden toegepast. Het voorbeeld van Stephen Fry zal er in een XTM-document ongeveer zo uit zien:

<topic id="de-ontdekking-van-de-hemel"/>
<topic id="acteur">
<topic id="speelfilm"/>
<topic id="stephen-fry">
  <baseName>
    <baseNameString>Stephen Fry</baseNameString>
  </baseName>
  <occurrence>
    <instanceOf>
      <topicRef xlink:href="#biografie">
    </instanceOf>
    <resourceRef xlink:href="...een url van een biografie op internet..."/>
  </occurrence>
  <occurrence>
    <instanceOf>
      <topicRef xlink:href="#interview">
    </instanceOf>
    <resourceRef xlink:href="...een url van een interview op internet..."/>
  </occurrence>
</topic>
<association>
  <scope>
    <topicRef xlink:href="speelfilm"/>
  </scope>
  <member>
    <roleSpec>
      <topicRef xlink:href="#speelt-in"/>
    </roleSpec>
    <topicRef xlink:href="de-ontdekking-van-de-hemel"/>
  </member>
  <member>
    <roleSpec>
      <topicRef xlink:href="#acteur"/>
    </roleSpec>
    <topicRef xlink:href="#stephen-fry"/>
  </member>
</association>

Toepassingen voor Topic Maps

Waar kan het principe van Topic Maps nu worden toegepast? Een voor de hand liggend gebruik van Topic Maps is het aanmaken van een navigatielaag bovenop een verzameling van informatie. De informatie kan door het gebruik van een topic map goed worden doorzocht en doorgelopen. Ingewikkelde querysamenstellingen worden mogelijk: "zoek alle tv-series waarin Stephen Fry samen met Hugh Laurie speelde". Portals en andere websites waarin veel en verschillende informatie wordt aangeboden zouden op deze manier kunnen profiteren van topic maps.

Doordat topic maps niet alleen verwijzingen naar informatie? bevat, maar ook het onderwerp weergeeft van deze informatie, is het inzetten van topic maps heel goed mogelijk bij kennismanagement? tools. De eigenschap van Topic Maps tot het samenvoegen van onafhankelijk van elkaar gecreerde topic maps maakt het mogelijk om de informatie uit een verscheidenheid van bronnen te combineren in èèn topic map. Op deze wijze kan informatie uit systemen worden geïntegreerd die zelf niet van elkaars bestaan hoeven af te weten.

Hoe maak je een Topic Map?

Uit het korte voorbeeld over Stephen Fry blijkt dat het maken van een topic map geen sinecure is. De voordelen van een goed ontworpen topic map zijn evident: snelle en betekenisvolle ontsluiting van informatie. Bij het ontwerp van een topic map komen twee expertisevelden samen: er moet inhoudelijke expertise aanwezig zijn om de betekenis te onttrekken aan de informatie, en technische expertise om deze betekenis om te zetten in een topic map.

XTM-documenten kunnen in principe met een teksteditor geschreven worden, maar dat is een heidens karwei. Gelukkig zijn er verschillende authoring tools en frameworks beschikbaar . Om een paar te noemen: Ontopia Knowledge Suite, Topic Map Loom TM, Empolis K42 en Mondeca Intelligent Topic Manager.

Wanneer een topic map wordt ontworpen bovenop gestructureerde informatie als XML-documenten, dan kan het lonen om gebruik te maken van scripts. Deze scripts kunnen automatisch (delen van) een topic map genereren.

Tot slot zijn er zogeheten 'Virtual Topic Maps'. Dit zijn topic maps die bovenop databases liggen, en automatisch beheerd worden. Een dergelijke topic map is altijd up-to-date, en kan dynamisch samengevoegd worden met andere topic maps, om een meer omvattende topic map te bouwen.

  • Het concept Topic Maps wordt helder uitgelegd in het artikel “The TAO of Topic Maps”>>

Informatie ...

Bouwstenen ...

Scope ...

XTM ...

Toepassingen ...

Hoe ...