Florian Leitner florian.leitner@uni-konstanz.de Web Services and Semantic Web WS 07/08 Prof. Dr. Marc Scholl Department of Computer and Information Science University of Konstanz D-78457 Konstanz, Germany
Inhalt 1. Einleitung... 3 2. Ontologien... 3 2.1. Bestandteile von Ontologien... 3 3. Resource Description Framework... 5 3.1. Nachteile von RDF und der Weg zu OWL... 6 4. Web Ontology Language... 6 4.1. Die OWL Sprachenebnen... 6 4.2. OWL Bestandteile... 6 4.3. OWL Syntax... 7 5. Description Logics... 8 5.1. Description Logic System Architektur... 8 5.2. Description Logic und RDFS/XML Syntax... 9 6. Einsatzgebiete... 10 6.1. POPS - Expertensuchsystem der NASA... 10 6.2. Online Ratgeber zur Selbst Medikation... 11 6.3. Garlik.com... 11 7. Related Work... 12 7.1. Distributed Logics:... 12 7.2. Modular Ontologies:... 12 7.3. Contextual Ontology:... 12 8. Zusammenfassung und Ausblick... 12 9. Literatur... 13 2
1. Einleitung Das Internet beherbergt Unmengen von Informationen, die für Menschen aufbereitet und gespeichert sind. Tim Berners-Lee der Erfinder des World Wide Web, hat jedoch die Vision eines Internets das Informationen in einer Art und Weise repräsentiert, die auch von Maschinen interpretiert werden kann [1]. Dieses Semantic Web soll es Agenten ermöglichen, Rückschlüsse aus den Daten zu ziehen und Relationen zwischen verschiedenen Daten zu erkennen. Um dies zu bewerkstelligen, bedarf es semantischer Beschreibungen der Informationen in einer maschinenlesbaren Sprache. Ontologie Sprachen (Ontology Languages) sind Sprachen, die dieser Anforderung gerecht werden und somit ein grundlegender Bestandteil des Semantic Web. 2. Ontologien Das Wort Ontologie setz sich aus den beiden griechischen Wörtern on, deutsch sein, und Logos, deutsch Lehre zusammen und bedeutet soviel wie die Lehre des Sein. Ursprünglich ist die Ontologie eine philosophische Disziplin. Tom Gruber bezeichnet Ontologien als explizite formale Spezifikation einer gemeinsamen Konzeptualisierung [2]. Eine Ontologie ist also ein Vokabular von Ausdrücken und eine explizite Spezifikation der Ausdrücke und ihrer beabsichtigten Bedeutung, sowie Einschränkungen, die Hintergrundwissen über die Problem Domäne abdecken. 2.1. Bestandteile von Ontologien Ontologien bestehen aus Begriffen, Instanzen, Eigenschaften, Relationen und Axiomen. [3] Begriffe (Concepts) repräsentieren Objekte der realen Welt und sind vergleichbar mit Klassen in der objektorientierten Programmierung. Ein Beispiel für einen Begriff wäre das Objekt Elefant oder Tier. Instanzen repräsentieren eine Instanz eines Begriffs und können mit Objekten in der objektorientierten Programmierung verglichen werden. Hier wäre ein ganz bestimmter Elefant ein Beispiel. Eigenschaften und Relationen beschreiben die einzelnen Objekte und ihre Beziehung untereinander. Beispiel: Ein Elefant ist grau, Ein Elefant ist ein Tier. Axiome sind Aussagen über Begriffe die immer wahr sind, zum Beispiel Ein Elefant ist entweder ein Afrikanischer_Elefant oder ein Indischer_Elefant. 3
Abbildung 1 Beispiel Ontologie [18] Abbildung 1 zeigt das Funktionsprinzip einer Ontologie am Beispiel von Künstlern und Kunstwerken. Die Ellipsen repräsentieren Begriffe (Künstler, Bildhauer, Skulptur, Kunstwerk usw.) Die Pfeile spiegeln die Beziehungen zwischen den einzelnen Begriffen (Relationen) und ihrer Eigenschaften wieder. Ein Künstler besitzt beispielsweise die Eigenschaften Name und Vorname. Weiterhin erzeugt ein Künstler Kunstwerke. Die fettgedruckten Pfeile spiegeln Vererbungshierarchien wieder. Ein Maler ist eine spezielle Form eines Künstlers, ein Kubist ist wiederum eine spezielle Form von Maler. Abbildung 2 Instanzen der Beispiel Ontologie [18] Abbildung 2 gibt nun die Instanzen der Ontologie aus Abbildung 1 wieder. Pablo Picasso ist ein Maler der das Bild Junge mit der Pfeife mit der Technik Ölzeichnung gemalt hat. Das Ontologie-Konzept, ist also ein Mittel um Objekte mit ihren Eigenschaften und Relationen zu beschreiben und Axiome zu definieren. Das Konzept alleine reicht jedoch noch nicht aus um die Vision des 4
maschinenlesbaren Semantic Web zu ermöglichen. Denn Ontologien sind nur ein Konzept was noch fehlt, ist eine maschinenlesbare Sprache die uns das erzeugen von Ontologien ermöglicht. 3. Resource Description Framework Das Resource Description Framework (RDF) ist eine formale Sprache zur Bereitstellung von Meta Daten im Web. 1998 wurde das Resource Description Framework erstmals als Empfehlung des World Wide Web Consortium (W3C) veröffentlicht, diese wurde jedoch zur Bearbeitung zurück gezogen und 2004 fertig gestellt. Vorläufer von RDF war das Meta Content Framework (MCF), welches bis 1997 entwickelt wurde. Um komplexere Beziehungen zwischen Ressourcen beschreiben zu können, wird RDF durch das RDF-Schema erweitert. Das RDF-Schema definiert das Vokabular für ein bestimmtes Anwendungsgebiet und basiert auf dem Ontologie-Prinzip. Das RDF-Schema wird ähnlich wie die DTD bei XML-Dokumenten importiert und legt die Syntax fest. Dem RDF-Schema liegt ein mengentheoretisches Klassenmodell zugrunde, welches es ermöglicht eine formale Beschreibung der Semantic der verwendeten RDF-Elemente festzulegen. [4] Das Resource Description Framework bietet zwei Darstellungsmöglichkeiten für die Beschreibung der Meta Daten: ein graphisches Modell sowie ein XML basierter Syntax (siehe Abbildung 3 und Listing 1). Das Beispiel zeigt, wie mittels RDF die Relation zwischen einem Artikel, dessen Titel und dem Herausgeber auf Basis des Dublin Core 1. [5] http://de.wikipedia.org/wiki/resource_description_framework http://purl.org/dc/elements/1.1/title http://purl.org/dc/elements/1.1/publisher Resource Description Framework Wikipedia Die freie Enzyklopädie Abbildung 3 RDF graphisches Model [5] ä Listing 1 RDF XML Syntax [5] 1 Dublin Core ist ein Metadaten-Schema zur Beschreibung von Dokumenten. 5
3.1. Nachteile von RDF und der Weg zu OWL Dem Resource Description Framework fehlen wichtige Funktionen wie Kardinalitäten sowie transitive, inverse oder symmetrische Eigenschaften. Weiterhin lässt RDF aufgrund der fehlenden Standard Semantic nur bedingt Rückschlüsse und Schlussfolgerungen zu. Deswegen wurden zwei Nachfolger für RDF entwickelt: OIL welches von europäischen Forschern entwickelt wurde und DAML-ONT welches in den Vereinigten Staaten von Amerika entwickelt wurde. Später wurden die Projekte dann zu DAML+OIL vereint und vom Joint EU / US Committee on Agent Markup Languages weiterentwickelt. Dieses übergab DAML+OIL an das World Wide Web Consortium (W3C) als Basis für einen Standard. Das W3C bildete die Web-Ontology (WebOnt) Working Goup welche die Web Ontology Language auf Basis von DAML+OIL entwickelte. 4. Web Ontology Language Die Web Ontology Language (OWL) ist eine Empfehlung des W3C und unterstützt so genannte Description Logics. Description Logic ist äquivalent zu einer entscheidbaren Untermenge der Prädikatenlogik erster Stufe 2. OWL ermöglicht es Ontologien anhand einer formalen Beschreibung zu erstellen, diese kann dann auch von Maschinen interpretiert und gelesen werden. Die Abkürzung für Web Ontology Language ist OWL und nicht wie viele annehmen WOL, dies liegt vor allem daran, das klar ist wie OWL auszusprechen ist (OWL engl. Eule) [7]. 4.1. Die OWL Sprachenebnen OWL gibt es in insgesamt 3 verschiedenen Sprachebenen: OWL Lite: Stellt eine einfach zu implementierende Untermenge von OWL dar. OWL DL: Vereint nun die Web Ontology Language und Description Logics (DL), hierzu bedarf es diversen Einschränkungen um die Abbildbarkeit auf die Logik sicherzustellen. OWL Full: Entspricht OWL DL ohne die dortigen Einschränkungen. Dies bedeutet jedoch, dass die Ontologien nicht mehr entscheidbar sind. Die einzelnen Ebenen sind jeweils Untermengen von einander (OWL Lite OWL DL OWL Full). [6] 4.2. OWL Bestandteile In der Web Ontology Language gibt es folgende Elemente: Klassen (Begriffe, Concepts), Eigenschaften (Properties) und Objekte. Hier wird deutlich, das OWL auf dem Ontologie-Prinzip Aufbaut. Die einzelnen Elemente haben die gleiche Funktion wie bei Ontologien. [6] 2 First Order Logic (FOL) 6
4.3. OWL Syntax OWL ist eine Syntax unabhängige Sprache häufig werden jedoch folgende Syntax verwendet: Abstract Syntax (Listing 2), N3 (Listing 3) und RDF / XML (Listing 4). [6] Class(SpicyPizza complete annotation(rdfs:label "PizzaTemperada"@pt) annotation(rdfs:comment "Any pizza that has a spicy Pizza restriction(hastoppingsomevaluesfrom(spicytopping)) ) topping is a SpicyPizza"@en) default:spicypizza a owl:class ; rdfs:comment "Any pizza that has a spicy topping is a Listing 2 Abstract Syntax [6] rdfs:label "PizzaTemperada"@pt ; owl:equivalentclass [ a owl:class ; owl:intersectionof (default:pizza [ a owl:restriction ; owl:onproperty default:hastopping ; owl:somevaluesfrom default:spicytopping ]) ]. Listing 3 N3 [6] SpicyPizza"@en ; <owl:class rdf:id="spicypizza"> <rdfs:label xml:lang="pt">pizzatemperada</rdfs:label> <rdfs:comment xml:lang="en">any pizza that has a spicy topping is a SpicyPizza</rdfs:comment> <owl:equivalentclass> <owl:class> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="#pizza"/> <owl:restriction> <owl:onproperty> <owl:objectproperty rdf:about="#hastopping"/> </owl:onproperty> <owl:somevaluesfrom rdf:resource="#spicytopping"/> </owl:restriction> </owl:intersectionof> </owl:class> </owl:equivalentclass> </owl:class> Listing 4 RDF / XML [6] 7
5. Description Logics Description Logics sind ein Nachfolger von semantischen Netzen und KL-One. Sie beschreiben eine Domäne mit Hilfe von Begriffen (concepts), Rollen (Eigenschaften, Relationen) und Individuen. Außerdem ermöglichen sie Rückschlüsse aus dem beschriebenen. Weiterhin erlauben Operatoren die Zusammensetzung von komplexen Begriffen. Weiterhin kann man diese komplexen Begriffe benennen [8]. Folgende Operatoren sind definiert: Costructor DL Syntax Beispiel FOL Syntax intersectionof C 1 C n Mensch Männlich C 1 (x) C n (x) unionof C 1 C n Doktor Lehrer C 1 (x) C n (x) complementof C 1 Männlich C 1 (x) oneof {x 1 } {x n } {John} {Mary} x = x 1 x = x n allvaluesfrom P.C hatkind.doktor y.p(x,y) C(y) somevaluesfrom P.C hatkind.doktor y.p(x,y) C(y) maxcardinality np 1 hatkind n y.p(x,y) mincardinality np 2 hatkind n y.p(x,y) Tabelle 1 DL Operatoren [8] Wobei C ein Begriff (concept), P eine Rolle (Property) und y ein individueller Name ist. 5.1. Description Logic System Architektur Abbildung 4 DL System Architektur [8] 8
Abbildung 4 zeigt die Architektur eines Description Logic Systems. Die Knowledge Base besteht aus der Tbox und der Abox. Die Tbox beschreibt das Schema während in der Abox die Daten gespeichert sind. Über ein Interface kann nun eine externe Applikation auf das Schlussfolgerungssystem zugreifen, welches dann mit Hilfe der Tbox Schlussfolgerungen über die in der Abox gespeicherte Daten zieht. Hier wurde Beispielsweise in der Tbox definiert, das ein Mann ein Mensch und männlich ist. Ein Happy-Father, ist ein Mann der ein Kind hat. In der Abox ist dann gespeichert das John ein Happy-Father ist. Daraus könnten wir schließen, dass John sowohl ein Mann als auch ein Mensch ist. Weiterhin wissen wir, dass John männlich ist [8]. 5.2. Description Logic und RDFS/XML Syntax Folgendes Beispiel zeigt eine mittels OWL und Description Logic definierte Klasse, die alle Personen einschließt deren Kinder Doktoren sind oder deren Enkel Doktoren sind. Als Syntax wurde hier die RDFS/XML Syntax benutzt [8]. Person hatkind.(doktor hatkind.doktor) Zeile: 3 2 4-5 7 6 8-11 01: <owl:class> 02: <owl:intersectionof rdf:parsetype=" collection"> 03: <owl:class rdf:about="#person"/> 04: <owl:restriction> 04: <owl:onproperty rdf:resource="#hatkind"/> 05: <owl:toclass> 06: <owl:unionof rdf:parsetype=" collection"> 07: <owl:class rdf:about="#doktor"/> 08: <owl:restriction> 09: <owl:onproperty rdf:resource="#hatkind"/> 10: <owl:hasclass rdf:resource="#doktor"/> 11: </owl:restriction> 12: </owl:unionof> 13: </owl:toclass> 14: </owl:restriction> 15: </owl:intersectionof> 16: </owl:class> Listing 5 DL und RDFS / XML Syntax [8] 9
6. Einsatzgebiete 6.1. POPS - Expertensuchsystem der NASA Abbildung 5 NASA POPS System [9] Die NASA setzt das Semantic Web ein um Experten und Angestellte für bestimmte Themengebiete und Aufgaben zu finden. Insgesamt werden bis zu 7 verteilte Datenbanken mit POPS durchsucht die Daten über Ausbildung der Mitarbeiter, Erfahrungen, Projekte und vieles mehr beinhalten. Anfragen an POPS werden durch browsen gestellt, und weniger durch suchen. Aus der vorhandenen Datenbasis wurde eine RDF Ontologie erstellt, welche als Basis für die Applikation dient. Um dann auch eine Verbindung zu den Experten aufbauen zu können, wurde eine Sozial Network Visualisierung eingebaut [9]. 10
6.2. Online Ratgeber zur selbst Medikation Abbildung 6 Online Ratgeber zur selbst Medikation [10] Französische Krankenversicherungen, haben ein online Portal erstellt, welches ca. 20 Millionen Kunden Ratschläge zur medikamentösen Behandlung geben soll. Jeder Patient hat seine eigene Patientenakte. Das Diagnose System schlägt dann Anhand der Symptome und der Krankengeschichte des Patienten Medikamente vor. Im Hintergrund wird ein OWL Reasoner benutzt, der eine Behandlung vorschlägt, auf gegen Indikationen, Nebenwirkungen usw. abprüft [10]. 6.3. Garlik.com Ein auf SPARQL 3 basierender online Dienst, der es einem Benutzer ermöglicht seine digitale Identität zu überwachen. Garlik wurde 2007 von bis zu 57 000 Menschen benutzt [10]. 3 SPARQL Protocol and RDF Query Language. 11
Related Work 6.4. Distributed Logics: Eine Vielzahl von Distributed Logic Systemen wie zum Beispiel Local Modal Semantics [14] und Distributed First Order Logic (DFOL) [15] wurden in den letzten Jahren untersucht. In beiden Systemen spielen die lokale Semantic sowie die Relationen zwischen lokalen Modellen eine große Rolle. An DFOL angelehnt haben Borgida und Serafini [13] die Description Logik für ein verteiltes Szenario erweitert. Ein Distributed Logic System ist eine Ansammlung von verteilten TBoxen und ABoxen die mit Hilfe von Bridge Rules verbunden sind. Das besondere and den Bridge-Rules ist, dass diese unidirektional sind. Eine Einschränkung der Bridge-Rules besteht darin, dass sie nur binär definiert werden können, dies grenzt sie auch klar von den sehr viel Ausdruck stärkeren Ontologien ab. Umso größer die Zahl der Module ist, umso schwieriger wird es explizite Bridge-Rules zu definieren. 6.5. Modular Ontologies: Moduler Ontology [16] und [17] ist eine grundlegende Definition der Modularisierung von Ontologien und der Ausnutzung von Modularisierung in der Schlussfolgerung. Weiterhin wird einer Architektur eingeführt, die das Schlussfolgern durch das zusammensetzen von impliziten Relationen erlaubt. In diesem Zusammenhang, wurde das Problem der Erhaltung der semantischen Integrität bei Änderung der Ontologie untersucht. 6.6. Contextual Ontology: Kontextuelle Ontologien basieren auf Distributed Description Logics mit besonderem Augenmerk auf lokalisierte Semantic in Ontologien. Kontextuelle Ontologien halten ihren Inhalt lokal und ordnen den Inhalt über bridge rules anderen Ontologien zu. Bouquet et al. [12] haben CTXML 4 vorgeschlagen, welches eine Hierarchie basierende Ontologie Beschreibung und eine Kontext mapping Syntax vorsieht. Bouquet et al. [11] haben CTXML und OWL zu Context OWL (C-OWL) kombiniert, welches eine Syntax für bridge rules über OWL Ontologien darstellt. 7. Zusammenfassung und Ausblick Ontologie Sprachen werden benutzt um im Web gespeicherte Daten mit Semantic zu versehen und maschinen lesbar zu speichern. Eine Ontologie ist ein Vokabular von Ausdrücken und eine explizite Spezifikation derer beabsichtigten Bedeutung. Das Ressource Description Framework ist eine formale Sprache zur Bereitstellung von Meta Daten im Web. Die Web Ontology Language ist eine Weiterentwicklung von RDF die Description Logics beinhaltet. Description Logics beschreiben eine Domäne mittels Begriffen (concepts), Rollen (Eigenschaften, Relationen) und Individuen mittels Prädikaten Logik. Mittels Description Logics, kann man Schlussfolgerungen aus den gespeicherten Daten ziehen. Im Moment werden diese Techniken vor allem in der Medizin und in der Forschung eingesetzt, es gibt allerdings auch schon erste kommerzielle Produkte für den Massenmarkt. 4 ConTeXt Markup Language (CTXML) 12
8. Literatur 1. Tim Berners-Lee, James Hendler, Ora Lassila: The Semantic Web: a new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. In: Scientific American, 284 (5), S. 34 43, May 2001 2. Gruber, T. R. A Translation Approach to Portable Ontology Specifications. 1993. http://ksl-web.stanford.edu/ksl_abstracts/ksl-92-71.html 3. Duncan Hull, Nick Drummond: A Practical Introduction to Ontologies & OWL, in Tutorial at the 6th International XML Summer School. 2005. http://www.cs.man.ac.uk/~hulld/pres/20050729_xml_summerschool_ontologies_session1.pdf 4. World Wide Web Consortium: Resource Description Language http://www.w3.org/rdf/ 5. Wikipedia Die freie Enzyklopädie: Resource Description Framework http://de.wikipedia.org/wiki/resource_description_framework 6. World Wide Web Consortium: Web Ontology Language http://www.w3.org/tr/owl-features/ 7. Wikipedia Web Ontology Language http://de.wikipedia.org/wiki/web_ontology_language 8. Ian Horrocks: Description Logic Reasoning International Conference on Logic Programming and Automated Reasoning (LPAR). Montevideo, Uruguay, March 2005. http://web.comlab.ox.ac.uk/oucl/work/ian.horrocks/seminars/download/lpar05.ppt 9. Kendall Grant Clark, Andrew Schain, Bijan Parsia: Semantic Web @ NASA. In XTech 2006: Building Web 2.0 16-19 May 2006, Amsterdam, Netherlands http://xtech06.usefulinc.com/schedule/paper/147 10. Bijan Parsia. Semantic Web Technologies In Practice (22 August 2007). http://clarkparsia.com/talks/semweb-tech-in-practice/ 11. P. Bouquet, F. Giunchiglia, F. van Harmelen, etc. {C-OWL}: Contextualizing ontologies. In Second International Semantic Web Conference, 2870 of Lecture Notes in Computer Science, p164-179. Springer Verlag, 2003. 12. P. Bouquet, A. Donà, L. Serafini & S. Zanobini: Conceptualized local ontologies specification via CTXML, Working Notes of the AAAI-02 workshop on Meaning Negotiation. Edmonton (Canada). 28 July 2002 http://sra.itc.it/people/serafini/distribution/aaai-ws-ctxml.pdf 13. A. Borgida and L. Serafini. Distributed description logics: Directed domain correspondences in federated information sources. In Proceedings of the International Conference on Cooperative Information Systems, 2002. 14. C. Ghidini and F. Giunchiglia Local Model Semantics, or Contextual Reasoning = Locality + Compatibility Artificial Intelligence, 127(2): 221-259, 2001 15. Chiara Ghidini, Luciano Serafini. Distributed First Order Logics. In First International Workshop on Labeled Deduction [LD'98], 1998. 16. Heiner Stuckenschmidt, Michel Klein. Modularization of Ontologies. WonderWeb: Ontology Infrastructure for the Semantic Web.IST Project 2001-33052: Version 1.0. 26.6.2003 12. 17. Heiner Stuckenschmidt and Michel Klein: Integrity and change in modular ontologies. In Proceeding of the 18th International Joint Conference on Artificial Intelligence, Acapulco, Mexico, August 2003 18. Wikipedia Die freie Enzyklopädie: Ontologie (Informatik) http://de.wikipedia.org/wiki/ontologie_(informatik) 13