Guide:
Emnekart for vanlige dødelige (del 1)
Vi har fått seniorutvikler Alexander Johannesen til å gi en innføring i temaet "emnekart". Han burde vite hva han snakker om: Han jobber for det australske nasjonalbiblioteket, der det skulle være nok informasjon som må organiseres. Les første del av de to artiklene om emnekart.
Vi snakker ofte om "semantikk" i denne bransjen, men få forstår hva det ordet egentlig betyr og ikke minst hvilke konsekvenser man ville fått hvis man så gjorde. Jeg skal gi to definisjoner, og den første generelle definisjonen lyder; "velformulerte meningsfulle data", og den andre noe smalere definisjonen lyder; "velformulerte og meningsfulle data som er sann". Velformulerte data i seg selv er et komplekst emne, men husk at "meningsfulle" ofte er et personlig og individualistisk mål nært oppunder umulig og derfor kanskje en faktor som kan gjøre hele datasystemer komplett ubrukelige! Det er ikke til å stikke under en stol at dette er heite og omdiskuterte emner.

Dernest må vi snakke om ontologi, "studier i det å være, virkeligheten og dens substans." I dataverdenen bruker vi dette ordet som substitutt for "det vi snakker om" i systemene våre. I en applikasjon snakker vi kanskje om kunder, selgere, telefonnummere, kontrakter, penger og så videre; dette blir ontologien som vi snakker om, og er et uttrykk vi gjerne bruker nede i de mørkere delene av systemene våre, om de mystiske objektene som flyter omkring og tilsynelatende gjør at systemene virker. "Jeg heter Alex, og jobber ved NLA" kan sies å ha en ontologi av ordene "jeg, heter, og, jobber, ved", altså de ordene som bygger opp den semantiske verdien av de råe data "Alex, NLA."
Det neste vi må ta for oss er koblingen mellom ontologi og kunnskapsdatabase. Noen blander sammen ontologi og database til ett, mens andre har en helt klar seperasjon av de to. Her må vi bringe inn uttrykket skjema, eller det engelske "schema", som definerer en struktur og regler for hvordan dataene dine kan forklares og lagres. Et skjema kan validere at du putter en dato inn i et datofelt, og at duppedings må være i en substruktur av en ding-dong. Veldig ofte - og jeg er på nippet til å si alltid, men biter meg i det fordi det finnes ørsmå fragmenter av alternativer der ute - vil et skjema definere en binær struktur, en trestruktur. Tenk zoologi hvor alle levende vesener, store og små, blir puttet inn i kategorier der de hører hjemme, og hvor du kan lete deg opp og ned treet på leting etter andre vesener av mer eller mindre lik art.

Disse blir ofte kalt taksonomier, og kommer nettopp fra biologien, "klassifiseringen av levende organismer." Klassifisering av ting i bestemte strukturer har vi gjort til all tid og det har stort sett gått greit, men jo mer vi vet, jo mer vi vil klassifisere, jo mere skjønner vi at ting ikke egentlig passer inn i disse forhåndsbestemte kategoriene. Plutselig finner man to veldig forskjellige ting som passer i samme kategori, eller man finner to fryktelig like ting som passer inn i to vidt forskjellige kategorier. Og da får man et problem, fordi vi i all tid har brukt strukturen i klassifikasjonsstrukturene som semantisk modell! Henger du med meg? Vi finner Homo Sapiens og Homo Erectus i samme kategori, men finner ikke Homo Sapien Sapiens i Homo Erectus selv om forskjellen er liten (og for noen ingen i det hele tatt), og datasystemer - i kraft av å være logiske kraftbeist med dårlig gangsyn - har vanskeligheter med å se sammenhengen og semantiske finurligheter slik vi gjør det. Du har kanskje hørt om "folksonomies" som i korte trekk er klassifiseringsstrukturer som brukerene av systemene lager selv, og på denne måten unngår de spesifike problemene men har til gjengjeld dårlig presisjon. For eksempel, hva med "fisk"; passer den best i "vann" eller "gjeller" kategorien? Kanskje lage ny kategori "våte dyr"? Eller må vi velge èn? Hvorfor ikke begge?
Ja, nettopp; hvorfor ikke begge? Vi må bringe fasetterte kategorier på banen. Vi kan si at "vann" og "gjeller" er fasetterte aspekter ved en gitt kategori "fisk", og det samme for "finner". Ved å finne flest mulig fasetterte kategorier for andre kategorier bygger man opp en struktur av kategorier som er fleksibel i forhold til hva du putter i dem - man er ikke bundet til en enkelt mulighet, men til flere mulige, og man kan finne snev av semantisk verdi i katalogstrukturene.
Sånn, da skal vi være på teoretisk bølgelengde, selv om vi bare har lekt litt i overflaten.