Semanttinen Web ja XMLlinkitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto
Esitelmä Hyvin lyhyt versio: W3C on kansainvälinen konsortio joka asettaa Webin universaaleja teknologioita standardoivia suosituksia Semanttinen Web on sopimus "metatietojen" esitystavasta XML mahdollistaa tiedon monipuolisen linkityksen. Ratkaisut perustuvat Web-arkkitehtuurin ja XML-perheen erityispiirteisiin Pidempi versio, otsikoita: W3C ja universaalit standardit Semanttinen Web Metatiedot XML: linkitys ja osoittaminen Lähteitä Tavoite: esittää tiivis yleiskuva em. teknologioista 2
W3C ja Universaalit Standardit
World Wide Web Consortium (W3C) W3C kehittää yhteensopivia teknologioita (spesifikaatioita, ohjeita ja ohjemistoja) ja siten ohjaa Webin kehittymistä täyteen mittaansa 3 päätstoa, 14 aluetstoa, n. 400 jäsenorganisaatiota Jäseneksi? ks. http://www.w3c.tut.fi/joining.html 4
W3C:n olemus ja tuotteet Vaikutusvaltainen foorumi Suositukset XML-perhe, XHTML-perhe, SVG, RDF, Semanttinen Web, Webpalvelut... Ohjelmistot Validaattorit, testiaineistot, open source,... Ohjeet ja yhteydet WAI, aluetoimistot,... Jäsenorganisaatiot 5 Is : Information, Image, Involvement, Influence, and Impact A B 5
W3C:n (nykyiset) toimialueet ja aktiviteetit ( ) (Ks. http://www.w3.org/consortium/activities.) 6
Yhteensopivuus syntyy kokonaisuudesta Kuvalähde. W3C, http://www.w3c.org/consortium/ 7
Semanttinen Web
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 9
Semanttinen Web Tietoverkko välittää, käyttäjä TAI kone tulkitsee asiasisältö kenties ennallaan tietosisältö kuvaillaan RDF-mallin avulla valmiiksi pureskellussa muodossa metatietoajattelu...koneellinen käsittely 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 10
SW:n rakenne ja perusidea Semanttisen Webin perusidea on yksinkertainen kuka tahansa voi sanoa mitä tahansa mistä tahansa perusteet yksinkertaisia, haasteet syntyvät sovellusten suunnittelusta ja esim. metatietosanastojen valinnasta OWL RDF XML tekninen infrastruktuuri URI Semanttinen Web ei korvaa Webiä, vaan laajentaa sitä SW on olennaisesti sopimus "metatietojen" ja niiden käyttöä ohjaavien skeemojen ja ontologioiden "kirjoitustavasta" 11
Yksinkertainen (vapaamuotoinen) esimerkki http://www.w3c.tut.fi http://www.w3c.tut.fi/staff/ossi nimi: Ossi Nykänen sähköposti: ossi@w3.org kirjoittaja: viimeksi päivitetty: 2003-12-15 luokitus: standardointi otsikko: uutisia, joulukuu uutisotsikko1: uutisotsikko2:... uutisotsikko3:...... otsikko: XForms 1.2 Mobile teksti: W3C julkaisi uuden version... Lisäksi: - mitä sanoja käytetään (std-predikaateista sopiminen) - miten sanoja käytetään (skeemat) - "mitä sanat tarkoittavat tietyissä sovelluksissa" (ontologiat) 12
SW:ssä keskeistä on tiedon yhdistäminen Hyödyntäminen: metatietoihin perustuvat haut (tai pelkän metatiedon hakeminen) eri lähteiden yhdistäminen (standardi tapa julkaista "metatietoa") tiedon koostaminen, päättely, yms. tiedon julkaisija eri lähteiden valinta tiedon tulkitsija Kuvalähde. Berners-Lee, W3C, http://www.w3.org/2003/talks/0922-rsoc-tbl/overview.html 13
RDF-lausuminen rakenne teknisesti Resource Description Framework (RDF): graafidiagrammi (perustuu resurssien URI-nimiin) RDF on sopimus "mallinnus- ja kirjoitustavasta", metatiedot kirjoitetaan XML-tiedostoiksi (RDF/XML) Haaste: sanastoista (predikaateista) sopiminen (RDF ei määrittele MITÄ sanotaan vaan MITEN sanotaan) Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 14
Huomautus: mikä on metatietoa? Metatieto on tietoa jota ei löydy tai jota ei voida helposti poimia itse resursseista tms. (myös kone voi tuottaa!) Metatieto ja tieto -erottelua ei ole pakko lainkaan tehdä dokumenttien tyyppitiedot tekstiformaatti ja ko. formaatin kontrolloitu sanasto lisätty, kuvaileva (meta)tieto metatiedon käyttöä ohjaava skeema (tms.) sovellusalueen ontologia tyyppi käsikirjoitus Mediaobjektit Huom: (meta)tietoa ei aina ole tarkoituksenmukaista ylläpitää siinä formaatissa jossa sitä julkaistaan viimeksi muokattu: 2003-11-26 Se päivämäärä jolloin tietosisältö viimeksi muuttui, tyyppi: xsd:date paperikoneen käyttöohjeen tuotantoprosessi 15
XML: linkitys ja osoittaminen
Extensible Markup Language (XML) XML on tapa rakenteisen tekstitiedon esittämiseen (XML-dokumentit) metakieli (esim. XHTML, SVG, RDF, SOAP,...) perhe teknologioita ja menetelmiä (XML 1.0, XML NS, XLink,...) Peruskäsite on XML-dokumentti, esim. <?xml version="1.0"?> <muistio pvm="2003-12-01"> <otsikko>pikkujoulut</otsikko> <asiat id="asialista"> <asia>tarjottavat...</asia> <asia>ohjelma...</asia> </asiat> </muistio> Merkkausrakenne aina sama (XML 1.0 + XML NS) Loogisen rakenteen sanasto ja kielioppi sovelluksen mukaan (muistio, XHTML, SVG,...) tallennus tekstitiedostoon 17
Hyperlinkkien perusteet ja XML-perhe Yksisuuntaisen hyperlinkin peruskäsitteet: alku (lähde) loppu (kohde) XML-teknologioissa linkitys perustuu yleisesti URI-nimiin ("kokonaisten resurssien osoittaminen") ja dokumentin loogiseen rakenteeseen ("elementtiin osoittaminen esim. attribuutin perusteella") sekä kenties hakuehtoon ("...tai muuhun rakenteeseen osoittaminen") XML-linkit voivat olla myös aidosti monensuuntaisia linkkejä voidaan myös tyypittää (esim. "huomautus") ja niihin voidaan liittää "toiminnallisuutta" (esim. korvaa lähde) linkkejä ei ole pakko kirjoittaa dokumentteihin a la HTML (!) 18
Linkitys ja osoittamiskeinot: lähde Linkin alkupään asettaminen (lähde) sovelluksen sanaston avulla (esim. XHTML, <a>-elementti) universaalin XLinkin avulla (mikä tahansa elementti voi toimia linkkinä JA linkin alkupää voidaan myös ilmoittaa viittauksella) Huom: kaikki sovellukset (esim.) selaimet eivät vielä tue XLinklinkkejä Loppukäyttäjän selaimen (tms.) ei välttämättä tarvitsekaan ymmärtää XLink-linkkejä linkitys voi tapahtua tuotantojärjestelmässä, jonka tiedoista prosessoidaan tavallisia XHTML-sivuja loppukäyttäjille 19
Linkitys ja osoittamiskeinot:kohde Linkin loppupään asettaminen (kohde) yleisin tapaus: URI-viittaus + ns. fragmentti (a la XHTML), esim. http://www.esim.org/muistio12.html#asialista XPointer-osoitin (mahdollistaa lisäksi esim. hakuehdon) Huom: kaikki Web-palvelimet eivät vielä tue XPointer-osoitteita 20
Tässäkö kaikki? Ei Linkitysmekanismi voidaan suunnitella myös sovelluksessa halutuksi oma toteutus (ohjelmointia...) Web-arkkitehtuuri asettaa rajat käytännössä (URI, fragmentit & HTTP) Käytännössä XML tukee myös "muuntyyppisiä" hyperlinkkejä sovitut assosiaatiot (esim. HTML-dokumentista CSS-tyyliin) assosiaatiot dokumentin esiintymän ja sen tyyppimäärittelyn välillä viittaukset XML-dokumentin sisällä (ID/IDREF-attribuutit) entiteettiviittaukset yleiset assosiaatiot (esim. Web-osoite metatiedossa)... 21
Huomioita Web-arkkitehtuurista ja URI-nimistä Webin yleisarkkitehtuuri Kuvalähde (URI, Resource, Representation). Ian Jacobs et al., W3C, http://www.w3.org/tr/2003/wd-webarch-20031209/ 22
Huomioitavaa linkityksestä Koodaus: XHTML: linkin alkupää koodataan (lähde)dokumenttiin, loppupää joudutaan koodaamaan vain jos viitataan dokumentin sisään XLink & XPointer: linkin alku- ja loppupää voidaan koodata joko dokumentteihin tai kokonaan erilliseen linkkikantaan Linkityksessä pulmia tyypillisesti aiheuttavat resurssien saatavuus (esim. Web-palvelin off-line) muutokset URI-nimissä (siirtäminen, tms. nimen muuttaminen) muutokset dokumenttien sis. rakenteessa (fragmenttiosoitteet)...johtopäätös: linkitys Webissä edellyttää suunnittelua linkitysmekanismi (teknologian valinta) dokumenttien rakenne JA dokumenttien sijoittelu ja nimeäminen (arkistointi, muutokset yms. aikakehitys) Huomaa resurssin ja representaation välinen ero 23
Lopuksi
Lisää SW/XML/linkitys-teknologioista Semanttinen Web ("metatietokehys Webille") http://www.w3.org/2001/sw/ XML ("rakenteinen tieto") http://www.w3.org/xml/ XHTML ("esimerkki linkityksestä ja tyypityksestä") http://www.w3.org/markup/ XLink ("linkkien liittäminen mv. XML-sovelluksiin") ja XPointer ("monipuoliset linkin loppupäät") http://www.w3.org/xml/linking Web-arkkitehtuuri ("Web-infrastruktuurin puitteet") http://www.w3.org/tr/2003/wd-webarch-20031209/ 25
Kiitos! Jäikö joku W3C-asia mietityttämään? Allekirjoittaneen tavoittaa helposti: http://www.w3c.tut.fi Ossi@w3.org The bane of my existence is doing things that I know the computer could do for me." -- Dan Connolly, The XML Revolution 26
Liite 1: lisätietoja ja osoitteita eteenpäin W3C http://www.w3.org/ (kotisivu) http://www.w3c.tut.fi/ (W3C Suomen toimiston kotisivu) W3C-aktiviteetit http://www.w3.org/consortium/activities (yleiskuva) W3C:n suositukset ja raportit sekä teknistä tietoa http://www.w3c.org/tr/ (specs) http://www.w3.org/qa/thematrix (spec-tietoa jäsennettynä) Jäseneksi! http://www.w3c.tut.fi/joining.html http://www.w3.org/consortium/prospectus/joining 27