10 Ohjelmoinnista Semanttisessa Webissä

Samankaltaiset tiedostot
8 Tiedonhaun apuvälineet

8 Tiedonhaun apuvälineet

7 Tiedonhaun apuvälineet

7 Tiedonhaun apuvälineet

Hypermedian ohjelmointi, kevät Luento 7. Tiedonhaun apuvälineet

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

W3C-teknologiat ja yhteensopivuus

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

10 Nykyaikainen WWW-arkkitehtuuri

Paikkatiedot ja Web-standardit

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

XML johdanto, uusimmat standardit ja kehitys

standardit (W3C, ISO) Semanttisen laskennan tutkimusryhmä Teknillinen korkeakoulu

3 Verkkosaavutettavuuden tekniset perusteet

W3C, Web-teknologiat ja XML

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

Metatietojen merkitys tiedonhallinnassa

Rakenteisten dokumenttien jatkokurssi, syksy 2006

Mikä on semanttinen web?

W3C, Web-teknologiat ja Semanttinen Web

Ontologiat merkitysten mallintamisessa: OWL. Eeva Ahonen

Metatietojen merkitys tiedonhallinnassa

Sisällönhallinnan menetelmiä

Luento 12: XML ja metatieto

The OWL-S are not what they seem

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu

Semanttinen web - lyhyt johdatus

Metatiedot organisaatioiden sisällönhallinnassa

8 Tiedonhaun apuvälineet

W3C ja alueellinen standardointi

6 Mukautuvat verkkopalvelut

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

Paikannimirekisteri linkitettynä tietona

6 Semanttinen Web 101

6 Semanttinen Web 101

W3C ja Web-teknologiat

Digitaalisen median tekniikat xhtml - jatkuu

5 Verkkopalvelun sisällön hallinta

7 Mukautuvat verkkopalvelut

XML ja Web Services update

2. PEHMEÄ XHTML XRAJAHTML

Esimerkki uudelleenohjauksen teknisestä toteutuksesta

XML-tietojenkäsittely

6 Semanttinen Web 101

Visio tulevaisuuden Webistä. Semantic Web - kohti uutta merkitysten Internetiä. Ratkaisumalli 1: Älykkäämmät sovellukset. Vision este Webissä

W3C: teknologia ja (tieto)yhteiskunta

Seitsemän syytä semanttiseen webiin. Eero Hyvönen Aalto-yliopisto ja HY Semanttisen laskennan tutkimusryhmä (SeCo)

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

Web ja semanttinen web organisaatioissa

XML-evoluutio ja kestävä kehitys

Internet jolla on merkitystä

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Semanttinen Web ja Webteknologiat

Semanttinen web: visio uudesta webistä

URI:n muodostamisen prosessi (suositusluonnoksen liite 1)

Profium. Smart Information Router (SIR) Janne Saarela Profium Oy. Profium perustettu Pioneeri sisällönhallinnan ratkaisujen kehityksessä

Miten Linked Data aineistoja tuotetaan ja. Semanttisen laskennan tutkimusryhmä SeCo Aalto-yliopisto

Hypermedian ohjelmointi, kevät Julkaisujärjestelmän toteuttaminen

JHS XXX Paikkatiedon yksilöivät tunnisteet Liite 2: Esimerkki tiedontuottajan URI-palvelun teknisestä toteutuksesta

Miksi asiasanastot eivät riitä vaan tarvitaan ontologioita?

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Rakenteiset dokumentit Mitä hyötyä niistä on?

T Tiedonhallinan seminaari. koulutusohjelma Metadata. Matti Tornio 55412K

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

11 Hypermediajärjestelmistä

12 Pari sanaa sovelluskehityksestä

W3C ja Web-teknologiat

JHS 193 Paikkatiedon yksilöivät tunnukset Liite 2. Esimerkki tiedontuottajan URI-palvelun teknisestä toteutuksesta

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

in condition monitoring

Verkkopalveluiden saavutettavuus

9 Edistynyt PHP-ohjelmointi

Semanttinen Finlex Arttu Oksanen ( )

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

W3C ja Web-teknologiat

è è è RDF-perusteet 7 RDF-perusteet

Semantic Web Sisältötuotannon ja palveluiden tulevaisuus

Juha Peltomäki JAMK/Teknologia

Sosiaalihuollon avoin asiakastietomalli ja sen kehittämisessä ja soveltamisessa käytetyt standardit

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Avoimet standardit ja arkistointi

XML-pohjaiset rakennemäärittelyt

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

Semanttisen webin käyttöliittymäratkaisut. Tiedonhallinta semanttisessa webissä Osma Suominen

Interfacing Product Data Management System

Johdatus XML teknologioihin

Johdatus rakenteisiin dokumentteihin

Eurooppalaiset lainsäädännön ja oikeuskäytännön standardit. Aki Hietanen, oikeusministeriö

Agentit ja semanttinen web. Pekka Halonen

MALog-projekti kehittää oppimateriaalia matemaattiseen logiikkaan. Insinöörikoulutuksen foorumi

Helsinki Region Infoshare Pääkaupunkiseudun tiedon avaaminen

RDF ja RDFS. 8 RDF ja RDFS

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

XML - mahdollisuudet ja kehitys

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Semanttinen web ja sukututkimus

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

Transkriptio:

10 Ohjelmoinnista Semanttisessa Webissä Semanttista Webiä (SW) on sivuttu kurssilla useaan otteeseen. Nyt tavoitteena on käydä tiiviisti läpi Semanttisen Webin tekninen perusta, esitellä muutamia esimerkkejä Semanttisen Webin sovelluksista ja pohtia sitä, miten SW tarkoittaa erityisesti verkkopalvelun suunnittelijan ja toteuttajan näkökulmasta Semanttinen Web tarjoaa pohjan mukautuvaan hypermediaan, tekoälyyn, koneoppimiseen tai tiedonlouhintaan perustuville sovelluksille. Semanttistä Webiä käsitellään tässä etenkin siitä syystä, että mukautuvan hypermedian ja Semanttisen Webin ideoiden, tekniikoiden ja menetelmien yhdistäminen tarjoaa verkkopalvelun toteuttajalle merkittäviä uusia mahdollisuuksia ilman syvällistä tekoälytieteiden osaamista Kaksi lähestymistapaa Semanttisen Webin soveltamiseen: Tiedon julkaiseminen Semanttiseen Webiin muiden hyödynnettäväksi Semanttiseen Webiin julkaistun tiedon hyödyntäminen omassa sovelluksessa Tässä esityksessä keskitytään perusteiden käsittelyn jälkeen tiedon julkaisemiseen Semanttiseen Webiin. 7307010 Hypermedian ohjelmointi (kevät 2005) 120

Taustaa ja käsitteitä Klassisen tiedon määritelmän mukaan tieto on tosi, perusteltu uskomus. Suomenkielessä käsitteellä tieto viitataan sekä dataan että informaatioon. Data on informaation uudelleen tulkittavissa oleva esitystapa, joka sopii siirtoon, tulkintaan tai käsittelyyn. Dataa voi käsitellä joko ihminen tai sitä voidaan käsitellä automaattisin menetelmin. Informaatio on älykkyyttä tai tietämystä, joka voidaan esittää kommunikointiin, varastointiin tai käsittelyyn soveltuvassa muodossa. Informaatiolla voidaan tarkoittaa myös datan ihmiselle tuottamaa merkitystä Metatieto tai kuvailutieto on rakenteista, jotakin muuta tietoa kuvaavaa tietoa, jota voidaan liittää esimerkiksi erilaisiin elektronisiin tallenteisiin. Tiedon täsmällinen esittäminen perustuu käsitteellistämiseen eli kiinnostuksen kohteena olevan ilmiön käsitteiden ja niiden välisten suhteiden täsmälliseen määrittelemiseen. Ontologia tai käsitemalli on käsitteellistetyn tiedon täsmällinen määritys. Semantiikka tarkoittaa (Semanttisessa Webissä) merkityksen täsmällistä määrittämistä siten, että tietoa voidaan käsitellä tietokoneen avulla tiedon merkityksen perusteella. 7307010 Hypermedian ohjelmointi (kevät 2005) 121

Semanttisen Webin perusteet W3C:n Semanttinen Web on nykyisen World Wide Webin (WWW) laajennus, jossa tiedolle annetaan täsmällinen merkitys. Tavoitteena on se, että tietokoneet pystyvät paremmin auttamaan ihmisiä suurien tietomäärien käsittelyssä. Semanttisen Webin perustan muodostavat seuraavat tekniikat: Extensible Markup Language (XML): XML-kielen rooli on tiedon rakenteistaminen eli jakaminen riittävän pieniin palasiin, jotta sitä voidaan käsitellä järjestelmällisellä tavalla. Uniform Resource Identifiers (URI): URI-tunnisteiden avulla resursseille voidaan antaa maailmanlaajuisesti yksikäsitteiset tunnisteet. Resource Description Framework (RDF): RDF-kehyksen avulla voidaan määritellä kuvailutietoa eli tietoa resurssien ominaisuuksista. Kuvailutiedon avulla voidaan hallita rakenteista tietoa. Web Ontology Language (OWL): Yksikäsitteisten käsitemallien eli ontologioiden määrittelemiseen tarkoitettu kieli. Käsitemalleja tarvitaan, jotta kuvailutiedon tehokas hyödyntäminen päättelyn (infer) avulla on mahdollista. SW:ssä tietoa julkaistaessa kerrotaan tiedon merkitys, ei mahdollisia käyttökohteita. 7307010 Hypermedian ohjelmointi (kevät 2005) 122

Semanttisen Webin protokollapino Semanttisen Webin tasot tai protokollapino Berners-Leen mukaan: Lähde: Berners-Lee, T. Semantic Web - XML2000, ks. http://www.w3.org/2000/talks/1206-xml2k-tbl/overview.html 7307010 Hypermedian ohjelmointi (kevät 2005) 123

Esimerkkejä Levyn tiedot XML-muodossa: <record genre="surf" year="1997"> <name>absurdistan</name> <artist>laika and the Cosmonauts</artist> </record> Levyn tiedot RDF-muodossa sarjallistettuna N3-kielellä: @prefix : <http://www.levylaari.fi/2005/record#>. @prefix genre: <http://www.levylaari.fi/2005/genre#>. @prefix artist: <http://www.levylaari.fi/2005/artist#>. :Absurdistan :genre genre:surf. :Absurdistan :year "1997". :Absurdistan :artist artist:laikaandthecosmonauts. OWL-kielellä voidaan määritellä levyn kuvailutietojen käsitemalli: @prefix : <http://www.levylaari.fi/2005/record#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2001/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix genre: <http://www.levylaari.fi/2005/genre#>. :Record a owl:class. :genre a rdf:property; rdfs:domain :Record; rdfs:range genre:genre. 7307010 Hypermedian ohjelmointi (kevät 2005) 124

SW-esimerkki: Dublin Core Dublin Core (DC) on yleisesti käytössä oleva kuvailutiedon rakennemalli, jonka keskeisenä tavoitteena on aineiston hallinta, erityisesti hakutulosten parantaminen erilaisissa järjestelmissä. DC:n alkuperäisiä suunnittelutavoitteita ovat yksinkertaisuus, yhteiset kuvailuperiaatteet, kansainvälisyys ja laajennettavuus. DC:n laaja suosio perustuu sen yksinkertaisuuteen ja vapauteen: kaikki 15 kenttää ovat vapaaehtoisia ja kutakin niistä voidaan toistaa tarvittava määrä. DC:n määrittelemät kentät ovat nimeke, tekijä, aihe, kuvaus, julkaisija, muu tekijä, aikamääre, laji, formaatti, indentifiointitunnus, lähde, kieli, suhde, kattavuus ja oikeudet. DC määrittelee rakennemallin kuvailutiedolle ottamatta kantaa lopulliseen esitysmuotoon. Käytännössä DC-muotoinen kuvailutieto onkin esitettävissä useilla eri tavoilla. Käytössä olevia esitysmuotoja ovat esimerkiksi HTML, XML ja RDF. Helsingin yliopisto ylläpitää sivustoa, jossa voi esimerkiksi kokeilla DC-muotoisen kuvailutiedon muokkaamista, ks. http://www.lib.helsinki.fi/cgi-bin/dc.pl. Tarkempi kuvaus Dublin Coren kentistä löytyy suomeksi Helsingin yliopiston sivuilta, ks. http://www.lib.helsinki.fi/dublin_core/dc-sfs.html. 7307010 Hypermedian ohjelmointi (kevät 2005) 125

Esimerkki: levyarvostelun kuvailutiedot DC-muodossa Levyarvostelun DC-muotoiset kuvailutiedot HTML-kielellä esitettynä: <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/tr/xhtml-basic11/xhtml-basic10.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> <title>arvostelu: Laika and the Cosmonauts / Absurdistan</title> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="arvostelu: LATC / Absurdistan" /> <meta name="dc.creator" content="j. Huhtamäki" /> <meta name="dc.subject" xml:lang="fi" content="surf" /> <meta name="dc.subject" xml:lang="fi" content="levyarvostelu" /> <meta name="dc.format" content="text/html" /> <meta name="dc.language" content="fi" /> </head> <body> <h1>laika and the Cosmonauts / Absurdistan</h1> <p> Uudellaan levyllään Absurdistan Laika and the Cosmonauts liikkuu... </p> </body> </html> 7307010 Hypermedian ohjelmointi (kevät 2005) 126

SW-esimerkki: RDF Site Summary RDF Site Summary (RSS) on eräs ensimmäisistä laajempaa suosiota saaneista Semanttisen Webin sovelluksista. RSS-protokollan käyttötarkoitus on tiedon syndikointi eli erilaisten koosteiden esittäminen ja julkaiseminen RSS-virtojen (RSS Feed) muodossa. RSS-asiakkaita ovat yksittäisiä virtoja yhdistelevät koostajat (aggregator). Yleisimmin RSS-protokollaa käytetään uutisten välittämiseen. RSS soveltuu kuitenkin koosteiden julkaisemiseen mistä tahansa sellaisesta tiedosta, jonka tietoalkiot voidaan yksilöidä URI-tunnistein. Esimerkkejä: verkkolokit (weblog, blog), ruokalistat, jne. RSS on myös klassinen esimerkki SW:n keskeisestä ongelmasta, Not Invented Here (NIH) -ilmiöstä. Sen sijaan, että soveltajat olisivat suosiolla ottaneet käyttöön yleisen ja yhteisen kielen RSS-virtojen esittämiseen, ovat eri tahot määritelleet omia RSSversioitaan. Erilaisia RSS-versioita ovat mm. RSS 0.90, RSS 1.0, RSS 2.0 ja Atom. RSS-protokollan kehityskulku muistuttaa HTML-kielen kehitystä 1990-luvulla: eri toimijat, lähinnä selainten valmistajat, määrittelivät kieleen omia laajennuksiaan. HTML-kielen kohdalla tilanne on nyt rauhoittunut ja eri toimijat ovat antaneet kielen kehittämisen ohjakset W3C:lle. RSS-protokollan tapauksessa tilanne on kuitenkin toinen, sillä W3C:llä ei ole suoraa roolia kehitystyössä. 7307010 Hypermedian ohjelmointi (kevät 2005) 127

Esimerkki: Levylaarin RSS-virta Esimerkki levylaariin viimeksi lisättyjen levyjen tiedoista RSS 1.0 -muodossa esitettynä RDF/XML-kielellä sarjallistetussa muodossa: <?xml version="1.0" encoding="iso-8859-1"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <channel rdf:about="http://www.levylaari.fi/uutuudet.rss"> <title>levylaarin uutuudet</title> <link>http://www.levylaari.fi/</link> <description>levylaariin uusimmat levyt RSS 1.0 -virtana. Ota ja syndikoi!</description> <items><rdf:seq> <rdf:li resource="http://www.levylaari.fi/absurdistan"/></rdf:seq> </items> </channel> <item rdf:about="http://www.levylaari.fi/absurdistan"> <title>laika and the Cosmonauts: Absurdistan</title> <description>surf-jyrä Laika and the Cosmonautsin tuorein! </description> <link>http://www.levylaari.fi/latc/absurdistan.php</link> <dc:date>2005-03-30</dc:date> </item> </rdf:rdf> 7307010 Hypermedian ohjelmointi (kevät 2005) 128

Tiedon käsittely Semanttisessa Webissä Tiedon käsittelemisen menetelmät voidaan yleisesti jakaa deklaratiivisiin (declarative) ja proseduraalisiin (procedural). Deklaratiivisissa menetelmissä haluttu toiminnallisuus määritellään yleiselle sovellukselle osoitettavana ohjetiedostona. Proseduraalisissa menetelmissä toiminnallisuus määritellään suoraan ohjelmakoodiksi. XML-muotoisen tiedon käsitteleminen: Proseduraalisia menetelmiä ovat erilaiset ohjelmointirajapinnat, esimerkiksi Simple API for XML (SAX) ja Document Object Model (DOM). Deklaratiivisia menetelmiä ovat esimerkiksi W3C:n XQuery-kyselykieli ja XSL-muunnokset (XSL Transformations, XSLT) RDF-muotoisen tiedon käsitteleminen: Ohjelmointirajapintoihin perustuvia menetelmiä löytyy myös RDF-muotoisen tiedon käsittelemiseen, mutta niitä ei ole standardoitu. Esimerkiksi Jenan (http://jena.sourceforge.net/) RDF API on ohjelmointirajapinta RDFmuotoisen tiedon käsittelemiseen. W3C:n SPARQL Query Language for RDF on esimerkki standardista tavasta käsitellä RDF-muotoista tietoa deklaratiivisen menetelmän avulla. Muita vaihtoehtoja ovat ei-standardit RDF Query Language (RDQL), Sesame RDF Query Language (SeRQL) ja RDF Query Language(RQL). Java-soveltajien käytössä on paras valikoima välineitä, mutta ohjelmistokirjastoja löytyy myös PHP-kielelle. 7307010 Hypermedian ohjelmointi (kevät 2005) 129

Ongelmia Semanttisessa Webissä Semanttisen Webin soveltamiseen liittyy joukko käytännön ongelmia: Tiedon julkaisijoiden osaaminen vaihtelee, joten tiedon esitysmuotojen käyttäminen on ohjeistettava tarkasti. Julkaisijat saattavat myös tulkita esitysmuotoja eri tavoilla. Toimijoiden tarpeet poikkeavat toisistaan, joten esitysmuotojen standardointi on hidasta ja työlästä. Suuri osa Semanttiseen Webiin julkaistusta tiedosta on teknisestä näkökulmasta virheellistä tai sisällöltään epäluotettavaa. Tämä aiheuttaa sen, että tiedon oikeellisuus on yleensä tarkastettava. Ratkaisu: luottamus. Tiedon julkaisijat saattavat julkaista virheellistä tietoa myös tarkoituksellisesti. Esimerkiksi erilaisten tuotteiden valmistajat eivät aina halua julkaista tietoa tuotteidensa virheellisistä tai puutteellisista ominaisuuksista. Merkittävä ongelma Semanttisen Webin on se, että tietoa ei julkaista ohjelmallisesti käsiteltävässä muodossa. Syynä tähän on tietoa hyödyntävien sovellusten pieni määrä. Syynä pieneen määrään on se, että tietoa ei julkaista ohjelmallisesti käsiteltävässä muodossa. Muna vai kana? 7307010 Hypermedian ohjelmointi (kevät 2005) 130

Lopuksi Hypermedian ohjelmoinnin näkökulmasta Semanttinen Web on keskeinen työväline mukautuvien hypermediasovellusten toteuttamisessa, sillä se tarjoaa välineet tiedon käsitteellistämiseen ja käsitteellistetyn tiedon ohjelmalliseen käsittelemiseen. Kapeammasta PHP-soveltajan näkökulmasta Semanttisessa Webissä tärkeintä ovat erilaiset tiedon esitysmuodot, joissa yksittäinen verkkopalvelu voi julkaista tietojansa muiden SW-sovellusten tukemassa ( ymmärtämässä ) muodossa. Semanttisen Webin teknisen perustan muodostavan XML-standardiperheen perusteet käydään läpi opintojaksolla Rakenteiset dokumentit. Semanttisen tiedon esittämistä ja käsittelyä käydään laajemmin läpi Rakenteisten dokumenttien jatkokurssilla. Keskeinen osa Semanttista Webiä on verkkopalveluiden välinen kommunikaatio, jonka perustan muodostavat W3C:n Web-palveluiden (Web Services) teknologiat. Opintojakso XML ohjelmistokehityksessä käsittelee tarkemmin Web-palveluita. Lisätietoa Semanttisesta Webistä löytyy W3C:n Semanttisen Webin aktiviteetin kotisivulta (http://www.w3.org/2001/sw/activity). Ossi Nykäsen vierailuluento opintojaksolla XML ohjelmistokehityksessä käsitteli Semanttista Webiä, ks. http://www.w3c.tut.fi/talks/2005/0310-xmlohj-on/w3c-sw-xml-v003fin.pdf (PDFmuodossa) 7307010 Hypermedian ohjelmointi (kevät 2005) 131