Studerende, Internet

Semantisk Web 3.0

Vi kender Web 2.0. Det handler om online samarbejde og det sociale web. Hvad er det næste skridt? Denne artikel fortæller om teknologier, der er under udvikling, en platform der kaldes Web 3.0.

Web 3.0, også kendt som det semantiske web, handler om at gøre computere til aktive medspillere online i stedet for at være passive hjælpere. Som det er nu, stiller computere en række værktøjer til rådighed for mennesker. Vi kan skrive dokumenter, e-mails, surfe online og mange andre ting. Det semantiske web vil gøre computer-til-computer-interaktion til en naturlig del af webbet. Computere skal handle på vegne af mennesker.
Så hvad er semantik? Semantik er en ide eller et koncept, eller kort sagt betydning. Du kan svare ”okay” eller ”det er i orden” til et spørgsmål, eller du kan godkende med en tommelfinger opad. Semantikken er den samme, nemlig at du accepterer, hvadend der blev spurgt om. Det interessante er, at der er flere måder at sige det samme på. Mennesker lærer fra barnsben, hvad forskellige ord og vendinger betyder. Når vi bliver større, og det bliver svært, slår vi op i en ordbog. Den beskriver typisk et ord eller en vending med nogle andre ord og vendinger. Hvis man ikke forstår disse, kan man slå dem op og fortsætte, indtil man forstår det hele. Det semantiske web fungerer efter samme princip. Der er ordbøgerne blot bygget til computere.
Det semantiske web er en udvidelse af World Wide Web, ikke en erstatning. Det semantiske web vil først og fremmest være en platform for data. Man kan føre en analogi til Java Virtual Machine eller .NET, der gør, at du kan køre dit program på flere platforme, fordi det er oversat til bytecode. Det semantiske web, eller dataweb, som nogle kalder det, vil opnå det samme. Det er en platformsuafhængig ”bytecode” til at gemme data i. Du kan gemme dine relationelle databaser, indholdet af dine XML-filer, simple konfigurationsfiler bestående af nøgle-værdi-par og din objekt-orienterede model. Resultatet er, at du kan sammensætte, remixe og lave mash-ups af data fra forskellige kilder. Datamodellen i det semantiske web hedder Resource Description Framework (eller blot RDF). Det er en generalisering af den måde, forskellig data repræsenteres på. Data i RDF kan gemmes i forskellige konkrete filformater. Dine data kan gemmes i XML, indlejres i HTML eller det kan skrives som menneskevenlige tekstfiler, når du vil redigere RDF-data direkte.

Tilbage i folkeskolen

RDF er en måde, hvorpå du kan opbygge sætninger. I starten af folkeskolen lærte vi at skrive simple sætninger som ”Hunden hedder Freja” eller ”Lars elsker kager”. De to sætninger er opbygget efter samme simple skema: subjekt, prædikat og objekt. Subjektet er konteksten, det er, hvad sætningen handler om. Prædikatet er en egenskab, vi tillægger subjektet. Objektet beskriver værdien af den egenskab. RDF er opbygget på samme måde. De to nævnte sætninger kan skrives i RDF:


Da der ikke findes flertal i RDF, skriver vi ”Lars elsker kager” som to sætninger. Vi bruger variablen ”_:cookie” til at definere sammenhængen mellem de to sætninger. Det, vi har skrevet, er ”Lars elsker X, og X er en kage”. RDF giver en simpel struktur med mulighed for at opbygge komplekse sætninger. Eksemplet på grafen (se billede) er udtrykt i følgende RDF-tekst:

 

Linked Data

Alle ting i RDF er URI’er, undtagen simple datatyper som strenge og tal. URI’er er det, du indtaster i din webbrowser, når du vil besøge en bestemt hjemmeside. En URI er et navn på en ressource, for eksempel er http://prosa.dk/ navnet på PROSAs hjemmeside. Nogle gange kan URI’er være lange og besværlige at indtaste. Af den grund skriver man dem i RDF i en forkortet udgave kaldet CURIE’er. En CURIE består af et præfiks (som repræsenterer en grundlæggende URI, en base-URI) og et navn, som lægges efter basen. Et eksempel er “rdf:type”, hvor “rdf” repræsenterer en lang URI og “type” lægges efter denne URI. I eksemplerne ovenfor er der brugt et tomt præfiks. Derfor starter konstanterne med kolon. Erklæringen af det tomme præfiks er faktisk udeladt i eksemplerne, men det kunne være <http://example.org/prosit/>, hvilket gør, at “:Person” ekspanderer til <http://example.org/prosit/Person>. Læg mærke til, at URI’er skrives i klammer: <...>.
Hver eneste ting, du beskriver i RDF, skal have et navn. Man bruger URI’er til denne navngivning. Man har brug for mange URI’er, hvis man har mange data og vil beskrive mange koncepter. Som du kan se, har vi brugt URI’erne <#dog>, <#lars>, <#mark> og <#opel>. Havelågen betyder, at det er links inden for det samme dokument, ligesom links på hjemmesider, der går ned til en bestemt overskrift på siden. På den måde kan du oprette alle de URI’er, du har lyst til, uden at du “overskriver” eller misbruger andres URI’er.
Konceptet med at bruge URI’er er meget grundlæggende og vigtigt at forstå. En af styrkerne i World Wide Web og en af grundene til, at det er blevet vidt udbredt, skyldes, at du kan:

• oprette et navn (en URI) og publicere et dokument på denne URI, meget billigt
• linke til andre, og selv blive linket til (gør at dit dokument bliver opdaget)

En URI er en slags namespace-mekanisme svarende til moduler eller pakker i mange programmeringssprog. Hvis du køber et domæne eller blot har noget plads på en server på dit studiested med en URI, så har du mulighed for at oprette alle de under-URI’er, du har brug for. Der er selvfølgelig en øvre grænse for, hvor lange URI’er webservere og -klienter kan håndtere, men i teorien er der ikke nogen begrænsning på, hvor mange URI’er du kan oprette.
Princippet med, at data kan linke til andre data, der igen linker videre, kaldes for Linked Data. Alle ting i RDF er URI’er, og alle disse ting kan slås op, hvis det ellers er gyldige URI’er. I Linked Data bruger man URI’er, der kan slås op og føre til ny viden. Jeg kan bede et RDF-program om at læse eksemplerne i denne artikel. Den ved måske ikke, hvad “:Person” og “:Car” betyder, men den kan slå dem op, ligesom i en ordbog, og læse mere om disse koncepter. Der er meget RDF-data, der ikke er Linked Data, men af det, der findes, er der allerede 4,5 milliarder RDF-sætninger online (marts 2009). Blandt disse data finder man automatisk udtrukket information fra boksene i Wikipedias artikler, information om proteiner og dna, metadata for musikalbum, Creative Commons-licenser og gamle bøger frie af copyright.

15 år endnu

Flere af teknologierne til det semantiske web er på plads, men der er mange, der mangler. For at følge udviklingen har man lavet et lagkagediagram (se billede), der giver et overblik over teknologierne. Selvom der er en masse røde bokse, betyder det ikke, at de grønne og gule bokse ikke er noget værd. Det er flere, der benytter disse teknologier. Der er virksomheder i biotech-sektoren, der har set en idé i at kunne kombinere forskningsdata på kryds og tværs. Forskning i mikrobiologi og medicin kræver, at mange forskningsinstitutioner samarbejder, før man finder et link, og ny medicin kan udvikles. Ved at bruge RDF, OWL og SPARQL har de en dynamisk database. Man kan indlæse nye data uden at skulle definere tabeller og sammenhænge. Sammenhængene (links’ne) er der allerede. RDF har vist sig at være en fordel, når man fusionerer virksomheder med store mængder data. Man undgår at skulle finde sammenhængen i al data, rydde op og lave nye databaser. Det er billigere og hurtigere at oversætte det hele til RDF, kombinere dataene, hvorefter man kan bruge SPARQL til at lave dataudtræk og eventuelt lave udtræk over i en gammeldags relationel database.
Det er ikke alle, der er enige i fremgangsmåden med at udvikle det semantiske web. World Wide Web Consortium, som udvikler teknologierne, arbejder efter en bottom-up-model, hvor de laver teknologier, der understøtter nye teknologier, osv. indtil de når visionen med det semantiske web, hvor computere aktivt kan hjælpe mennesker. En anden organisation, Microformats, går efter en top-down-model, hvor de starter øverst i lagkagediagrammet med applikationer og brugergrænseflade. De kigger efter konkrete problemer, som man kan løse ved at tilføje mere semantisk information til webbet og få computere til at bruge den information. Med Microformats kan man tagge/markere indholdet af sin hjemmeside, så computere forstår dele af det. Ulempen ved Microformats er, at det bygger på en centraliseret organisation. Hvis du har en idé til noget ny information, du gerne vil tagge/markere på din hjemmeside, skal du væbne dig med et-to års tålmodighed. Det er den tid, det typisk tager at udvikle nye tags i Microformats community. Det sikrer, at det er en holdbar idé, og at det konkrete format til den semantiske information ikke har mangler. Omvendt kan du i RDF umiddelbart publicere dine tags og dine koncepter. Du kan publicere dem i et specifikt sprog, der kaldes OWL, der bygger på RDF.
En anden tilgang til det semantiske web er mash-ups. Et mash-up er en hjemmeside, som kombinerer data fra andre hjemmesider. Ideen i mash-ups er rigtig god, men den er ikke generel. Problemet er, at det kræver ad-hoc-løsninger at lave et mash-up, fordi dataene kommer fra forskellige kilder i forskellige formater. Det semantiske web vil løse dette problem en gang for alle ved at standardisere dette dataweb.
Det semantiske web er ikke nogen ny opfindelse. Ideen har snart rundet sin 15-års fødselsdag. Tim Berners-Lee, opfinderen af World Wide Web, sagde på den første WWW-konference i 1994, at der var brug for semantik på webbet. 15 år senere, i dag, står vi med en del standarder, som underbygger det semantiske web, men der er et stykke vej endnu. Det kan meget vel tage 15 år endnu, før de store visioner er realiseret. Pointen er, at det ikke er en enten-eller-situation. Ved at bruge de eksisterende teknologier kan du være med til at skabe og forme det semantiske web allerede i dag.


Her er en oversigt over teknologier i det semantiske web. De nederste bokse giver fundamentet for overliggende teknologier. De grønne bokse er standardiserede og udbredte teknologier. De gule bokse repræsenterer nye eller ikke særligt udbredte teknologier. De røde bokse er teknologier, der mangler for at realisere det semantiske web. Arbejdet med at standardisere teknologien til at lave regler (RIF) for data i det semantiske web er i gang (inspireret af ”Latest layercake diagram” på http://www.w3.org/2001/sw/).