tirsdag 27. november 2007

Semantisk begrepsforvirring

Spørsmålet er kva som ligg i begrepet "semantic web"? Det er eigentleg mest ironisk at det herskar såpass begrepsforvirring om dette. Semantisk web skal jo nettopp innføra begrepsharmonisering.

Er f.eks. emnekart (Topic Maps) omfatta av "Semantic Web" og "Semantic Web Technology"? Mange (W3C) vil seia nei, men det blir samtidig nokså rart - i alle fall i mine øyre.

Kollega Robert har gitt meg følgjande definisjonar:

1) Topic Maps: teknologi og rammeverk

2) Semantic Web: rammeverk utviklet i W3C-regi.

3) Semantic Web Technology: teknologien bak W3C rammeverket, stort sett basert på RDF/OWL

4) Semantic Technologies = alt som bruker semantikk til å resonnere. XTM, SW/T, ++

Også Lou Rosenfeld har lurt på dette i bloggen sin.

5 kommentarer:

Anonym sa...

Det er dypt ironisk, ja, at det skal være forvirring rundt semantikken i begrepene som brukes om semantisk teknologi. :-)

Ellers stort sett enig med Robert her, men jeg er litt usikker på hva han legger i "rammeverk". Hadde dere f.eks byttet ut ordet med "visjon" hadde jeg forstått det. Nå er jeg ikke sikker på hva dere mener.

Kunne du utdypet akkurat det?

Steinar S. sa...

Hei Svein, jeg benytter anledningen dine SW-relaterte innlegg gir til å skrive litt ... Forhåpentligvis er det riktig. Uansett har det vært en nyttig runde for min egen del i å finne enda en måte å forsøke å beskrive hva Semantic Web er ... :-)

Jeg er enig i at det kan virke ironisk med begrepsforvirring på dette området -- men strengt tatt er det kanskje et pedagogisk nyttig poeng? For Semantic Web-teknologi -- hverken W3Cs "Semantic Web" eller ISOs "Emnekart" -- tar jo ikke mål av seg å innføre begrepsharmonisering i seg selv. Unntaket er selvsagt det begrensete antallet begrep med standardisert betydning som inngår i selve standardene, som f.eks. "type" i RDF. Jeg tror det er et poeng å unngå å videreføre misforståelsen om at Semantic Web dreier seg om en sentralt utviklet, altomfattende ontologi. James Hendler er ihvertfall grundig lei av å måtte forsvare seg mot noe han mener ikke stod i "Scientific American"-artikkelen.

Det Semantic Web-teknologiene bidrar med er nye trinn på trappen oppover mot gjenbrukbare data. Fra tidligere har standardiseringen på åtte bits byt og ASCII-tabellen spart oss for å avtale betydningen av de binære dataene på tegn-nivå. Etterhvert har nye tegnsettstandarder bidratt til (delvis ...) å løse problemene med særnorske og særutenlandske tegn. Videre har XML etterhvert tatt over som forhåndsavtalt syntaks for hele filer, og utvidelsen med XML Namespace har gitt oss mekanismer for å unngå navnekollisjoner i XML-filer. XML Schema er et forhåndsavtalt XML-format for å beskrive hva vi er blitt enige om for alle andre XML-format.

Navnekollisjonshåndteringen i XML Namespace håndteres gjennom bruk av URIer, som er den forhåndsavtalte måten å identifisere hver krik og krok på Internett (og forøvrig det Tim Berners-Lee selv mener er det viktigste han har "funnet opp").

Unicode, URI, XML og XML NS utgjør de to nederste trinnene på SW-trappen, som figuren fra W3C viser. Såvidt jeg har skjønt baserer også Emnekart seg på denne felles "grunnmuren". Det er riktignok litt diskusjon om hvorvidt en URI kan være en referanse til noe i den virkelige verden (eller noe sånt -- der har jeg falt litt av ...), men fellestrekkene er mer fremtredene enn forskjellene.

På denne plattformen bygger W3C det de har ment er et slags "minste felles multiplum" for alle datastrukturer, nemlig tripler (RDF). På den måten trenger ikke dataene å være begrenset til et liv i interne databaser, og unntaksvis(?) pakkes inn i et eller annet XML-dokument for utveksling med en annen database. Dataene skal være direkte tilgjengelige på world wide web, med en forutsigbar datamodell som gjør det mulig å relatere data på tvers av nettsteder, på samme måte som man kobler data i tabeller i interne databaser.

Vi er vant til å jobbe med relasjonsdatabaser gjennom modelleringsspråk hvor vi beskriver en modell av verden gjennom et sett av konstruksjoner som subklasse-superklasse, entitet-relasjon, kardinaliteter, attributter, etc, litt avhengig av hvilke modelleringsverktøy som brukes. Gjennom god modellering og godt relasjonsdatabaseverktøy forsikrer vi oss om at vi ikke lager en database som kan inneholde selvmotsigende data. For eksempel plasserer vi poststed og postnummer gjerne i en egen tabell istedenfor å gjenta postnummer og poststed i mange tabeller, med fare for at et postnummer tilhører ett poststed i en tabell, og et annet poststed i en annen tabell.

Denne typen konstruksjoner for modellering og "styring" av dataene, er det også behov for i forbindelse med arbeid med RDF-data. Slik jeg forstår det er dette stykket opp i to trinn, RDF Schema som gir et minimum av mekanismer, og OWL. OWL går lenger i uttrykkskraft enn hva man normalt har med modelleringsspråk for relasjonsdatabaser. Noe av det som kan uttrykkes med OWL kan antagelig sammenlignes med "business rules", som ofte må presiseres utenfor en ER-modell eller UML-klassediagram. Disse preiseringene gir også ofte grunnlag for å trekke slutninger ("infer") som i praksis utvider datagrunnlaget. Selv om ikke det sies eksplisitt at Tor er en Person kan det fremgå dersom vi har triplet "Tor eier Passop", og vi har presisert gjennom RDF-S at "eier" er egenskap forbeholdt klassen "Person", som følger:

eier a rdf:Property
eier rdfs:domain Person

Med relasjonsdatabaser er det selvsagt ikke nok å få dataene trygt inn i tabellene, det må også være mulig å hente dataene ut. Det standardiserte spørrespråket SQL er kanskje en av de viktigste grunnene til den store utbredelsen av relasjonsdatabaser. Kan man SQL og kjenner datamodellen til en database, skal man i prinsippet kunne hente ut og analysere dataene helt etter eget ønske. Tilsvarende trengs det et spørrespråk for RDF-data, SPARQL.

Og har man fått ut en bunke data vil man kanskje gjøre noe mer med dem. Til dette kan man for eksempel benytte regelmotorer. I den forbindelse forsøker W3C å standardisere et "minste felles multiplum"-regelformat som gjør det mulig å utveksle reglene som finnes i interne systemer.

Signering og kryptering er naturlige elementer når alt dreier seg om samhandling på tvers av Internett; da er det viktig å sikre at man vet hvem man samhandler med, hvem som er kilden, om dataene er endret, og om de er sikret mot andres innsyn. Tilsammen bidrar dette til å muliggjøre den samme tilliten til data som kommer fra Internett, som de vi har kontroll på i serveren på maskinrommet. Ihvertfall nesten ...

Denne lange oppramsingen har vel først og fremst hatt som formål å vise at standardene fra W3Cs Semantic Web-aktivitet skal gjøre det mulig å "åpne dataene" og arbeidet med dem, på samme måte som World Wide Web åpnet dokumentene og lot dem fremstå som "en sammenhengende bok". W3C har vært inne på tanken å døpe om aktiviteten til "web of data", og det hadde kanskje gjort ting litt klarere ...

Med forbehold om at jeg har misforstått, tror jeg Emnekart stiller med en lignende "stack", men med litt forskjellig inndeling. ISO 13250 inneholder elementer som tilsvarer det som finnes i RDF, RDF-S og OWL. I tillegg har Emnekart den fordelen at den minste enheten i seg selv kan identifiseres og refereres til (hvis man vil si noe om en RDF-trippel må man lage nye tripler som gjentar det triplet man vil si noe om). Videre har Emnekart (under arbeid?) et spørrespråk (TMQL) og et "constraint"-språk (TMCL). TMQL gir vel en parallell til SPARQL, men (selvsagt) for Emnekart, mens TMCL supplerer ISO 13250 noe à la OWL supplerer RDF-S. Forskjellene mellom de to teknologiene skyldes vel at Emnekart allerede som del av standarden inneholder konstruksjoner egnet til å lage "stikkordsregister på steroider".

På tide å konkludere?

Den første konklusjonen er bare en anledning til å gjenta at Semantic Web ikke innfører begrepsharmonisering. Den tunge jobben må gjøres i samarbeid mellom de som trenger å få harmonisert begrepene sine. Men Semantic Web gjør det lettere -- fordi den sørger for å harmonisere alt det andre. Bare begrepene gjenstår. En viktig egenskap er muligheten til å bygge videre på, å gjenbruke, eksisterende begrepsharmonisering, gjennom å importere ontologidefinisjoner (owl:imports)

Den andre er at jeg tror jeg ville gjort som Lars foreslår, å skilt mellom "visjonen" Semantic Web og teknologiene. I mine øyne blir da de standardene som inngår i Semantic Web fra W3C og de som inngår i Emnekart to forskjellige teknologiske veier (som antagelig kan sameksistere) på veien mot visjonen. For "Semantic Technologies" tror jeg all teknologi for å oppnå semantisk interoperabilitet kan passe. Dette inkluderer selvsagt Semantic Web fra W3C og Emnekart, men også ikke-web-orienterte teknologier som UN/CEFACT (meldingsorientert?), og ISO 15926. Alle disse er gjennomgått i Interops SIM-rapport, forresten.

Rosenborg tapte visst.

Svein Ø sa...

Det var innlegget sitt det! Eg er einig i det meste av det du skriv, men ikkje start og slutt. Begrepsharmonisering er etter mi meining alfa og omega for semantisk web. Utan begrepsharmonisering veit vi ikkje kva vi snakkar om.

Eg pleier alltid å visa Gary Larson-teikninga av mannen som "set ting på plass" ved å måla namn på hunden, katten, huset osv. når eg snakkar om informasjonsstrukturar og semantikk. I emnekartforstand set han namn på emnetypar. I RDF/OWL-samanheng set han namn på klassar (?).

Å setja namn på ting er veldig viktig - og å setja namn på relasjonar mellom ting er like viktig. Men dei namna vi brukar må hentast frå eit felles begrepsapparat og ha same meining for deg som for meg, elles går det ikkje.

Steinar S. sa...

Ja, selvsagt er begrepsharmoniseringen viktig -- poenget mitt (som ikke overraskende forsvant i alle de andre ordene) er at man ikke må sette likhetstegn mellom de utviklingen av de forskjellige semantiske teknologiene, og arbeidet med begrepsharmoniseringen. Begrepsharmoniseringen er en jobb for seg, men de semantiske teknologiene tilbyr en bedre måte å uttrykke og ta vare på harmoniserte begreper, enn det malebøtte og -kost gir.
Et faktum som kanskje kan brukes som "spikeren i kista" for misforståelsen om at den viktigste suksessfaktoren for Semantic Web er fremveksten av en "altomfattende ontologi", er at det mest populære, harmoniserte begrepsapparatet ikke er ett, men to; FOAF for personer, kontaktinformasjon og relasjoner, og Dublin Core for informasjon om pulikasjoner. Og ingen av disse lages av de W3C.

Svein Ø sa...

Me er nok einige, det visste eg vel forsåvidt ;-) Elles interessant at du nemner Dublin Core - den kan jo også sjåast på som eit uttrykk for at den semantiske web'e ikkje har teke av, og nærmast vore ein flopp.

Dublin Core har eksistert i meir enn 10 år, men har likevel ikkje fått særleg fotfeste. Det spørst om dei 15 grunnelementa blir for generelle og slik sett for lite nyttige. Men utvidinga med 40 nye element/detaljeringar er heller inga løysing etter mi meining.