Emnekart

**Emnekart** (eng. *Topic Maps*) er en ISO-standard for representasjon og utveksling av strukturert og semistrukturert informasjon. Standarden startet som en generalisering av konseptene rundt stikkordregister, ordbøker og synonymordlister, men har vist seg å ha stor nytteverdi i en rekke andre sammenhenger.

Emnekart brukes til informasjonsgjenfinning og navigering i informasjon. Standarden er en semantisk teknologi, som kan sammenlignes med W3C-standardene for semantisk web. Emnekart har i tillegg en mekanisme (scope) for å angi kontekst for informasjonen, slik at man i et språkfilosofisk perspektiv kan si at den har støtte for pragmatikk. 
Emnekartstandarden har også innebygget mekanismer for å flette sammen to eller flere emnekart som kan ha ulik struktur, basert på et standardisert URI-basert ID-system.

Standarden er formelt kjent som **ISO/IEC 13250:2003**.

## Hvordan ser datamodellen i emnekart ut?
Emnekart lar forfattere representere meget komplekse strukturer og sammenhenger. Allikevel er de grunnleggende konseptene, som f.eks. beskrevet i Steve Peppers artikkel «The TAO of Topic Maps», eller beskrevet av Networked Planet (https://web.archive.org/web/20060620195856/http://networkedplanet.com/technology/topicmaps/intro.html), enkle å forstå. Kjernen i emnekartmetaforen er *emner*, *forekomster* og *assosiasjoner*, eller på engelsk: *Topics*, *Occurrences* og *Associations* (TAO).

Et emnekart består av et sett med *emner* av forskjellige typer. Disse emnene er knyttet sammen i en grafstruktur gjennom *assosiasjoner*. Et emne representerer et *tema* (eng. *subject*). Et tema kan være hva som helst. Det kan være en bil, en biltype, en bilfabrikant eller til og med selve konseptet bil. Kort sagt kan temaer være alt mennesker kan snakke om.

**Forekomster** er data om emnet. En forekomst kan sees på som en peker fra indeksen til informasjon om temaet emnet representerer. I web-sammenheng kan dette være en hyperlenke til en nettside, men informasjonen kan også ligge direkte i emnekartet.

All informasjon forholder seg til emnet de handler om på litt forskjellige måter. Derfor er forekomster typet. De er ikke typet i klassisk datamodellerings forstand med *integere*, *flyttall* eller *tekst*, men heller hvordan informasjonen henger sammen med temaet.

Eksempler på forekomster er en lenke til en persons hjemmeside, en beskrivelse av en organisasjon eller antallet gjenværende varer av en bestemt varetype i en butikk.

En forekomsttype er et tema mennesker kan snakke om og representeres derfor av et emne i emnekartet. Denne gjenbruken av emner i store deler av datamodellen er det som på mange måter gjør emnekart internt konsistente og delvis selvdokumenterende.

**Assosiasjoner** sier noe om hvordan temaer henger sammen. F.eks. er Norge medlem av NATO. Alle slike relasjoner en ønsker å ha med i et emnekart legges inn som en assosiasjon mellom to eller flere emner.

Assosiasjoner går begge (eller alle) veier, så i eksemplet over vil emnekartet automatisk også si at NATO har Norge som medlem.

Merk at assosiasjonstypen her er temaet (eller konseptet) medlemskap. Den representeres også av et emne i emnekartet på samme måte som forekomsttypen over.

**Assosiasjonsroller** brukes til å vise hvem som er hva i en assosiasjon. Uten assosiasjonsroller vil en ikke kunne se om det er Norge som er medlem i NATO eller NATO som er medlem i Norge. I et emnekart som tar med denne assosiasjonen vil typisk Norge spilt rollen medlem, og NATO spilt rollen organisasjon.

Rolletypene er også temaer på samme måte som typen på assosiasjoner og forekomster.

Emner kan også ha flere **navn**. Et lett gjenkjennelig eksempel er hvordan landet Norge heter Norway på engelsk. Disse skilles ved å bruke *perspektiver* (eng. *scopes*). Et perspektiv er et sett med emner, i dette eksemplet et sett som inneholder et emne som representerer temaet engelsk og et annet for temaet norsk.

I tillegg kan navn også ha flere *varianter*. Eksempler på varianter er flertallsnavn og sorteringsverdi.

I den neste utgaven av ISO standarden forventes navn å få typer på samme måte som forekomster.

**Temaidentifikatorer**
Noe av poenget med å lage en slik datamodell er å gjøre det mulig for datamaskiner å forstå når det snakkes om samme ting eller tema. Dette løses ved å gi hvert enkelt emne en identitet. Identiteten angis ved å benytte en eller flere URI-er. Disse utgjør en såkalt *temaidentifikator*.

Temaidentifikatorene kan brukes til å flette emnekart sammen.

## Hvordan brukes emnekart?
Det fins like mange måter å benytte emnekart på som det fins brukere. Likevel er det mulig å dele dem inn i to hovedretninger.

Små emnekart kan en jobbe på som dokumenter i et tekstbehandlingsprogram. Da kan man tenke på den som skriver emnekartet som en forfatter. Disse emnekartene kan ofte være ment å brukes til integrasjon (å flette sammen flere emnekart), men er ofte også personlige. Et eksempel er et TODO-emnekart eller et familietre.

Det er spesifisert syntakser i tillegg til XTM og HyTM som er enklere å jobbe med. Spesielt er Ontopias Linear TopicMap Notation (LTM) populær, men også asTMa fra australske Bond University har fått stor interesse.

Dersom en skal bygge større emnekart, kan det være verdt å bruke en emnekart-prosessor med forskjellige visualiseringsteknikker, spesielt dersom emnekartet får flere forfattere. Den mest brukte metoden i Norge er å ha en emnekartmotor i bunnen som vedlikeholder datamodellens integritet og bygge dynamisk genererte nettsider oppå.

## Emnekart i Norge
Norge ligger langt fremme i utbredelse og utnyttelse av emnekart. Særlig i offentlig sektor har man tatt i bruk emnekart under bygging av portaler og til systemintegrasjon.
  
Emnekartmiljøet i Norge er faglig tungt, med flere medlemmer av standardiseringskomiteene, flere leverandører og flere konsulentselskap som tilbyr emnekarttjenester. Det er en faggruppe for emnekart i  Dataforeningen.
  
Det er over et dusin portaler som benytter emnekart i forskjellig grad, og flere er underveis. Dette er noen av de mest kjente:

* Anskaffelser.no
* Arbeidstilsynet.no
* Arctic Council
* Bergen kommunes innbyggerportal
* Cappelen Damm læreboknettsteder 
* Direktoratet for fovaltning og IKT sine nettsider (Se også egen artikkel)
* Forbrukerrådets informasjonsportal
* Grep – levende læreplaner (Se også egen artikkel)
* Høyre (400 portaler)
* Kulturnett
* Mattilsynets informasjonsportal
* Matematikk.org
* Naturfag.no
* Norsk institutt for skog og landskap
* Polaråret
* Prosjektveiviseren  (Se også egen artikkel)
* Regjeringen.no
* Skatteetaten
* Skolenettet
* Utdanningsdirektoratet
    
Det er per 2009 holdt syv emnekartkonferanser i Norge, og det ser ut til å ha blitt permanent en årlig hendelse:
* Topic Maps 2009 - Culture for Sharing
* Topic Maps 2008 - Towards the Vision of Subject-Centric Computing
* Topic Maps 2007 - The First International Topic Maps Users Conference
* Emnekart 2006
* Emnekart Norge 2004
* Emnekart Norge 2003
* Emnekart Norge 2002

## Historie
Den første versjonen av Topic Maps standarden fra ISO ble ferdig i 2000, etter nesten 10 års tenkning og arbeid. Emnekartstandardene har utviklet seg mye etter dette, noe som har ført til en del misforståelser, bl.a. at en del tror at Emnekart er en XML-standard. Denne historikken gir en detaljert oversikt  over standardutviklingen.

### The Davenport Group: [[1991]]&ndash;[[1993]]
Ideen til emnekart stammer fra arbeidet Steven Newcomb og The Davenport Group gjorde rundt teknisk dokumentasjon tidlig på 90-tallet.

Steven R. Newcomb ledet en gruppe Unix-leverandører som kalte seg The Davenport Group. Initiativet ble kalt "SOFABED" (Standard Open Formal Architecture for Browsable Electronic Documents). Arbeidet bygget på SGML (Standard Generalized Markup Language) og HyTime (Hypermedia/Multimedia Time-based Structuring Language).

Oppgaven var å undersøke hvordan HyTime-standarden kunne brukes til å representere og flette sammen stikkordregister, ordlister, thesaurus og innholdsfortegnelser for elektronisk dokumentasjon fra de ulike leverandørene.

### CApH: [[1993]]&ndash;[[1995]]
En ny gruppe kalt "Conventions for the Application of HyTime" (CApH) ble dannet. Resultatdokumentet skrevet av Michel Biezunski og Steven R. Newcomb, ble ferdig i 1995, og inneholdt den grunnleggende modellen for det som senere ble Topic Maps. Se Topic Navigation Maps utkast (1992)

### HyTM: [[1996]]&ndash;[[2000]]
Standardiseringsprosjektet ISO/IEC 13250 (Topic Maps) ble satt i gang innenfor ISO (the International Organization for Standardization). Ansvaret for arbeidet ble lagt til SC 34 (SC betyr sub-komité), som var komitéen ansvarlig for bl.a. SGML, DSSSL, HyTime og font standarder. SC34 ier delt inn i tre arbeidsgrupper, og alt arbeidet med Topic Maps har foregått i WG3.
Arbeidet med den første versjonen, ISO/IEC 13250:2000, ble ferdig i januar 2000. Topic Maps ble her definert ved hjelp av en SGML DTD og HyTime lenking og adressering. Denne Topic Maps syntaksen er derfor også kjent som HyTM (HyTime Topic Maps). Da HyTM ble ferdig var det tre problemer med den:
* Den brukte ikke XML, som i mellomtiden hadde overtatt for SGML
* DTD-en var ikke komplett, den beskriver ikke hvordan linker til eksterne dokumenter skal representeres og hvilken syntaks som skal brukes for interne referanser.
* Standarden brukte ikke URI-er, noe som gjorde at den ikke fungerte særlig godt i en web-kontekst.

Den ferdige standarden ble først presentert på konferansen Markup Technologies 1999 (5-9 desember 1999). På samme konferanse presenterte bl.a. Ora Lassila RDF-standarden (Resource Description Framework), og det var på denne konferansen at det for alvor gikk opp for både emnekart-miljøet og RDF-miljøet at man hadde én ISO-standard og én W3C-standard der den underliggende modellen lignet ganske mye.

### XTM: [[2000]]&ndash;[[2001]]
Underveis i arbeidet med Topic Maps standarden hadde W3C-standarden XML blitt født i 1998, og var blitt en suksess. XML var en forenklet versjon av SGML, optimalisert for bruk i WWW. Allerede før Topic Maps standarden offisielt ble sluppet ble det derfor diskutert hvordan man kunne sette i gang arbeid med å lage XML-formatet XTM, "XML Topic Maps".

Arbeidet ble ikke startet opp som en ISO-prosess, det ble opprettet en uavhengig gruppe som kalte seg TopicMaps.Org. Gruppen ble først ledet av Michel Biezunski og Steven R. Newcomb. Målet var å raskt publisere en XML-versjon av Topic Maps standarden.  Murray Altheim, Sam Hunting, Steve Pepper og Graham Moore ble også med i gruppen. Den første versjonen ble publisert i desember 2000. Steve Pepper og  Graham Moore ble så utnevnt til nye "editors" av spesifikasjonen, som ble ferdigstilt som XML Topic Maps (XTM) 1.0 6. august 2001.

### ISO/IEC 13250, Topic Maps (Second Edition): [[2001]]&ndash;[[2003]]
Det ble deretter foreslått å gjøre spesifikasjonen om til en ISO-standard, og den ble akseptert som en ISO-standard ISO/IEC 13250, Topic Maps (Second Edition) i oktober 2001. ISO-standarden for Emnekart omfattet altså på dette tidspunktet to syntakser: HyTM og XTM.

XTM var i prinsippet en utvekslingssyntaks for emnekart. Fordi dette var den nyeste emnekartstandarden, og det på dette tidspunktet ikke fantes noen standard som beskrev den grunnleggende modellen (annet enn HyTM), ble mange ledet til å tro at emnekart var synonymt med XTM og at Topic Maps var en XML-standard. Boken XML Topic Maps, som ble utgitt i 2002, bidro også til denne misforståelsen. Den var kalt opp etter utvekslingssyntaksen, som på dette tidspunktet var den nye emnekartstandarden.

### Emnekartfamilien av standarder: [[2002]]&ndash;[[2008]]
Det ble klart at det gjensto noen problemer med standarden. Den definerte bl.a. ikke hvordan XTM og HyTM forholdt seg til hverandre. Disse syntaksene hadde enkelte ulikheter i datamodellen. Det ble etterhvert bestemt å revidere ISO 13250 slik at den ble en standard som bestod av flere deler:
* ISO 13250-2: Topic Maps — Data Model (TMDM) 
* ISO/IEC 13250-3: Topic Maps — XML Syntax (XTM 2.0)
* ISO 13250-5: Topic Maps — Reference Model (TMRM)
* ISO 13250-6: Topic Maps — Compact Syntax (CTM)
* ISO 18048: Topic Map Query Language (TMQL)
* ISO 19756: Topic Maps Constraint Language (TMCL)
 
Per april 2008 er den underliggende modellen for emnekart definert i standardene: TMDM og TMRM, og XTM har kommet i en revidert 2.0-versjon. TMQL-spesifikasjonen, som definerer spørrespråket er stabil og vil sannsynligvis snart bli antatt som standard. Skjema-språket TMCL er nesten ferdig. Det gjenstår fortsatt litt arbeid på CTM, som skal brukes til å kode emnekartfragmenter i både TMCL og TMQL. ISO 13250-7: GTM (Graphical Notation) er under innledende vurdering.

Referanser:
* Guide to the topic map standardization process
* Hjemmeside for ISO SC34/WG3 
* The Topic Maps Standard

## Artikler
* The TAO of Topic Maps - Finding the Way in the Age of Infoglut (Siden artikkelen er fra 2002 er referanser til emnekartstandardene utdatert. Det er imidlertid en god introduksjon til den grunnleggende modellen for emnekart)
* «Metadata? Thesauri? Taxonomies? Topic Maps!»
* An Introduction to Topic Maps (MSDN)
* Applying Topic Maps to Application Architecture
* White Paper: Topic Maps In Web-site Architecture

## Bøker
* XML Topic Maps: Creating and Using Topic Maps for the Web (Boken er fra 2002, og referanser til emnekartstandardene og kodeeksempler er foreldet. Boken dekker kun versjon 1.0 av XTM.)
* Charting the Topic Maps Research And Applications Landscape: First International Workshop on Topic Map Research and Applications, TMRA 2005, Leipzig, Germany, ... / Lecture Notes in Artificial Intelligence (Google books link) 
* Leveraging the Semantics of Topic Maps, Second International Conference on Topic Maps Research and Applications, TMRA 2006 (Google books link)

## Eksterne lenker
* Topicmaps.com (Emnekartmiljøets internasjonale side med bl.a. oversikt over Internasjonale konferanser og link til konferanseartikler)
* Planet Topic Maps - emnekartrelaterte blogger
* Dataforeningens faggruppe for emnekart
* Emnekart-diskusjon: Epostliste for diskusjon av emnekartrelaterte ting
* emnekart.no (Det norske emnekartmiljøets hjemmeside, som per april 2008 sjelden blir oppdatert)

ISO 13250 er en standard som består av flere deler:
* ISO 13250-2: Topic Maps — Data Model (TMDM) 
* ISO/IEC 13250-3: Topic Maps — XML Syntax (XTM 2.0)
* ISO 13250-5: Topic Maps — Reference Model (TMRM)
* ISO 13250-6: Topic Maps — Compact Syntax (CTM)
* ISO 18048: Topic Map Query Language (TMQL)
* ISO 19756: Topic Maps Constraint Language (TMCL)