# Topic maps

Topic maps is een standaard voor de weergave en uitwisseling van kennis, waarbij de nadruk ligt op de vindbaarheid van informatie. Topic maps werden voor het eerst ontwikkeld aan het eind van de jaren negentig als een manier om structuren van boekregisters weer te geven. Hierdoor konden meerdere registers uit verschillende bronnen samengevoegd worden. De ontwikkelaars beseften echter al snel dat ze, als ze het wat meer generaliseerden, een metamodel konden maken die een veel bredere toepassing mogelijk maakte. De ISO-standaard staat officieel bekend als ISO/IEC 13250:2003.
Een topic map geeft informatie weer door middel van:
* onderwerpen (topics), die om het even welk begrip weergeven, van mensen, landen en organisaties tot software modules, afzonderlijke bestanden en gebeurtenissen,
* associaties, die de hypergrafische verbanden tussen de onderwerpen weergeven, en
* informatiebronnen (occurrences), die de informatiebronnen weergeven die relevant zijn voor een bepaald onderwerp.
In veel opzichten zijn topic maps vergelijkbaar met conceptmaps en mindmaps, maar alleen de topic maps zijn gestandaardiseerd. Topic maps zijn een vorm van technologie van het semantische web, en er is werk gedaan om onderlinge uitwisselbaarheid mogelijk te maken tussen de RDF/OWL/SPARQL-groep van semantische web-standaarden van W3C en de groep Topic map-standaarden van ISO.
De semantische expressiviteit van topic maps is grotendeels gelijk aan die van RDF. De grote verschillen zijn echter dat topic maps (i) een hoger niveau van semantische abstractie verschaffen (ze geven een sjabloon van onderwerpen, associaties en informatiebronnen, terwijl RDF slechts een sjabloon van twee onderwerpen verbonden door één relatie geeft) en (daarom) (ii) staan ze n-plaatsige relaties (hypergrafen) toe tussen elk aantal knopen, terwijl RDF zich beperkt tot drietallen.

## Ontologie en samenvoeging

Onderwerpen, associaties en informatiebronnen kunnen allen getypeerd worden, waarbij de maker(s) van de topic map(s) de types moeten definiëren. De definities van de toegestane types wordt de ontologie van de topic map genoemd.
Topic maps ondersteunen het concept van het samenvoegen van de identiteit van meerdere onderwerpen of topic maps uitvoerig. Bovendien kunnen ontologieën ook worden samengevoegd, aangezien het ook topic maps zijn. Hierdoor is het mogelijk automatisch informatie uit uiteenlopende bronnen op te nemen in een nieuwe, samenhangende topic map. Om het samenvoegen van verschillende taxonomieën te reguleren wordt bijvoorbeeld gebruikgemaakt van elementen die het onderwerp vaststellen (URI's die aan de onderwerpen worden gegeven) en van PSI's (Published Subject Indicators). Het bepalen van het bereik van de namen is een manier om de uiteenlopende namen die aan een bepaald onderwerp zijn gegeven door verschillende bronnen, te organiseren.

## Notatie

Naast GTM, dat hieronder in de lijst is opgenomen, zijn er nog andere manieren om topic maps grafisch te noteren. Een voorbeeld is Topic Maps Martian Notation, dat onlangs is ontwikkeld. TMMN (dit is de afkorting) is een eenvoudige grafische notatie die wordt gebruikt om het gegevensmodel van topic maps toe te lichten en om zowel de ontologieën als de representatieve voorbeeldgegevens in kaart te brengen. Het is ontworpen om op een whiteboard of op papier gebruikt te worden, maar ook in elke software die gebaseerd is op diagrammen, zoals PowerPoint en OpenOffice.org. TMMN gebruikt slechts een klein aantal symbolen - "vlek", "label", "lijn", "gestippelde lijn" en "pijl" - om de relaties weer te geven. Van het topic maps-model gebruikt het de basiselementen, namelijk Onderwerpen, Namen, Associaties (en Rollen), Bereik en Informatiebronnen (met inbegrip van Onderwerpsbepalers en Onderwerpsopspoorders). Het woord "Martian" verwijst naar de klassieke "Martiaanse Wetenschapper", waarmee het vermogen om kennis over te dragen over talige en culturele grenzen, bekend en onbekend, heen. Het werd ontwikkeld als onderdeel van het musicDNA project. Op het moment wordt de Advanced Topic Maps Martian Notation ontwikkeld door de musicDNA-gemeenschap. Deze notatie bevat afkortingen voor verschillende soorten deel-geheel relaties.

## Gegevensformaat

In het overzicht is de specificatie als volgt samengevat: "Deze specificatie levert een model en grammatica om de structuur weer te geven van informatiebronnen die zijn gebruikt om onderwerpen en de associaties (relaties) tussen onderwerpen te definiëren. Namen, bronnen en relaties worden beschouwd als kenmerken van abstracte thema's, die onderwerpen (topics) worden genoemd. Onderwerpen hebben hun eigenschappen binnen een bepaald bereik: dat wil zeggen, de beperkte context waarbinnen de namen en bronnen worden beschouwd als eigenschappen van hun naam, bron en relatie. Eén of meerdere met elkaar verbonden documenten die gebruikmaken van deze grammatica worden een topic map genoemd."
Een formaat dat lineaire topic map-notatie (LTM) wordt genoemd dient als een soort verkorte schrijfwijze om topic maps te schrijven met tekstbewerkers in platte tekst. Dit is handig voor het schrijven van korte persoonlijke topic maps, of om gedeeltes van topic maps via e-mail uit te wisselen. Het formaat kan worden omgezet in XTM.
Een ander formaat dat AsTMa heet, dient een vergelijkbaar doel. Als topic maps met de hand geschreven worden zijn ze veel compacter, maar ze kunnen natuurlijk worden omgezet naar XTM. Een andere mogelijkheid is om het meteen in de Perl-module TM te gebruiken, die ook LTM ondersteunt.

## Huidige standaard

Het meest recente werk om topic maps (ISO/IEC 13250) te standaardiseren wordt gedaan onder toezicht van de ISO/IEC JTC1/SC34/WG3 commissie (ISO/IEC Joint Technical Committee 1, Subcommittee 34, Working Group 3 - Documentbeschrijving en talen verwerken - Informatie Associatie).
De standaarden voor referentiemodellen en gegevensmodellen van topic maps (ISO/IEC 13250) worden gedefinieerd op zo'n manier dat het onafhankelijk is van elke specifieke serialisatie en syntaxis.
* TMRM Topic Maps - Referentiemodel
* TMDM Topic Maps - Gegevensmodel
Serialisatieformaten van XML zijn:
* In 2000 werden Topic Maps gedefinieerd in de XML syntaxis XTM. Deze staat nu algemeen bekend als "XTM 1.0" en wordt nog steeds vrij algemeen gebruikt.
* De ISO-standaardencommissie maakte in 2006 een bijgewerkte XML syntaxis bekend, XTM 2.0, die tegenwoordig steeds meer gebruikt wordt.
Let op dat XTM 1.0 van eerdere datum is dan de nieuwere versies van de (ISO/IEC 13250) standaard, waardoor XTM 1.0 niet compatibel is met deze nieuwere versies.
Andere (voorgestelde of gestandaardiseerde) serialisatieformaten zijn onder meer:
* CXTM - Canonicaal XML Topic Maps-formaat (canonicalisatie van topic maps)
* CTM - een Compacte Topic Maps-notatie (niet gebaseerd op XML)
* GTM - een Grafische Topic Maps- notatie
De standaarden hierboven zijn allemaal onlangs voorgesteld of gedefinieerd als deel van ISO/IEC 13250. Zoals hieronder beschreven is, zijn er ook andere serialisatieformaten zoals LTM en AsTMa, die niet zijn voorgesteld als standaarden.

## Verwante standaarden
### Topic Maps API

Een standaard (feitelijk een API- standaard) die de Common Topic Maps Application Programming Interface (TMAPI) wordt genoemd werd in april 2004 bekendgemaakt. Deze standaard wordt ondersteund door vele implementaties en verkopers van topic maps:
* TMAPI - Common Topic Maps Application Programming Interface
* TMAPI 2.0 - Topic Maps Application Programming Interface (v2.0)

### Query-standaard

Bij normaal gebruik is het vaak wenselijk om de gegevens van een bepaald topic map-geheugen willekeurig te kunnen opvragen. Veel implementaties voorzien in een syntaxis waarmee dit kan worden gedaan (een soort "SQL voor topic maps"), maar de syntaxis is zeer verschillend in de verschillende implementaties. Met dit in het achterhoofd heeft men gewerkt aan het bepalen van een gestandaardiseerde syntaxis voor het uitvoeren van zoekopdrachten in topic maps:
* ISO 18048: TMQL - Topic Maps Query Language

### Beperkingsstandaarden

Het kan ook wenselijk zijn om een aantal beperkingen te bepalen die kunnen worden gebruikt om de semantische geldigheid van gegevens in topic maps te waarborgen of te controleren (een soort databasebeperkingen voor topic maps). Beperkingen kunnen worden gebruikt om dingen als "elke document heeft een auteur nodig" of "alle bestuurders moeten een mens zijn" te bepalen. Implementaties hebben vaak hun eigen manieren om deze doelen te bereiken, maar er is gewerkt aan het bepalen van een gestandaardiseerde beperkingstaal:
* ISO 19756: TMCL - Topic Maps Constraint Language

### Eerdere standaarden

Het concept van "topic maps" bestaat al lange tijd. De HyTime-standaard werd al in 1992 (of eerder?) voorgesteld. Er bestaan ook eerdere versies van ISO 13250 (eerder dan de huidige herziening). Meer informatie over dergelijke standaarden is te vinden op de ISO Topic Maps-website.