W3C, Web-teknologiat ja Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto
Esitelmä Hyvin lyhyt versio: W3C kehittää Web-standardeja. Tässä keskeinen työväline on eli Extensible Markup Language W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita. Semanttinen Web luo puitteet aidosti datalähtöisille sovelluksille. Perusidea on kuvata tietoa tietojenkäsittelyn ja tietokoneiden näkökulmasta globaalisti. Pidempi versio, otsikoita: W3C ja universaalit Web-standardit Kohti datalähtöisiä sovelluksia Semanttinen Web Lopuksi Esityksen tavoite: luonnehtia asiaa "kokonaisuutena", poimia mielenkiintoisia esimerkkejä 2
World Wide Web Consortium ( ) ja universaalit Web-standardit
World Wide Web Consortium (W3C) W3C kehittää yhteensopivia teknologioita ja siten ohjaa Webin kehittymistä täyteen mittaansa...asettamalla teknisiä suosituksia (esim. HTML,, WAI) 3 päätstoa, 14 aluetstoa, n. 350 jäsenorganisaatiota Jäseneksi? http://www.w3c.tut.fi/joining.html 4
yhteensopivien tietorakenteiden perusta -tekstiformaatit, -prosessorit ja työkalut, viestit, -rajapinnat... SVG XHTML DC EDI SOAP RDF Huomautuksia: kulissien takana, järjestelmien kehitystyön tavoitteet tarvitaan myös -perustekniikan varassa toimivia sovelluskohtaisia sopimuksia (...sovellusten standardointi) 5
W3C: verkkosivuista (Web-)teknologiaksi 6
Modulaarisen -perheen yleiskuva XHTML SVG SMIL MathML Voice XForms... EMMA XSL-FO CSS P3P WAI... XSLT XPath XQuery... RDFS, OWL RDF CC/PP WSDL SOAP... DOM Encryption XKMS Canonical Signature XLink Base Fragments Inclusions Events XPointer... 1.0/1.1 Namespaces 1/1.1 Schema HTTP Unicode URI 7
W3C:n toimialueet ja työryhmät, k2005 Ks. www.w3.org ja www.w3c.tut.fi (esittely, työryhmät, kaikki suositukset, uutisia, tapahtumia,...) 8
ja sovellusintegraatio adapteri XQuery adapteri XQuery adapteri XQuery adapteri XQuery, RDF/ manipulointi haut kyselyt kuvailu XQuery SPARQL volyymin kasvaessa tarve kuvata ja hallita epäsuorasti kasvaa rajapinnat ja standardiprosessorit tarjoavat tekniikan kääriä mitä tahansa tietoa :n avulla (...virtuaaliset dokumentit)..." everywhere", " middleware" 9
XQuery 1.0: An Query Language (luonnos!) " is a versatile markup language, capable of labeling the information content of diverse data sources including structured and semi-structured documents, relational databases, and object repositories. A query language that uses the structure of intelligently can express queries across all these kinds of data, whether physically stored in or viewed as via middleware. This specification describes a query language called XQuery, which is designed to be broadly applicable across many types of data sources." document { for <author-list> $d in fn:doc("depts.xml")/depts/deptno let {fn:doc("b.xml")/bib/book/author} $e := fn:doc("emps.xml")/emps/emp[deptno = $d] where </author-list> } fn:count($e) >= 10 order by fn:avg($e/salary) descending return Charter: <big-dept> { $d,...2006-06-03 <headcount>{fn:count($e)}</headcount>, <avgsal>{fn:avg($e/salary)}</avgsal> } </big-dept> 10 (TTY:llä opetetaan osana opintojaksoa Rakenteisten dokumenttien jatkokurssi)
Kohti datalähtöisiä sovelluksia
Web Services Perusidea: -pohjainen viestiliikenne esim. HTTPyhteyden avulla (kuvaus, julkaisu, haku ja yhdistely, yhteydenotto, palvelusekvenssi) Kuva: W3C, 2004 12
Datan koostamisesta: syndikointi Tyyppiesimerkkejä datalähtöisistä sovelluksista ovat useat Semanttisen Webin (SW) sovellukset, esim. RSS-tekniikan varassa julkaistut "ilmoitukset" (tietolistat)...kuvattu metatiedoin, tarkoitettu yhdisteltäväksi ja haettavaksi osana muita sovelluksia (uutiset, päivityspaketit, ruokalistat,...) ks. esim. http://www.oreillynet.com/meerkat/ organisaation A tiedotteet ja verkkouutiset organisaation B tiedotteet ja verkkouutiset saatavilla olevia tietolistoja yhdistelevä ja suodattava sovellus organisaation C tiedotteet ja verkkouutiset (RSS (1.0) = RDF Site Summary) 13
Case-esimerkki: MuseoSuomi MuseoSuomi kokoaa yhteen virtuaalinäyttelyn Suomen eri museoiden artikkeleista taustatietoineen http://museo suomi.cs. helsinki.fi/ Tekniikkaa museotaksonomia RDF:n avulla julkaisu Cocoon-ympäristössä Kuva: HY & HIIT 2004 14
Case-esimerkki, SW työpöydällä: Haystack Kuvalähde. MIT Computer Science and Artificial Intelligence Laboratory, http://haystack.lcs.mit.edu/ 15
Tietojenkäsittelyn lähitulevaisuutta: kyselyhaku Luonnollisen kielen fraasirakenteisiin perustuva kyselyhaku (nyk. toteutus ei SW-tekniikkaa, "tulossa") Ks. the START Natural Language Question Answering System http://www.ai.mit.edu/projects/infolab/ailab 16
Semanttinen Web (SW) (TTY:llä opetetaan osana opintojaksoa Rakenteisten dokumenttien jatkokurssi)
vs. RDF = tietorakenne vs. tieto kirjoittamista ohjaava dokumentin tyyppimäärittely mallinnusta ohjaava skeema ja ontologia <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 -dokumenttina tiedostoon tms.) 18
SW:n määrittelyrakenne 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 Web Ontology Language, OWL Resource Description Framework, RDF URI SW on olennaisesti sopimus kuvailutietojen (metatieto) ja niiden käyttöä ohjaavien skeemojen ja ontologioiden kirjoitustavasta (käsitemallit) SW standardoi MITEN sanotaan, mutta EI MITÄ sanotaan 19
Semanttinen Web? Datalähtöisten sovellusten kompastuskivi on yleensä yhteismitallisen tiedon saatavuus Semanttinen Web tarjoaa perustekniikkaa kuvailevan (meta)tiedon mallintamiseen, julkaisuun ja käsittelyyn Opiskelija (..ja opiskelijoista tiedämme...) arvosanalla Kiitettävä aliluokka vieraileva opiskelija on tehnyt opintosuorituksen yhteystiedot on Satu Markkinoinnin perusteet (5,4,4,5,5,4,5,5) suorituksin 20
Esimerkki: RDF ja tiedon mallinnus Mallinnus = objektien identifiointia ja näiden piirteiden koodausta yhteisesti sovitulla kieliopilla ja käsitteillä Aiottu tulkinta: ammatti Suomen presidentti Mallinnus (koodaus): jobs:affiliation http://persons.fi/presidents/e2000 Suomen presidentti Asia tietokoneen silmin : Klik. liittyy jotenkin jobs-sanaston tulkintaan. Klik. (#(uri), #(jobs:affiliation), 011100...100101 ) ÄLY syntyy merkitysten verkosta 21
RDF ja = RDF/ RDF:n normatiivinen sarjallistusmuoto on, esim. ex:index.html exterms:creation-date "August 16, 1999"....muotoinen N3-lause voidaan (lyhenteet avattuna) esittää RDF/-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> -syntaksia tärkeämpää on ymmärtää mallin idea 22
Keskeistä on tiedon yhdistäminen Hyödyntäminen: metatietoihin perustuvat haut (tai pelkän metatiedon hakeminen) tiedon yhdistäminen (standardipohja!) 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 23
Mistä SW:n (meta)tieto on peräisin? Kärjistetysti, SW voidaan nähdä universaalin tietokannan määrittelynä yhteensopiva tietomalli SW haku, yhdistely, kysely, päättely A' B' C' yhteensopiva tietorakenne sovelluskohtainen tietorakenne adapteri adapteri adapteri A B C Tarkoitus ei kuitenkaan ole "siirtää tiedostoja" Semanttiseen Webiin, vaan "kuvata tietoja" (ts. SW ei ole fyysinen vaan looginen rakenne) 24
SPARQL Query Language for RDF (luonnos!) "RDF is a flexible, extensible way to represent information about World Wide Web resources. It is used to represent, among other things, personal information, social networks, metadata about digital artefacts, like music and images, as well as provide a means of integration over disparate sources of information. A standardized query language for RDF data with multiple implementations offers developers and end users a way to write and to consume the results of queries across this wide range of information. Used with a common protocol, applications can access and combine information from across the web." @prefix dc: <http://purl.org/dc/elements/1.1/>. SELECT?title @prefix : <http://example.org/book/>. WHERE ( @prefix ns: <http://example.org/ns#>. :book1 <http://example.org/book/book1> dc:title "SPARQL Tutorial". :book1 ns:price 42. <http://purl.org/dc/elements/1.1/title> :book2 dc:title "The Semantic Web".?title ) :book2 ns:price 23. Charter:...2006-01-31 PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT?title?price WHERE (?x dc:title?title ) 25 (?x ns:price?price ) AND?price < 30
Tekniikka vs. skeemamäärittelyt vs. sanastotyö Datalähtöiset sovellukset eivät voi toimia ilman yleiskäyttöisiä kuvailusanastoja esim. RSS-kanavat pitää tietenkin kuvata yhteensopivilla käsitteillä ja julkaista yhteisen tietomallin puitteissa Sanastotyössä voidaan erottaa useita tasoja, esim. sovelluskohtaiset käsitemallit (esim. kirjastoalan käsitteistö) käsitteitä, yksilöitä ja näiden suhteita kuvaavat sanastot (esim. Dublin Core) sopimukset sanastojen predikaattien käytöstä ja tulkinnasta (esim. luokitukset) Sanastotyö on monessa mielessä esim. laaja-alaisten datalähtöisten sovellusten haastavin osa-alue! 26
Lopuksi
Yhteenveto & kiitos World Wide Web Consortium (W3C) kehittää Webstandardeja Web-teknologioiden kehitys, erityisesti tekstiformaatteihin liittyvä standardointi, rakentuu pitkälti -tekniikoiden varaan Semanttinen Web luo puitteet tiedon esittämiselle (Webissä) siten että myös tietokoneet pystyvät tulkitsemaan sitä Jäikö joku W3C-asia mietityttämään? Allekirjoittaneen tavoittaa helposti: http://www.w3c.tut.fi Ossi@w3.org 28
Liite: 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, raportit ja teknistä tietoa http://www.w3c.org/tr/ (kaikki tekniset dokumentit) http://www.w3c.tut.fi/report-archive.html (yleisesityksiä suomeksi) Jäseneksi! http://www.w3.org/consortium/prospectus http://www.w3c.tut.fi/joining.html 29