Tiedon mallintaminen ja esillesaanti Web Ontology Language OWL Daniel Lillqvist 26.10.2015
Ontologiat "An explicit formal specification of how to represent the objects, concepts and other entities that are assumed to exist in some area of interest and the relationships that hold among them" - Ontology, according to the Free On-Line Dictionary Of Computing Ontologiakielellä pyritään ilmaisemaan ontologioita. Miksi ontologioita? Mihin niitä tarvitaan? Kuinka voimakkaita ilmaisuja tarvitaan kieleen?
Ontologiakieli Ontology Interchange Language (OIL) + DARPA Agent Markup Language (DAML) OIL - Description Logic DAML - XML ja RDF OWL W3C Standardi 2004 OWL 2 W3C Standardi 2009
OWL + Vaikutteet Semattinen Web - RDF/XML - Autonomit Agentit Kuvauslogiikka - DL (OIL) - malliteoria Frame languages - hierarkia muistuttaa OO kielten
OWL & OWL 2 Ensimmäisen kertaluvun logiikka OWL Full OWL 2 Full ei ratkeava Tradeoff OWL DL RDFS OWL 2 DL ratkeava OWL 2 EL OWL 2 RL OWL Lite OWL 2 QL Käsitehierarkia
OWL + Alikielet OWL:n alikielet (sublanguages) OWL Lite laillinen Lite ontologia on laillinen DL ontologia pätevä Lite päätelmä on pätevä DL päätelmä OWL DL laillinen DL ontologia on laillinen Full ontologia pätevä DL päätelmä on pätevä Full päätelmä OWL Full (ei oikeastaan alikieli) ilmaisuvoima sama kuin RDFS DL takaa laskettavuuden ja ratkeavuuden
OWL + Oletukset Avoimen maailman oletus (Open-world Assumption) Arviointi tiedon puutteessa ei tarkoita tiedon negaatiota Voidaan ontologiassa O 1 vaihtaa luokka C 1 toiseen laajennettuun luokkaan C 2 Ei uniikki nimi oletus (No Unique Name Assumption) Eroavuus täytyy ilmaista eksplisiittisesti (esim. UUID tai funktionaalinen) Hajautetussa ympäristössä resurssi voi esiintyä eri paikoissa ja silti viitata samaan resurssiin (esim. henkilöstä P tietoa monessa palvelussa, tarkoittaa oletuksena samaa henkilöä).
OWL + Syntaksi Ei mikään skeemakieli (Schema language), eli, omat rajaukset (struktuuriin) dokumenttiin ei mahdollisia (niinkuin XML Schema) eli, järjestyksellä ei mitään väliä. Tripletti (kolmikko) RDF/XML (W3C suosima, exchange format), N3, Turtle Aksioma Abstrakti syntaksi, OWL/XML, Funktionaalinen (OWL 2), Manchester (OWL 2) Vaatii tietenkin mappausta, jos vaihtaa syntaksia. XML on verboosinen.
OWL + Dokumentti Tietynlainen laskennallinen artefakti esim. dokumentti Perusmuoto (halutaan jaettavaksi Web palvelimen kautta agenttien saataville) Pääte:.rdf tai.owl MIME tyyppi: application/rdf+xml <rdf:rdf juuri XML Namespace attribuutit toisiin sanastoihin: xmlns:rdfs="http://www.w3.. metadataa header -tyyppiseen elementtiin <Ontology rdf:about=""> luokka-aksioomia, ominaisuus-aksioomia, faktoja (ilmentymien aksioomia)
OWL + Rakennuspalikat Luokkia (classes) joukko luokkakuvauksia (class descriptions) muodostaa luokka-aksiooman (class axiom) Ominaisuuksia (properties) joko, olio-ominaisuuksia (object property) tai tietotyyppi-ominaisuuksia (datatype property) Yksilöitä (individuals) yksilö on luokan jäsen ja ilmentymä (instance) ja fakta (individual axiom) Tietotyypejä (datatypes)
OWL + Luokat Kaksi esimääriteltyä luokkaa owl:thing kaikki luokat ovat tämän aliluokka owl:nothing kaikki luokat ovat tämän yliluokka Määritellään luokka rakenteella owl:class joka on rdfs:class aliluokka: rajoittaa liian voimakasta RDFS luokkaa sopivaksi DL ja Lite alikielille Luokkakuvaukset kuudessa muodossa: luokan nimellä: URI (referenssi), eli rdf:id yksilöjoukkojen rajoituksilla: luettelointi (enumeration), ominaisuusrajoite (property restriction), konjunktio (intersection), disjunktio (union) ja komplementti (complement).
OWL + Ominaisuudet Ominaisuuksia (joukkoja yksilöpareja) on kaksi (erillistä, disjoint) varianttia: olio-ominaisuudet - olioiden väliset relaatiot esim, sukulainen, opettaa datatyyppi-ominaisuudet - olion ja datatyypin (literaalin) relaatio esim, puhelinnro, ikä Määritellään ominaisuus käyttäen owl:objectproperty ja owl:datatypeproperty jotka ovat rdf:property alaluokkia. Voidaan rajoittaa ilmaisemalla rdfs:domain ja rdfs:range mutta pelkkä ominaisuuden määrittely on jo aksiooma. RDFS rakenteella rdfs:subpropertyof saadaan ilmaistua specialisoinnit. Relaatioiden välisiä ilmaisuja ovat esim. owl:inverseof ja owl:equivalentproperty Kardinaliteetti voidaan ilmaista esim. owl:functionalproperty
OWL + Yksilöt Yksilöt (spesifinen instanssi) Määritellään antamalla rdf:type ja luokka, mihin jäsen kuuluu Faktat (yksilöiden aksioomat), on määrittelyt, jotka antavat luokan ja arvot ominaisuuksille. Yksilöt ovat nimettyjä tai nimettömiä.
OWL + Tietotyypit Tietotyypit ovat joko RDF spesifikaation mukaisia tai lueteltuja. RDF tietotyyppi viittaa suoraan XML Schema:n tietotyyppeihin Lueteltuja tietotyyppejä voidaan käyttää saadakseen määriteltyä arvoalueen.
OWL + Kuvauslogiikka Luokkapohjainen, tiedon mallinnuskieli (class-based knowledge representation language) OWL DL on kuvauslogiikkaan perustuva Ilmasuvoimaisempi kun propositiologiikka Ei yhtä ilmaisuvoimainen kun predikaattilogiikka Mihin pyritään? Halutaan, että päättelyt ovat ratkeavia (decidable) eli siten laskettavia (computable) Tehokkaita ratkaisuja Täytyy olla mahdollista laskea luokkien sisältyvyys ja olioiden kuuluminen luokkaan
OWL + Kuvauslogiikka Kuvauslogiikassa on hyvin määritelty semantiikka (määritelty malliteorian avulla) Terminologia: Konsepti (luokka), rooli (ominaisuus), yksilö (on sama) Monta kieltä, eri toiminnallisuus operaattoreilla kielissä Esim. kuvauslogiikka (attributive language) - yksi perus Atominen negaatio (atomic negation) Konseptin konjunktio (concept intersection) Universaali rajoitukset (universal restrictions) Rajattu eksistentiaali kvantifiointi (limited existential quantification)
OWL + Kuvauslogiikka Kuvauslogiikka (existential logic) Konseptien konjunktio (concept intersection) Eksistentiaali rajoitukset (existential restrictions of full existential qualification) Kuvauslogiikka ( ++) Rajoitettuja komplekseja roolin sisällyttäminen (Limited complex role inclusion axioms) refleksiivisyys ja ei-refleksiivisyys (reflexivity and irreflexivity) roolin erillisyys (role disjointness) Nominaalit (nominals) (Enumerated classes of object value restrictions - owl:oneof, owl:hasvalue).
OWL 2 Uutuuksia Suositeltu standardi Taaksepäin yhteensopiva Funktionaalinen syntaksi Profilit Syntaktista sokeria helpompi ilmaista lauseita (DisjointUnion, DisjointClases, NegativeObjectPropertyAssertion, NegativeObjectPropertyAssertion) Uusia rakenteita ominaisuuksille (ObjectHasSelf, ObjectMinCardinality, DataMinCardinalty and more) Datatyyppejä, metamallinnus, annotaatiot,
OWL 2 + Profiilit Alikieliä jotka ovat ratkaisuja sovelluskohtaisiin tarkoituksiin Profilit ovat rajoitetumpia kuin OWL 2 DL OWL 2 EL (Existential Logic) valtavat ontologiat OWL 2 QL (Query Language) kyselyjä suurin olemassa oleviin relaatiotietokantoihin OWL 2 RL (Rule Language) ontologiat jota tallennetaan RDF tripletteinä (iso kanta)
OWL 2 EL Pohjautuu ++ kuvauslogiikkaan Algoritmit suorittaa polynomisessa ajassa: luokkien keskinäinen sisältyvyys ja ontologian ristiriidattomuus Rajoitteet universaalikvantifiointi kardinaalisuusrajoitteet symmetriset ja asymmetriset ominaisuudet luokkayhdisteet luokan komplementti Erityisesti isot ontologiat jossa luokkia ja ominaisuuksia rajusti, kuten SNOMED CT
SNOMED CT + Kuvauslogiikka Yli 300,000 konseptia, eli luokkaa, 1,360,000 relaatiota. Noudattaa EL++ kuvauslogiikkaa. Top, bottom Primitive roles and concepts with asserted parent(s) for each Concept definition and conjunction but NOT disjunction or negation Role hierarchy but not role composition Domain and range constraints Existential but not universal restriction A restricted form of role inclusion axiom (xry ^ ysz => xrz) Snow Owl https://mq.b2i.sg/snow-owl/#!dashboard
OWL + Yhteenveto Joukko yksiselitteisiä deskriptiivisiä(kuvaileva) lauseita tietystä aihealueesta (domain) Rikastuttaa dataa lisäämällä siihen merkitystä Vähentää ihmisten välisiä väärinymmärryksiä Takaa, sovellusten ennustettavuuden ja yhdenmukaisuuden, sekä yhteentoimvuuden eri sovelluksien välillä OWL 2 Profilit EL Profiili - erityisesti isot ontologiat Webprotégé: http://webprotege.stanford.edu/
Kiitos! Kysymyksiä Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law. Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid