The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm
Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita kutsutaan samalla nimellä sekoittuvat keskenään Avoin data on kaikkien huulilla, mutta ihmisten on tehtävä koostaminen Tieto on palveluntarjoajien siiloissa, ja jokaista varten on erilaiset tikkaat Verkkopalveluita rakennettaessa suuri osa ajasta menee tikkaiden rakentamiseen
Semanttinen web 2001 Tim Berners-Lee et al Rakenteinen tieto Visio: ohjelmistoagentit hoitavat ihmisten asioita automaattisesti Verkkopalvelun voi löytää ja sitä voi käyttää ilman ihmispäättelyä
Ontologia Tietokone ei ole ihminen Mikä tahansa luonnollisen kielen sana sellaisenaan on koneelle merkkijono Maailmaa ei voi tulkita ilman tietämystä Jotta kone voi ymmärtää, on jonkun kerrottava
Ontologia Konetulkittava muodollinen kuvaus käsitteistä ja niiden välisistä suhteista Semanttinen web rakentuu ontologioille Koostuu luokista, aliluokista ja ilmentymistä
Onki.fi pöllöt
Ontologia Luokkien väliset suhteet mahdollistavat koneellisen päättelyn URI -tunnisteet yksilöivät käsitteet
Onki.fi pöllöt
Ontologia Kuvataan ontologiakielillä, esimerkiksi RDF tai OWL
OWL Web Ontology Language OWL Lite yksinkertaisiin luokitteluihin OWL DL kompromissi ilmaisun ja koneellisen pääteltävyyden kesken OWL Full täysi ilmaisuvoima, mutta ei täysin pääteltävissä
OWL DL vs. Full DL ei salli luokkien käyttöä ilmentyminä Tarkkaa hommaa, esimerkiksi: Onko luokan "Maat"aliluokkaan "Pohjoismaat"kuuluva "Suomi"aliluokka vai ilmentymä?
OWL ominaisuudet Tarkempaa kuvailua Luokille yleisiä, ilmentymälle yksittäisiä Ominaisuuksiin voidaan liittää piirteitä parantamaan päättelyä. Piirteet ovat matemaattis-loogisia.
OWL piirteet Transitiivisuus (jos x,y ja y,z niin x,z) Symmetrisyys (jos x,y niin y,x) Funktionaalisuus (vain yksi) Rajoitteet kaikki ja jotkut Kardinaalisuus: määrätty määrä piirteitä
OWL Joukko-opin käsitteet yhdiste leikkaus komplementti
OWL-S...on semanttisia verkkopalveluita kuvaava ontologia...jonka avulla käyttäjät ja agentit voivat automaattisesti löytää, herättää, koostaa ja monitoroida palveluita tarjoavia resursseja
OWL-S Ajatus: käyttäjän tarpeet on määritelty formaalisti tarpeet verrattavissa palveluiden kuvauksiin profit
OWL-S Kun käyttäjä tietää mitä haluaa, voi palveluita käyttää automaattisesti SILLÄ: OWL-S kertoo myös käytännön ohjeet vuorovaikuttamiseen
OWL-S Semantiikan käyttö verkkopalveluissa edistää palveluiden yhteispeliä: asiakas tarkistaa aina palvelukuvauksen ja yhteydenottotavan etukäteen muutokset tulevat käyttöön automaattisesti
OWL-S rakenne 1. Profiili 2. Prosessi 3. Maadoitus Lähde: Martin D. et al: Bringing Semantics to Web Services with OWL-S 2007
OWL-S profiili Palveluntarjoaja Nimi, yhteystiedot jne Toiminnan kuvaus Esiehdot, syötteet, paluuviestit, vaikutukset Piirteet määrittelevät toiminnallisuudet Kategoria, laatuluokitus, lista parametreja (esim. maantieteellinen saatavuus)
OWL-S profiili Määrittelee palvelun käyttötarkoituksen, käytetään mainonnassa Palveluun voi liittyä useita profiileita
OWL-S prosessi...määrittelee miten palvelun kanssa voi asioida...voi olla atominen, yhdistelty tai yksinkertainen.
OWL-S atominen prosessi odottaa yhtä viestiä ja antaa yhden vastauksen ei aliprosesseja siihen liittyy aina maadoitus
OWL-S yhdistelty prosessi...koostuu useista (atomisista) aliprosesseista...ylläpitää tilatietoa...jokainen prosessille lähetetty viesti edistää prosessia
Amazon kirjapalvelu Lähde Solanki, M. et al: Bringing Semantics to web services: The OWL-S approach. 2004
OWL-S prosessi...aiheuttaa muutoksen maailmassa...tai annetun tiedon perusteella palauttaa tietoa...vaatii esiehtojen täyttymisen
OWL-S prosessi...koostuu kahdesta tai useammasta osapuolesta...kontrollirakenteita ovat mm. If-Then-Else, Iterate, Repeat-While...on abstrakti
OWL-S maadoitus...toimii siltana prosessista käytännön toteutukseen...kertoo käytännön yksityiskohdat palvelun kanssa vuorovaikuttamiselle (protokollat, viestin muoto)...standardi sallii mitä tahansa, suosituin on ollut SOAP (Simple Object Access Protocol)
OWL-S maadoitus...voi olla useita...lisättävissä dynaamisesti
Esimerkkikoodia <service:service rdf:id="amazonpriceservice"> <service:presents rdf:resource="#amazonpriceprofile"/> <service:describedby rdf:resource="#amazonpriceprocess"/> <service:supports rdf:resource="#amazonpricegrounding"/> </service:service> <mind:bookinformationservice rdf:id="amazonpriceprofile"> <service:ispresentedby rdf:resource="#amazonpriceservice"/> <profile:servicename xml:lang="en">amazon Book Price</profile:serviceName> <profile:hasinput rdf:resource="#bookinfo"/> <profile:hasoutput rdf:resource="#bookprice"/> </mind:bookinformationservice>
Prosessi <process:atomicprocess rdf:id="amazonpriceprocess"> <service:describes rdf:resource="#amazonpriceservice"/> <process:hasinput rdf:resource="#bookinfo"/> <process:hasoutput rdf:resource="#bookprice"/> </process:atomicprocess> <process:input rdf:id="bookinfo"> <rdfs:label>book</rdfs:label> <process:parametertype rdf:datatype="&xsd;anyuri">&bibtex; Book </process:parametertype> </process:input>
Heikkouksia - Standardi ei määrittele poikkeusten hallintaa - Laadun ja turvallisuuden varmistus puutteellista / olematonta - On suoraan riippuvainen ontologioiden kehityksestä
Pohdintaa & kysymyksiä