Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto
Esipuhe Semanttinen Web (SW) on laaja W3C:n visio ja hanke (Webin) yhteensopivan tekniikan kehittämisestä siten..että myös tietokoneet pystyisivät tulkitsemaan (Webin) sisältöjä Teknisesti SW kulminoituu RDF:ään (Resource Description Framework) RDF on väline, jonka avulla informaatiota, erilaisia väitteitä tai lausumia (assertion) voidaan mallintaa täsmällisesti pohjimmiltaan kyse on sopimuksesta metatiedon esittämiseksi Semanttinen Web mahdollistaa asioita potentiaalisia sovelluksia on miltei rajattomasti, MUTTA: SW tarjoaa pelkät puitteet (mutta millaiset!) Tämä yleisesitys on kirjoitettu Semanttista Webiä lyhyesti esittelevän tutkijakoulun tarpeisiin (lue: oikoo mutkia & sisältää muutakin kuin tietoa W3C-suosituksista) 2
Esityksen sisältö Miksi Semanttinen Web? Perusidea Teoreettinen perusta, mallinnus ja sovellukset Attribuuttipohjainen metatieto ja ontologiat Esimerkkejä Standardoinnin nykytilanne Hype: mitä Semanttinen Web ei ole? lue myös rivien välit! Esitys ei etene tässä järjestyksessä ;-) 3
OSA I: ensi askeleet Miksi ja miten? Ideat Peruskäsitteet Semanttisen mallinnuksen idea RDF:n idea: kehys 4
Miksi Semanttinen Web? The bane of my existence is doing things that I know the computer could do for me." Dan Connolly, The XML Revolution (Kaksi esimerkkiä: Haystack & luonnolliseen kieleen perustuva kyselyhaku) 5
W3C ja Semanttinen Web = The goal of the Semantic Web initiative is as broad as that of the Web: to be a universal medium for the exchange of data. It is envisaged to smoothly interconnect personal information management, enterprise application integration, and the global sharing of commercial, uri:servicea scientific and cultural data.... The Web can reach its full potential only if it becomes a place where data can be shared and processed by automated tools as well ws:title as by people. rdf:type uri:xservice Log events map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite 6
Nykyinen Web Tietoverkko välittää, ihmiskäyttäjä tulkitsee esitystapa ja tulkinta sekoittunut suuri määrä erilaisia tietorakenteita tiedon poiminta datan seasta vaikeaa tiedon yhdistely vaikeaa Mutta toisaalta... tietoverkko valmiina URI-nimikäytäntö valmiina XML-nimiavaruudet valmiina XML-metakieli ja modulaarisuus valmiina Kuvalähde. Koivunen & Miller, W3C, http://www.w3.org/2001/12/semweb-fin/w3csw 7
Semanttinen Web Tietoverkko välittää, käyttäjä TAI kone tulkitsee asiasisältö kenties ennallaan tietosisältö kuvaillaan RDF-mallin avulla valmiiksi pureskellussa muodossa...koneellinen käsittely metatietoajattelu ei tekoälyuskovaisuutta(!) vaan konkreettinen väline käsittelykelpoisen tiedon esittämiseen agentit Kuvalähde. Koivunen & Miller, W3C, http://www.w3.org/2001/12/semweb-fin/w3csw 8
Motto: olennaisin osa SW:iä on RDF:ää Semanttisen Webin perusidea on yksinkertainen kuka tahansa voi sanoa mitä tahansa mistä tahansa tapa jolla em. lausumia koodataan on miltei yleisin ja yksinkertaisin mitä kuvitella saattaa Huomioita: OWL RDF XML tekninen infrastruktuuri yksinkertainen ei aina tarkoita samaa kuin helposti ymmärrettävä pyrkimys syntaksin yksinkertaiseen ytimeen johtaa helposti monimutkaisen näköiseen formalismiin...joka ihannetapauksessa piilotetaan ohjelmistojen taakse...mutta aina näin ei käy (vrt. URI-nimien historia) 9
XML vs. RDF = tietorakenne vs. tieto <html> <head> <body>... persons:ossi movies:cast-away hobbies:favourite-movie map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite sarjallistus (kirjoittaminen tiedostoon tms.) 10
Mistä pohjimmiltaan on kyse? SW on perusteiltaan looginen konstruktio haku - päättely - tulkinta taustalla on ajatus päättelyn ohjelmoitavuudesta SW on KUVAILUA SW-sovellusten hyödyt näkyvät vasta kun julkaistua tietoa on paljon perushyöty: standardimuotoinen tiedon esitystapa yhdistely, louhiminen, ennakoimattomat sovellukset tärkeää: kontrolloitujen sanastojen uudelleenkäyttö!!!!!!!!!!!!! 11
Hyvä huomata heti alussa RDF-syntaksi näyttää aluksi hankalalta...mutta idea on intuitiivinen...ja mallinnuksen idea on hyvin yksinkertainen Käsitteellisesti harmaita hiuksia syntyy vasta kun... halutaan tarkka tulkinta (malliteoria, ratkeavuuskysymykset) ontologiat otetaan käyttöön (malli rikastuu paljon!) Sovellustason haasteita syntyy jo aiemmin: nopeus, luottamus, saatavuus, tulkinta, muutos, läpinäkyvyys? 12
Mallinnus & maailma sanojen takana SW:n avulla on mahdollista kuvata mitä tahansa kuvattavissa olevaa Hyvä pitää mielessä: objekti objektin nimi Tämä ei ole Tarja Halonen 13
Semanttisen Webin perusta: RDF-lausumat Lausumat (~statement, assertion) ovat muotoa: (s,p,o) tai p(s)=o (osittaisrelaation mielessä) Esimerkki lausuman tulkinta ja koodaus N3-muodossa: Resurssilla SW-kurssi on ominaisuus otsikko, jonka arvo on SWperusteet my:swcourse dc:title SW-perusteet. 14
Lausumien täsmentäminen... Resurssilla SW-kurssi on ominaisuus otsikko, jonka arvo on SWperusteet my:swcourse dc:title SW-perusteet. <http://www.tut.fi/~onykane/2003/11/swcourse> <http://purl.org/dc/elements/1.1/title> SW-perusteet ^^ http://www.w3.org/2001/xmlschema#string. http://www.tut.fi/~onykane/2003/11/swcourse http://purl.org/dc/elements/1.1/title SW-perusteet ^^http://www.w3.org/2001/xmlschema#string 15
Mallinnus (kertaa AI-historia ja kehysten ideat...) RDF-mallinnuksen perusideoita yksilöidään resurssit (oliot) yleisen käytännön mukaan (URI) käytetään standardisanastoja (esim. DC) muistetaan etteivät tietokoneet mistään mitään ymmärrä (vielä) Äly syntyy semanttisesta verkosta yksilöt std-käsitteet näiden suhteet 16
Esimerkki: RDF ja Tarja Mallinnus = objektien identifiointia ja näiden piirteiden koodausta yhteisesti sovituilla käsitteillä (vrt. puheakti ) Aiottu tulkinta: Mallinnus (koodaus): Asia tietokoneen silmin : Klik. liittyy jotenkin jobs-sanaston tulkintaan. Klik. ammatti Suomen presidentti <http://persons.fi/presidents/2000> jobs:affiliation Suomen presidentti. (#(uri), #(jobs:affiliation), 011100...100101 ) ÄLY syntyy merkitysten verkosta 17
RDF ja XML = RDF/XML RDF:n normatiivinen sarjallistusmuoto on XML, esim. ex:index.html exterms:creation-date "August 16, 1999"....muotoinen N3-lause voidaan (lyhenteet avattuna) esittää RDF/XML-formaatissa seuraavasti: <?xml version="1.0"?> <rdf:rdf xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms="http://www.example.org/terms/"> <rdf:description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>august 16, 1999</exterms:creation-date> </rdf:description> </rdf:rdf> XML-syntaksia tärkeämpää on ymmärtää mallin idea 18
RDF & tiedon abstraktit mallinnuksen välineet RDF:m sydän on abstrakti malli, diagrammikieli (graafit) Tälle on olemassa useita std-sarjallistuksia esim. RDF/XML ja N3 -- N3 sopii kynälle ja paperille Lausumat, perusrakenne (P(a)=b) persons:tarja jobs:affiliation Suomen presidentti. persons:tarja cv:has-husband persons:pentti. Perusluokkakäsitteet (X is-a Y, Y R) cv:man rdf:type rdfs:class. cv:father rdfs:subclassof cv:man. persons:pentti rdf:type cv:father. Predikaatit (ominaisuudet) (P:Z Q) cv:has-husband rdf:type rdf:property. cv:has-husband rdfs:domain cv:woman. cv:has-husband rdfs:range cv:man. cv:man cv:father persons:pentti...päättely 19
Samat rakenteet kuin edellä, nyt diagrammeina RDF-graafidiagrammi (URI-viittaukset, tyhjät solmut ja literaalit, yleisrakenne) Huomaa: tyhjän solmun käyttö rakenteessa (N3: _:x) Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 20
Muuta hyödyllistä: säiliöt Kolme säiliötä (container): rdf:bag, rdf:seq, rdf:alt Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 21
Muuta hyödyllistä: listat Listarakenne: rdf:collection toisin kuin säiliöt, listan voi sulkea (!) Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 22
Yhteenvetoa; RDF kokonaisuutena tähän asti Peruskäsitteisiin (URI, nimiavaruus, diagrammikieli) nojautuvien lausumien kirjoittaminen on RDF:n perusta (s,p,o) Perus-RDF-kehys tarjoaa myös: tyyppimäärittelyt predikaattien määrittelyt ns. reifikaatio (lausumat voivat käsitellä myös lausumia) Sovelluksia ajatellen tämä on pelkkä KEHYS! Soveltaja tarvitsee erityisesti myös: kontrolloituja metatietosanastoja (esim. yleisesti käytettyjä predikaatteja) rikkaampia, yhtenäisiä luokka yms. -määrityksiä (ontologiat)...skeemojen ja ontologioiden välisiä kuvauksia päättelyn välineitä yms. 23
Esimerkki metatietosanastosta: Dublin Core Sovittu standardi esim. verkkosivujen kuvailemisessa käytettävistä predikaateista (attribuutit) Sisältää sanat (ja std-tulkinnan näille!): 24
Esimerkki metatietosanastosta: RSS RDF Site Summary (RSS 1.0) määrittelee kehyksen jonka avulla voidaan julkaista ja yhdistellä esim. tiedotteita ja uutisia RSS 1.0 määrittelee perussanaston kehikko: channel, item, title, description muu assosioitava metatieto, esim. dc-attribuutit, rdf-kehyksen mukaisesti Esimerkki: W3C-uutiset RSS-feed c RSS-feed b eri uutislähteitä yhdistelevä sovellus W3C news: RSS-feed a 25
Idea Esimerkki, jatkoa: RSS 1.0 pähkinänkuoressa ajankohtaisten tiedonpalasten (sis. linkkejä) julkaiseminen listana verkossa; muut liittävät feedin osaksi omia tietojaan std-esimerkki: uutisten yhdistely ( syndikointi ) Formaatti : RDF (muitakin RSS-versioita löytyy) Peruskäsitteet: kanavat, kanavien alkiot, RSS-moduulit RSS-moduulit (helposti laajennettavissa RDF:n kautta) kontrolloituja sanastoja (joiden tulkinta on yhteinen) kolme standardimoduulia: Dublin Core, Syndication, Content Tuottaminen ja hyödyntäminen tuottamisen stdtavat: louhinta (extraction)/generointi (generation) std-ohjelmointi ( tuottaminen ), RSS-prosessorit ( lukeminen ) 26
SW:ssä keskeistä on tiedon yhdistäminen! Ominaisuuksia: lausumat ovat universaaleja (syntaksi JA sanasto) lausumia voidaan yhdistellä (nimiavaruudet!) tulkintaan vaikuttaa USEITA tekijöitä (myös valinta ja luottamus) tiedon julkaisija eri lähteiden valinta tiedon tulkitsija Kuvalähde. Berners-Lee, W3C, http://www.w3.org/2003/talks/0922-rsoc-tbl/overview.html 27
RDF-datan hyödyntämisprosessi, pieni esimerkki Julkaisija (materiaalintuottaja Matti): Tiedon tuottaminen (sovellus X, Ekosysteemit, kurssimat.) Kuvailusanaston k(x) valinta ja julkaistavan tiedon mallintaminen Tiedon julkaiseminen (RDF-data verkkoon tiedostoon data.rdf) Hyödyntäjä (opettajat Otto, Ossi, Onerva, Olli,...): Sopivan tyyppisen tiedon tarve ( tarvitaan biologian oheismat. ) Julkaistun RDF-datan löytäminen ( ahaa -- data.rdf voisi sopia ) Sanaston k(x) tulkitseminen ( Ok. Dublin Coreahan tämä on ) Kuvailutiedon hyödyntäminen osana omaa sovellusta (???) Sovelluksessa ratkaistavia kysymyksiä: miten data.rdf löydetään, onko se ajan tasalla, saati luotettava? tulkitaanko tietoja oikein? entä muu saatavilla oleva RDF-data? miten se-jota-kuvaillaan (tässä kurssimat.) saadaan hyötykäyttöön? (XML?) 28
OSA II: ei pelkkää teoriaa RDF-mallinnuksen erityispiirteitä Logiikka ja RDF-malliteoria Kyselyt Ontologiat 29
SW:n suunnitteluperiaatteita (kokonaisuutena) Kaikki mihin halutaan viitata, viitataan URI-nimellä Sanastoja voidaan yhdistää ja muokata yhteisiä nimiä ja predikaatteja käytetään mahdollisimman paljon Dokumentit kuvailevat itse itsensä (self-describing) XML, OWL, yms. Kuka tahansa voi sanoa mitä tahansa mistä tahansa myös osittainen tai virheellinen informaatio on hyväksyttävä samoin päällekkäinen tieto (erit. useita tyyppejä!) Ei absoluuttista totuutta Ei tiedon ja metatiedon käsitteellistä erottelua RDF-kehyksen suunnittelu on minimalistista SW ei rakenna sovelluksia valmiiksi, vaan mahdollistaa ne! 30
Päättelyn ja tulkinnan formalisointi: logiikkaa Yleisesti ottaen logiikalla voidaan katsoa olevan kaksi (toisiaan täydentävää) tehtävää kuvailemisen tehtävä (descriptive task) päättelytehtävä (deductive task) Standardilogiikan rakenne pyrkii tukemaan molempia: syntaksi (loogiset vakiot:,,,..., ei-loogiset vakiot (tai sanasto): p,q,...,p,q,... lauseenmuodostussäännöt p q,...) semantiikka (tulkintafunktiot, malli, totuuden käsite) todistaminen (pätevä päättely, täydellisyystulokset) metakieli (metaskeemat, tulkinta, metalogiikka) Semanttisen Webin RDF-logiikka mukailee standardilogiikkaa, mutta ei suoraan vastaa tätä RDF useimmille SW on pitkälti kuvailevaa, ns. assertionaalista logiikkaa Rajoitetuista std-ontologioista löytyy kuitenkin esim. DL 31
RDF-logiikan erityispiirteitä, poimintoja Kaikki lausumat ovat samanarvoisia (valinta ja rajaus!) Implisiittinen ja lausumien välillä (konteksti!) Logiikan haasteita: kehys ei määrittele negaation käsitettä tyhjät solmut toimivat x k -kvantifioinnin tavoin samalla resurssilla voi olla monta nimeä (std-logiikan piirre) Logiikan kannalta epästandardeja rakenteita samalla resurssilla kenties monta päällekkäistä arvoa (tyypit!) säiliöt, listat, jne., reifikaatio URI-nimi voi toimia eri rooleissa erityisesti: predikaatti voi olla myös subjekti yms. (ts. RDF-sulkeuma ei ole 1. kl. formaali kieli) maailma on varsin avoin (=hyväksy paradoksit, yms.) Esim. ontologiat tarjoavat kuitenkin keinon rajata ja rakenteistaa maailmaa (erit. predikaattien relaatiot, päättely) 32
RDF-malliteoria RDF-malliteoria eli tulkintateoria on (pitkälti käsitteellinen) rakennelma jonka avulla voidaan... asettaa tietyn RDF-graafin tulkinta täsmällisesti ja osoittaa miten tietty RDF-gaafi seuraa toisesta (pätevän päättelyn säännöt) Teknisesti malliteoreettinen: sis. kuvaukset RDFgraafin sanoista V (mallin) valitulle resurssien universumille IR (+ literaalit) sekä relaatioille sis. säännöt jolla RDF-graafin osista voidaan rekursiivisesti johtaa mallin rakenneosia (lopulta T/F) Kuvalähde. Hayes et al., W3C, http://www.w3.org/tr/rdf-mt/ V 33
Tätäkö se on? Semanttisen Webin eri loogisille rakenteille voidaan kehittää varsin rikasta loogista teoriaa esim. vaativuus-, ja ratkeavuuskysymykset Soveltajien näkökulmasta todistamista tärkeämpiä ovat yleensä käytännölliset päättelysovellukset metadatan raaka välittäminen (ilman mitään päättelyä) semanttiset säännöt (jos <ehto-toteutuu> niin <toimi>) semanttisen tiedon yhdistely ja piilevän tiedon esiin kaivaminen (esim. kahden ensimmäisen yo. tehtävän tueksi) 34
RDF-kyselyt Julkaistun RDF-datan hyödyntäminen on pitkälti... etsimistä, hakuja, jäsentämistä ja sääntöjen muodostamista Teknisesti iso osa yleispätevästä RDF-datan käsittelystä voidaan jäsentää erilaisina (semanttisina) kyselyinä Lähestymistavan etuja: yleispätevä ratkaisu toteutettavissa alustariippumattomasti teknisesti optimoitavissa soveltajalle jää vain vähän ohjelmointia SW ei (toistaiseksi) sisällä standardikyselykieltä Kyselyjä voidaan kuitenkin tehdä esim. RDQL-kielellä 35
RDF Query Language, RDQL RDQL on Semanttisen Webin SQL RDF-lähde SELECT?resource,?familyName WHERE (?resource, <info:age>,?age), (?resource, <vcard:n>,?y), (?y, <vcard:family>,?familyname) AND?age >= 24 USING info FOR <http://somewhere/peopleinfo#>, vcard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>";?resource?familyname http://www.u1... Romppainen http://www.u2... Ala-Harja http://www.u3... Kaarto...... sovellus 36
Ontologiat Tähän mennessä esitettynä RDF:ää voisi löyhästi luonnehtia attribuuttipohjaisen metatiedon esittämisen välineeksi Askel eteenpäin (abstraktiotasossa ylöspäin) on siirtyä ontologioiden tasolle Ontologia on tietyn sovellusalueen jaettu, formaali ja eksplisiittinen spesifikaatio (täsmällinen kuvaus) poimii keskeiset käsitteet ja asettaa näiden väliset suhteet Tehtäviä ontologioille: kommunikointi (myös semiformaali), (mekaaninen) päättely, tiedon organisointi ja uudelleenkäyttö 37
Esimerkki: seminaarihuoneen varauskalenteri Vaatimusmäärittely...kokousten ja opetuksen varaaminen (ja optimointi)... Luonnehdintoja Henkilökunta voi varata seminaarin kalenterista ajan kokoukselle tai luennolle Kalenteri koostuu viikoista, päivistä ja tunneista Henkilökunnalla on henkilökohtainen kalenteri johon he merkitsevät luentoaikansa Henkilökunnalla on työtehtävälista johon he merkitsevät mahdolliset kokousaikansa... Reunaehtoja LÖYTYYKÖ SOPIVAA ONTOLOGIAA JO VALMIINA?! Luennot ovat tärkeämpiä kuin kokoukset (paitsi johtajan) Formalisointi (...) testaus (...) [korjaus] käyttöönotto (...) 38
OWL OWL (Web Ontology Language) on yleiskäyttöinen stdkieli tietyntyyppisten ontologioiden kuvaamiseen Lähtökohta: deskriptiivinen logiikka OWLin tehtäviä: yksittäisresurssien tyyppien ja attribuuttien kuvaaminen luokkarakenteiden kuvaaminen resurssien välisten relaatioiden kuvaaminen relaatiohierarkian ja erilaisten rajoitteiden kuvaaminen ontologioiden välisten vastaavuuksien kuvaaminen ja dokumentointi OWL-kieliperhe suhteessa RDF:ään OWL Lite OWL DL OWL Full RDF OWL on aina sovelluksen osa ( muu tietojenkäsittely) 39
Luonnehdinta, OWL-piirteet (vrt. DL & ABox/TBox) Lähde. McGuinness et al., W3C, http://www.w3c.org/tr/owl-features/ 40
OSA III: lopuksi Hype Standardointi 41
Hypen alasampujaiset Jonkun pitää suunnitella ja toteuttaa esim. usein visioidut agenttipalvelut (sekä uskaltaa ja osata käyttää niitä) huomaa potentiaalin ja konkretian välinen ero ( ) SW ei (sinänsä) ratkaise esim. laskettavuuden teorian ja tekoälytieteiden tunnettuja ongelmia SW kuitenkin tukee ratkaisujen löytymistä / uudelleenmuotoilua RDF-data ei automaattisesti ole tietoa Kyky hallita skeematason muutoksia? ontologiat auttavat osittain, mutta ei ilmeistä yleistä ratkaisua SW on kuitenkin merkittävä teknologia yhteinen rikas kehys tiedon esittämiseen eri tietolähteiden yhdistäminen! hyöyllisiä ja konkreettisia sovelluksia on helppo toteuttaa realismi oletusten suhteen (maailma rönsyilee ja sillä siisti) 42
SW osana W3C-standardointityötä W3C tekee kehitystyötä ja standardoi tuloksia ei hypeä SW:n perustana on pinomainen, modulaarisia XMLsuosituksia yms. hyödyntävä protokollarakenne joka osin on vielä määritysteknisesti kesken Vrt. Webin yleisarkkitehtuuri 43
SW-spesifikaatiot osana (Semanttista) Webiä +OWL semantics 44
W3C-suositusten nykytilanne Ks. oheislukemisto ja lähteet 45
Siinäpä se. Kiitos mielenkiinnosta! Semanttinen Web ei ole vielä valmis mutta jos ja kun se joskus on, kukaan ei enää kiinnitä asiaan erityistä huomioita Muistettavaa kokonaisuuden tyhjentävä SW-esittely ei tietenkään onnistu kahdessa tunnissa! (ei edes otsikoiden tasolla) W3C määrittelee mitä Semanttinen Web on käytännössä SW on kuitenkin eri ihmisille hieman eri asioita Allekirjoittaneen tavoittaa osoitteesta http://www.w3c.tut.fi Ossi@w3.org 46