Taxonomien und Ontologien - Fakultät für Mathematik und Informatik ...
Taxonomien und Ontologien - Fakultät für Mathematik und Informatik ...
Taxonomien und Ontologien - Fakultät für Mathematik und Informatik ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Seminar Web 2.0 <strong>und</strong> autonomes Datenbank Tuning<br />
SS 2009<br />
schriftliche Ausarbeitung zum Thema<br />
<strong>Taxonomien</strong> <strong>und</strong> <strong>Ontologien</strong><br />
Veranstalter: Prof. Dr. K. Küspert, G. Rabinovitch, D. Wiese<br />
<strong>Fakultät</strong> <strong>für</strong> <strong>Mathematik</strong> <strong>und</strong> <strong>Informatik</strong><br />
Friedrich-Schiller-Universität Jena<br />
Verfasser: Alexander Weiß<br />
fastidias[at]googlemail.com<br />
Betreuer: G. Rabinovitch
Inhaltsverzeichnis<br />
1 Einleitung.........................................................................................................................................1<br />
1.1 Motivation von semantischen Modellen......................................................................1<br />
1.2 Semantische Modelle...................................................................................................2<br />
1.3 Aufbau der Arbeit........................................................................................................3<br />
2 <strong>Taxonomien</strong>......................................................................................................................................4<br />
2.1 Definition.....................................................................................................................4<br />
2.2 Beispiele......................................................................................................................4<br />
3 <strong>Ontologien</strong> .......................................................................................................................................6<br />
3.1 Definition.....................................................................................................................6<br />
3.2 Elemente......................................................................................................................7<br />
3.3 Beispiel........................................................................................................................7<br />
3.4 Beschreibungslogik......................................................................................................9<br />
3.5 Kategorisierung..........................................................................................................10<br />
3.6. Ontologie Sprachen .................................................................................................12<br />
3.6.1 RDF........................................................................................................................12<br />
3.6.2 RDF Schema...........................................................................................................13<br />
3.6.3 OWL.......................................................................................................................15<br />
4 Zusammenfassung.........................................................................................................................16<br />
Literatur............................................................................................................................................17<br />
i
1 Einleitung<br />
1.1 Motivation von semantischen Modellen<br />
Die Expansion des Internets schreitet immer weiter voran <strong>und</strong> die Datenmenge, die <strong>für</strong> den Nutzer<br />
zur Verfügung gestellt wird, nimmt ständig zu, sodass es <strong>für</strong> den einzelnen Nutzer immer<br />
schwieriger wird, das <strong>für</strong> ihn relevante Wissen herauszufiltern. Zur Veranschaulichung können wir<br />
uns einfach folgende Situation vorstellen. Ein Biologielehrer möchte einen Vortrag über die Tiere<br />
Nordamerikas machen. Der Vortrag ist soweit fertig, nur fehlt ihm noch ein Bild von einem Puma.<br />
Heutzutage wird wohl jeder, der in dieser Situation ist, bei Google oder diversen anderen<br />
Suchmaschinen nach entsprechenden Bildern suchen. Suchmaschinen helfen einem, die enormen<br />
Daten zu durchforsten, indem sie die Seiten(oder auch Bilder) im Netz nach Schlagwörtern,<br />
Worthäufigkeiten <strong>und</strong> Verlinkungen anderer Seiten indizieren <strong>und</strong> darauf aufbauend nach einem<br />
bestimmten Rating diese Seiten anzeigen. Das Problem hierbei sieht man sofort, gibt man bei<br />
Google Puma ein, so erscheinen nur in der Minderheit Bilder von dem „Tier“ Puma. Auf den<br />
meisten Bildern der r<strong>und</strong> 4 Mio. Resultate sind Firmenlogos <strong>und</strong> Panzer zu sehen. Alle diese Bilder<br />
werden erst durch bestimmte Zusatzbegriffe wie Firma, Panzer oder Tier signifikant beschrieben.<br />
Diese Informationen könnte man aber auch als Metadaten speichern. Die Daten würden dabei also<br />
mit Semantischen Informationen angereichert. <strong>Ontologien</strong> liefern die semantische Struktur <strong>für</strong> das<br />
semantic Web, dessen Ziel es ist Informationen im WWW so zu formalisieren, dass die<br />
Informationen nicht mehr nur als Daten sondern mit ihrer Semantik, als Wissen repräsentiert sind.<br />
<strong>Ontologien</strong> legen fest, von welcher Klasse die Daten <strong>und</strong> Beziehungen zwischen den Metadaten<br />
sein können. Hätte man also ein Netz aus ineinander verwobenen <strong>Ontologien</strong> so würden anfragen<br />
an Suchmaschinen nicht mehr einfach durch eine unzusammenhängende Folge von Stichwörtern,<br />
sondern z.B. in einer grafischen oder SQL-ähnlichen konzept- bzw. inhaltsbasierten Anfragesprache<br />
gestellt werden. Dies ermöglicht auch komplexere Anfragen z.B. nach semantischen Verbindungen<br />
in einer intuitiven Weise zu stellen. Das semantic Web kann man also nach Daten <strong>und</strong> nach Wissen<br />
abfragen.<br />
1
1.2 Semantische Modelle<br />
Semantische Modelle zur Wissensrepräsentation, insbesondere <strong>Ontologien</strong>, erlauben eine formale<br />
<strong>und</strong> interpretierbare Repräsentation von Wissen <strong>für</strong> Menschen <strong>und</strong> Maschinen. Diese Modelle der<br />
Wissensrepräsentation werden in den verschiedensten Wissenschaftsdisziplinen eingesetzt. Die<br />
Mächtigkeit bzw. semantische Reichhaltigkeit der Ansätze nimmt wie in Abbildung1 gezeigt zu.<br />
Abb. 1: Semantische Modelle, Quelle [2]<br />
Der Glossar ist eine Liste von Begriffe mit einer natürlichsprachigen Beschreibung der jeweiligen<br />
Begriffe.<br />
Die Taxonomie ist eine Hierarchie von Begriffen, welche zum Beispiel aus einem Glossar stammen<br />
könnten.<br />
Thesaurus ist eine Spezialisierung oder Erweiterung des Glossars. Es kommen 3 neue Relationen<br />
hinzu. Mit diesen kann man die vorgegeben Begriffe in Beziehung setzten. Die 3 Relationen sind<br />
die Äquivalenz (<strong>für</strong> Synonyme), die Taxonomie (<strong>für</strong> Unter- Oberbegriffe) <strong>und</strong> die Assoziation (<strong>für</strong><br />
verwandte Begriffe).<br />
2
Topic Maps ist ein abstraktes Modell zur Formulierung von Wissensstrukturen. Sie wurden vor<br />
allem entwickelt um eine bessere Navigation <strong>und</strong> Suche in Internetressourcen <strong>und</strong> den Austausch<br />
von Metadaten zu ermöglichen. Zur Veranschaulichung hilft Abbildung 2. Die Themen (Topics)<br />
können Konzepte, Personen, Länder, Organisationen etc. sein. Diese sind miteinander verknüpft<br />
(associations) <strong>und</strong> haben jeweils bestimmte occcurrences, welche die Themen mit bestimmten<br />
Daten im WWW verbinden.<br />
Abb. 2: Topic Maps Konzept, Quelle [3]<br />
Eine Ontologie ist eine explizite Spezifikation einer Konzeptualisierung. Was dies genau bedeutet<br />
werden wir später noch klären.<br />
1.3 Aufbau der Arbeit<br />
Kommen wir kurz zum Aufbau der Arbeit. Zuerst werden wir <strong>Taxonomien</strong> definieren <strong>und</strong> uns ein<br />
paar Beispiele anschauen, um die Bedeutung der <strong>Taxonomien</strong> zu verstehen. Danach wenden wir uns<br />
dem Hauptthema zu <strong>und</strong> untersuchen die <strong>Ontologien</strong>. Dabei werden wir uns eine mögliche<br />
Definition betrachten, sowie ein paar Beispiele. Daraufhin werde ich auf die Beschreibungslogik in<br />
<strong>Ontologien</strong> näher eingehen <strong>und</strong> zeigen wie man <strong>Ontologien</strong> kategorisieren kann. Anschließend<br />
folgen dann die momentan W3C vorgeschlagenen Sprachen zur Modellierung von <strong>Ontologien</strong>. Dort<br />
werden wir auch jeweils ein kleines Beispiel behandeln. Abschließend folgt eine Zusammenfassung<br />
der Arbeit, wo unter anderem auch auf aktuelle Probleme eingegangen wird.<br />
3
2 <strong>Taxonomien</strong><br />
2.1 Definition<br />
Der Begriff Taxonomie stammt nicht aus der <strong>Informatik</strong> <strong>und</strong> wird formal wie folgt definiert. [14]<br />
“Taxonomy is the practice and science of classification. The word finds its roots in the Greek τάξις,<br />
taxis (meaning 'order', 'arrangement') and νόμος, nomos ('law' or 'science').”<br />
Das Wort bedeutet also soviel wie science of classifcation. Wir versuchen also unsere bekannten<br />
Gegenstände der Welt zu klassifizieren. Damit ist die Taxonomie nichts anderes als eine Hierarchie<br />
von Begriffen. Die vermutlich älteste Hierarchie ist der Versuch Flora <strong>und</strong> Fauna zu ordnen.<br />
Allerdings treten hier auch schon die ersten Probleme auf, da man nicht alles eindeutig<br />
klassifizieren kann, zum Beispiel den Lebensraum, der nicht immer eindeutig ist. In der <strong>Informatik</strong><br />
wird der Begriff noch mit zusätzlichen Forderungen beladen. So darf jeder Klasse nur eine<br />
Oberklasse zugeordnet werden, sodass die resultierende Form der Taxonomie einer Baumstruktur<br />
entspricht. Dabei enthalten die Elemente an der Wurzel eher allgemeine Informationen. Zu den<br />
Blättern hin werden die Informationen dann immer spezifischer.<br />
2.2 Beispiele<br />
Ein einfaches Beispiel <strong>für</strong> eine Taxonomie in der <strong>Informatik</strong> wäre die Windows Ordnerstruktur,<br />
aber auch Abbildung 2 zeigt eine Taxonomie. Die dort leicht abgewandelte „Blooms Taxonomy“,<br />
welche in den 50er Jahren entwickelt wurde, beschreibt das Lernverhalten. In unserem Beispiel<br />
beschreibt sie das Lernverhalten mit den Mitteln des Web 2.0. Die Taxonomie besteht aus den 6<br />
Begriffen remembering, <strong>und</strong>erstanding, applying, analysing, evaluating <strong>und</strong> creating. Das Lernen<br />
besteht, laut Bloom, aus diesen Phasen.<br />
Abb. 3: Web 2.0 Blooms Taxonomy, Quelle [1]<br />
4
Zuerst muss man sich das Wissen notieren, heutzutage mit solchen Mitteln wie zum Beispiel<br />
YouTube. Anschließend kann man das Notierte verstehen, indem man zum Beispiel Blogs liest. Da<br />
man nun das Notierte verstanden hat, kann man es auch anwenden indem man selber z.B. Blogs<br />
postet. Erst danach ist man in der Lage mit verschiedenen Rating Systemen andere Arbeiten zu<br />
bewerten. Nachdem man diese Phasen durchlaufen hat, kann man in der Lage sein selber z.B. Wikis<br />
zu erstellen. Bei dieser Taxonomie würde zu jedem Element höchsten ein anderes Element<br />
untergeordnet sein. Eine etwas komplexere Taxonomie wäre zum Beispiel die in Abbildung 4<br />
gezeigte.<br />
Abb. 4: Datentypen von DB2, Quelle [11]<br />
Bei diesem Beispiel erkennt man leichter, dass es eine Hierarchie ist. Wir haben die Wurzel, welche<br />
unsere built in data types, also mitgelieferten Datentypen, darstellt. Diese Datentypen können<br />
external data, dateline,strings oder signed numeric sein. Signed Numeric gliedert sich wiederum<br />
auf in exact <strong>und</strong> approximate <strong>und</strong> so weiter. Schön sieht man hier auch die angesprochene<br />
Baumstruktur.<br />
5
3 <strong>Ontologien</strong><br />
3.1 Definition<br />
Ursprünglich kommt der Begriff Ontologie aus der Philosophie <strong>und</strong> wurde im 17. Jahrh<strong>und</strong>ert<br />
geprägt. Die Definition des Begriffes Ontologie ist wie folgt [14] :<br />
“Ontology (from the Greek ὄν, genitive ὄντος: of being and -λογία: science, study, theory) is the<br />
philosophical study of the nature of being, existence or reality in general, as well as of the basic<br />
categories of being and their relations.”<br />
Was wir daraus entnehmen können, ist dass das Wort Ontologie in der Philosophie soviel bedeutet<br />
wie Lehre des Seins. Da wir uns allerdings mit dem Begriff in der <strong>Informatik</strong> beschäftigen wollen,<br />
folgt nun eine der wohl kürzesten Antworten auf die Frage [8]:<br />
Was ist eine Ontologie in der <strong>Informatik</strong>?<br />
“An ontology is an explicit specification of a conceptualization”<br />
Diese Antwort gab Tom Gruber 1992. Zugegeben kann man erst einmal nicht sehr viel mit dieser<br />
Antwort anfangen. Deshalb sollten wir versuchen diesen Satz zu verstehen indem wir die Begriffe<br />
erklären. Zuerst sollten wir klären was eine Konzeptualisierung ist? Eine Konzeptualisierung ist<br />
eine abstrakte Sicht auf Teile unserer Welt. Eine Spezifikation dagegen ist eine präzise<br />
Beschreibung eines Modells, also unserer Konzeptualisierung. Was bedeutet nun explicit? Explicit<br />
bedeutet „nur“, dass diese Beschreibung eines Modells, mithilfe einer Sprache oder Symbolen<br />
erfolgen muss. Der Satz sagt also, eine Ontologie ist eine präzise Beschreibung einer abstrakten<br />
Sicht auf Teile unserer Welt mittels einer Sprache. Da dies auch noch sehr formal klingt soll an<br />
späterer Stelle eine Beispiel <strong>für</strong> Klarheit sorgen. Allerdings definieren wir vorher noch die<br />
Elemente, welche in solch einer Ontologie vorkommen, um in dem Beispiel damit zu arbeiten.<br />
6
3.2 Elemente<br />
Eine Ontologie besteht aus 5 Elementen [13] :<br />
1. Begriffe:<br />
2. Instanzen:<br />
3. Attribute:<br />
• Abstrakte Ausrücke, welche in <strong>Taxonomien</strong> organisiert sind<br />
• Konkrete Ausprägung von Begriffen<br />
• Relationen unterschiedlichen Typs von vordefinierten Datentypen, welche Begriffe<br />
4. Relationen:<br />
5. Axiome:<br />
3.3 Beispiel<br />
charakterisieren<br />
• Stellen Beziehungen zwischen zwei oder mehreren nicht hierarchischen Begriffen<br />
dar<br />
• Regeln ohne Beweis, die in der Domäne immer gültig sind<br />
Kommen wir nun zu einem Beispiel, um uns das ganze besser vorstellen zu können. In Abbildung<br />
5 haben wir eine Beispiel- Ontologie gegeben. Wir hatten ja bereits gesagt, dass eine Ontologie<br />
einen Wissensbereich (knowledge domain) beschreibt. In unserem Beispiel ist der Teil der Welt<br />
(Konzept) also ein Teil der Kunst. Diesen Wissensbereich, beschreiben wir mit einer<br />
standardisierenden Terminologie sowie Relationen, in unseren Beispiel Künstler erzeugt<br />
Kunstwerk, <strong>und</strong> ggf. Ableitungsregeln, bei uns Bildhauer ist ein Künstler, zwischen den dort<br />
definierten Begriffen, in unserem Beispiel sind die Begriffe Künstler, Kunstwerk etc. . Wie man an<br />
unseren Beispiel sieht, sind die Begriffe in der Regel in Form einer Taxonomie gegeben. Bei uns ist<br />
jeder Bildhauer ein Künstler <strong>und</strong> erbt somit auch die Eigenschaften die der Künstler besitzt, wie<br />
z.B. name, vor-name.<br />
7
Abb. 5: Ontologie Beispiel, Quelle [4]<br />
Nun haben wir fast alle Elemente erklärt <strong>und</strong> Beispiele da<strong>für</strong> gezeigt. Zwei fehlen noch, erstens die<br />
Instanzen <strong>und</strong> zweitens die Axiome. Kommen wir zu den Instanzen. Wie oben beschrieben sind<br />
Instanzen Ausprägungen unserer Begriffe, wie in Abbildung 6 gezeigt. Wir haben also nun konkrete<br />
Maler mit Namen <strong>und</strong> Vornamen wie z.B. den „Pablo Picasso“, der das Bild „Junge mit der Pfeife“<br />
gemalt hat.<br />
Abb. 6: Ontologie Instanz, Quelle [4]<br />
8
3.4 Beschreibungslogik<br />
In einer komplexen Welt möchte man natürlich auch, dass Regeln gelten. Zum Beispiel wäre es<br />
vermutlich wünschenswert, wenn der Künstler ein Mensch sein muss. Genau dieses Wissen wird in<br />
einer Wissensbasis (knowledge Base) gespeichert. Diese können beispielsweise mit protégé erstellt<br />
werden <strong>und</strong> haben folgende Struktur (Abbildung 7). Sie besteht aus einer Tbox <strong>und</strong> einer Abox.<br />
Die Tbox (terminological box) definiert das Vokabular in einem Anwendungsbereich <strong>und</strong> die Abox<br />
(assertional box) trifft spezielle Annahmen über einzelne Objekte, ausgedrückt mit dem<br />
Gr<strong>und</strong>vokabular, dass in der Tbox definiert wurde. Wie man im Beispiel sieht, kann in der Tbox<br />
definiert werden, was zum Beispiel genau ein Mann ist oder was ein glücklicher Vater ist.<br />
Wohingegen ich in der Abox definieren kann, wer ein Glücklicher Vater ist.<br />
Abb. 7: Wissensbasis, Quelle [5]<br />
Ein großer Vorteil der Beschreibungslogiken ist, dass man daraus auch Schlüsse ziehen<br />
(Reasoning) kann, die gar nicht explizit definiert wurden. Dies macht der Reasoner. Fragt man in<br />
unseren Beispiel, ist Mary Mutter? , so wird man die Antwort erhalten Ja, obwohl nirgends definiert<br />
wurde das Mary Mutter ist, aber sehr wohl, dass sie in einer has-child Beziehung ist. Um die<br />
Arbeitsweise des Reasoners besser zu verstehen schauen wir uns noch ein Beispiel an.<br />
Stellen wir uns vor wir haben diese 7 Axiome festgelegt :<br />
9
Was uns nun interessiert ist, gibt es unerfüllbare Konzepte ? Dazu muss man alle Möglichkeiten<br />
durchprobieren, d.h. die verschiedenen Axiome in einander einsetzen. Hier sieht man zum Beispiel<br />
schnell das A1 nicht erfüllbar ist, da ich A2 dort einsetzen kann <strong>und</strong> unter anderem stehen habe A<br />
konjugiert, geschnitten mit A. Dies ist nicht erfüllbar. Aber sind das schon alle? In diesem Fall<br />
nicht, unser Reasoner würde als unerfüllbare Konzepte ausgeben: A1, A3, A6, A7. Wie man an<br />
diesem kleinen Beispiel schon sieht dauert dies sehr lange. Auch der Reasoner braucht da<strong>für</strong> sehr<br />
viel Zeit. Das Schlüsse ziehen liegt in der Komplexitätsklasse NEXP <strong>und</strong> ist somit weit davon<br />
entfernt effizient lösbar zu sein. Aber es gibt noch weitere Probleme mit den Wissensbasen. Ein<br />
Beispiel wäre folgendes, ich formuliere in meiner Tbox alle Vögel sind Tiere, alle Vögel können<br />
fliegen,Pinguine sind Vögel, Pinguine können nicht fliegen. Wie man hier sieht gehört der Pinguin<br />
zu den Vögeln, welche alle fliegen können. Wir haben aber zusätzlich noch definiert das Pinguine<br />
nicht fliegen können. Wir erhalten somit einen Widerspruch <strong>und</strong> eine inkonsistente Tbox, aus<br />
welcher wir nun alles folgern können was wir möchten.<br />
3.5 Kategorisierung<br />
Wir wissen nun was eine Ontologie ist. Allerdings gleicht nicht eine Ontologie der anderen, sondern<br />
man unterscheidet verschiedene Typen. Wir werden zwei Kategorisierungen kennen lernen. Zuerst<br />
die Kategorisierung nach Spezifikationsgrad <strong>und</strong> anschließend die Kategorisierung nach<br />
Allgemeinheitsgrad des repräsentierenden Wissens. Kommen wir erst einmal zur Kategorisierung<br />
nach Spezifikationsgrad.<br />
Abb. 8: Ontologiespektrum, Quelle [7]<br />
10
In Abbildung 8 ist eine solche Kategorisierung zu sehen. Ganz links bis zur Trennlinie befinden sich<br />
die sogenannten light weight ontologies. Danach beginnen die heavy weight ontologies. Die<br />
formale Ausdrucksstärke nimmt nach rechts hin zu. Die „leichteste“ Form einer Ontologie ist das<br />
kontrollierte Vokabular. Hier haben wir nur eine Liste von Begriffen gegeben. Ein Beispiel wäre<br />
eine vorgegebene Liste von Wörtern zur Klassifizierung von Lerninhalten. Die nächst „schwerere“<br />
Form wäre der Glossar. Wie bei dem kontrollierten Vokabular haben wir hier eine vorgegebene<br />
Liste von Begriffen <strong>und</strong> zusätzlich noch eine natürlichsprachig verfasste Beschreibung dazu. Eine<br />
Erweiterung oder Spezialisierung von dem Glossar ist das Thesaurus. Neben den bekannten<br />
Begriffen mit Beschreibung kommen hierbei noch 3 Relationen ins Spiel mit denen man die<br />
Begriffe zueinander in Beziehung setzen kann, das wären die Äquivalenz (<strong>für</strong> Synonyme) , die<br />
Taxonomie (<strong>für</strong> Unter- Oberbegriffe) <strong>und</strong> die Assoziation (<strong>für</strong> verwandte Begriffe). Ein Beipsiel<br />
da<strong>für</strong> wäre der Duden. Die letzte light weight ontology ist die informale IS-A Ontologie. Dies ist<br />
eine explizite Hierarchie von Klassen, welche allerdings die Unterklassenbeziehungen zwischen<br />
den entsprechenden Begriffen nicht konsequent einhält. Ein Beispiel hier<strong>für</strong> wäre Yahoo. Dort gibt<br />
es unter der Rubrik Reisen die Unterrubrik Hotels. Da ein Hotel keine Reise ist, wurde hier die<br />
Unterklassenbeziehung verletzt. Genau dies darf bei der formales IS-A Ontologie nicht passieren.<br />
Diese bilden die erste Stufe der heavy weight ontologies. Bei der formalen IS-A Ontologie laufen<br />
die Bedeutungsstrukturierung nach den formalen Prinzipien von Klassenbildung,<br />
Vererbungshierarchien, logischen Regeln <strong>und</strong> deren Einschränkungen ab, dass heißt zum Beispiel,<br />
wenn wir eine Klasse B haben, welche Unterklasse der Klasse A ist, dann ist jedes Objekt aus B<br />
automatisch Objekt in A. Eine Erweiterung zur formalen IS-A Ontologie ist die formale Instanz.<br />
Diese enthält zusätzlich konkrete Exemplare oder Instanzen. Die nächste Erweiterung in Richtung<br />
des förmlichen Klassenmodells sind die Frames. Auf die anderen hier dargestellten <strong>Ontologien</strong><br />
möchte ich nicht näher eingehen.<br />
Nun kommen wir zur zweiten Klassifikation, der Kategorisierung nach Allgemeinheitsgrad des<br />
repräsentierenden Wissens. Hier unterscheidet man vier Ontologiearten.<br />
Abb. 9: Kategorisierung nach Allgemeinheitsgrad des repräsentierenden Wissens, Quelle [10]<br />
11
Wie in Abbildung 9 dargestellt gibt es top-level ontologies, domain ontologies, task ontologies <strong>und</strong><br />
application ontologies. Die top-level ontologies beschreiben sehr allgemeine Konzepte wie Raum,<br />
Zeit, Materie, Ereignis, Aktion. Diese Konzepte sind völlig unabhängig von einen bestimmten<br />
Problembereich. Ein Beispiel hier<strong>für</strong> wäre CyC. (zu finden unter<br />
http://www.cyc.com/cyc/cyc/technology/whatiscyc_dir/whatdoescycknow) Eine Spezifizierung von<br />
top-level ontologies sind die domain ontologies, welche das Vokabular <strong>für</strong> einen generischen<br />
Problembereich beschreiben, (zum Beispiel der Problembereich Healthcare), indem sie die<br />
Konzepte der Top-level ontology weiter Spezifizieren. Die task ontologies beschreiben das<br />
Vokabular <strong>für</strong> eine generische Aufgabe oder Aktivität (zum Beipsiel das Diagnostizieren), indem<br />
sie,wie auch die domain ontologies, die Konzepte der Top-level ontology weiter spezifizieren. Als<br />
letztes gibt es noch die application ontologies, welche die Definitionen beinhalten, die zum<br />
Modellieren des Wissens <strong>für</strong> eine bestimmte Anwendung notwendig sind. Sie erweitern <strong>und</strong><br />
spezialisieren oft das Vokabular einer Domain oder Task ontology.<br />
3.6. Ontologie Sprachen<br />
Es gibt viele verschiedene Sprachen mit denen man <strong>Ontologien</strong> erzeugen kann. Empfohlen vom<br />
W3C, wird die Benutzung von RDF, RDF-S <strong>und</strong> OWL. Mit diesen Sprachen kann man <strong>Ontologien</strong><br />
erstellen <strong>und</strong> modellieren. Man kann sagen das diese 3 Sprachen aufeinander aufbauen. OWL baut<br />
auf RDF-S auf <strong>und</strong> erweitert die Sprachmächtigkeit enorm, während RDF-S auf RDF aufbaut.<br />
Natürlich braucht man <strong>für</strong> eine Ontologie auch eine Abfragesprache, da wurde 2008 SPARQL vom<br />
W3C als Empfehlung angegeben. Mit dieser Sprache kann man ähnlich wie bei SQL Anfragen<br />
stellen.<br />
3.6.1 RDF<br />
Die Fragen die uns nun beschäftigt ist, wie bringe ich meine Ontologie der Maschine bei bzw.<br />
welche Sprache eignet sich dazu ? Hier hat sich in den letzten Jahren RDF bewährt. RDF steht <strong>für</strong><br />
Resource Description Framework <strong>und</strong> ist eine formale Sprache um Informationen über Ressourcen<br />
<strong>und</strong> deren Beziehungen darzustellen. Mit RDF kann man recht einfache Datenmodelle erstellen,<br />
welche mit XML repräsentiert werden können. RDF wurde im Februar 2004 vom World Wide Web<br />
Consortium als W3C Recommendation verabschiedet <strong>und</strong> gilt als zukünftiger Standard im Semantic<br />
Web. Die Bestandteile eines solchen Datenmodells sind die folgenden drei: Statements, Ressourcen<br />
<strong>und</strong> Eigenschaften. Ein Statement ist dabei immer ein Tripel, welches wie ein Deutscher Satz<br />
12
aufgebaut ist. Wir haben ein Subjekt gefolgt von einem Prädikat, auf das ein Objekt folgt. In RDF<br />
sind Subjekt <strong>und</strong> Objekt jeweils Ressourcen (repräsentiert durch URI`s) <strong>und</strong> das Prädikat ist eine<br />
Eigenschaft. Somit können wir, wie oben erwähnt, Beziehungen zwischen Ressourcen darstellen,<br />
wie zum Beispiel in Abbildung 10.<br />
Abb. 10: RDF Beispiel, Quelle [15]<br />
In dieser Abbildung existieren 3 Statements. Das erste lautet My Home Page, has a title of, "Dave<br />
Beckett's Home page" ,das zweite lautet My Home Page, created by, "Dave Beckett" <strong>und</strong> das dritte<br />
Statement lautet My Home Page, published by, "ILRT...".<br />
Hier das Beispiel aus Abbildung 10 noch als RDF in XML.<br />
#1# <br />
#2# <br />
#3# <br />
#4# Dave Beckett's Home Page<br />
#5# Dave Beckett<br />
#6# ILRT, University of Bristol<br />
#7# <br />
#8# <br />
3.6.2 RDF Schema<br />
Man sieht leicht, dass man mit RDF allein schnell an Grenzen stoßen würde. Nehmen wir zum<br />
Beispiel das Statement von eben, My Home Page, created by, "Dave Beckett". Hier wäre es<br />
vermutlich wünschenswert <strong>und</strong> sinnvoll, wenn die zweite Ressource, welche unserem Objekt<br />
entspricht, immer vom Typ Person sein muss. Dies kann ich allerdings nicht mit RDF darstellen.<br />
Da<strong>für</strong> gibt es RDF-Schema. RDF-S ist ein Vokabular zur Beschreibung der Eigenschaften <strong>und</strong><br />
13
Klassen von RDF Ressourcen, mit einer Semantik <strong>für</strong> verallgemeinernde Hierarchien solcher<br />
Eigenschaften <strong>und</strong> Klassen. Auch RDF-S ist Bestandteil der RDF Recommendation des W3C <strong>und</strong><br />
basiert auf der RDF-Syntax. RDF-S wurde um einige zusätzliche Bezeichner erweitert, um wie<br />
oben schon erwähnt die Grenzen von RDF zu überwinden. Ein neuer Bezeichner wäre zum Beispiel<br />
rdfs:range, mit dem man die Möglichkeit hat anzugeben, welche möglichen Objekte <strong>für</strong> eine<br />
Ressource in Frage kommen. Weitere Bezeichner wären rdfs:type, rdfs:Class, rdfs:Property,<br />
rdfs:subClassOf <strong>und</strong> rdfs:domain. Mit rdfs:type kann man Resourcen als Instanzen einer Klasse<br />
spezifizieren. Rdfs:class bezeichnet die Klassen aller Klassen. Rdfs: Property ist die Klasse aller<br />
Eigenschaften. Rdfs:subClassOf dient zur Definition von Unterklassen <strong>und</strong> Vererbungshierarchien.<br />
Mit Rdfs:domain spezifiziert man Subjekte, also Klassen, die diese Eigenschaft besitzen sollen.<br />
Nun betrachten wir erst einmal noch ein RDF Beispiel, um zu sehen wie RDF <strong>und</strong> RDF-S<br />
zusammenarbeiten.<br />
Ein Beispiel <strong>für</strong> RDF:<br />
#1# <br />
#2# <br />
#3# <br />
#4# <br />
#5# <br />
#6# <br />
#7# <br />
#8# <br />
#9# <br />
14
Der unterschied zu dem obigen Beispiel ist somit also nur die blaue Zeile. Diese ist in RDF-S <strong>und</strong><br />
sagt aus, dass immer wenn eine Ressource die Property father hat, dann hat sie auch automatisch die<br />
Property parent.<br />
3.6.3 OWL<br />
Die Web Ontology Language (OWL) ist ebenfalls eine Recommendation des W3C. OWL basiert<br />
technisch auf der RDF Syntax, geht dabei über die Ausdrucksmächtigkeit von RDF-S weit hinaus.<br />
Zusätzlich zu RDF <strong>und</strong> RDF-Schema werden weitere Sprachkonstrukte eingeführt, die es erlauben,<br />
Ausdrücke ähnlich der Prädikatenlogik zu formulieren. Schauen wir uns am besten gleich ein<br />
Beispiel an.<br />
#1# <br />
#2# <br />
#3# <br />
#4# <br />
#5# <br />
#6# <br />
#7# <br />
#8# <br />
#9# <br />
#10# <br />
#11# <br />
#12# <br />
#13# <br />
#14# <br />
#15# <br />
Betrachten wir dieses Beispiel etwas genauer. In der ersten Zeile wird die Klasse mother definiert.<br />
Zeile 2 sagt, dass die Klasse mother äquivalent zu der Schnittmenge (definiert in Zeile 4) von der<br />
Klasse female (definiert in Zeile 5) <strong>und</strong> der Property hasChild (definiert in Zeile 8) ist. Der Rest ist<br />
<strong>für</strong> unseren Zweck nicht weiter wichtig. Hier sieht man gut, wie nah die Sprache an der<br />
Prädikatenlogik ist <strong>und</strong> wie schön ich dadurch solche Ausdrücke darstellen kann.. Allerdings bin ich<br />
damit nicht ganz so mächtig, wie z.B. mit Prolog, wo ich die Möglichkeit habe Quantoren<br />
darzustellen.<br />
15
4 Zusammenfassung<br />
Momentan befinden sich <strong>Ontologien</strong> noch in der Entwicklung, aber sie sind ein großer Schritt in<br />
Richtung des Semantic Webs. Die möglichen Einsatzgebiete sind breit gefächert. Ein Einsatzgebiet<br />
wären die Wortnetze. Wie zum Beispiel unter http://wordnetweb.princeton.edu/perl/webwn zu<br />
finden. Eine anderes Einsatzgebiet <strong>für</strong> <strong>Ontologien</strong> wäre das Schemamatching bei Datenbanken.<br />
Beim klassischen Versuch würde man direkt ein Schema in ein anderes Schema übersetzen. Der<br />
Nachteil hierbei wäre das man 0(n²) Schritte da<strong>für</strong> benötigt. Eine andere Möglichkeit wäre, dass<br />
man eine gemeinsame Taxonomie von Konzepten (Interlingua) verwendet <strong>und</strong> jedes Schema in die<br />
gemeinsam vereinbarte Interlingua übersetzt. Hierbei wäre der Aufwand deutlich geringer. Man<br />
bräuchte nur noch O(n) Schritte. Ein weiteres Einsatzgebiet wäre die Medizin z.B. in der Form von<br />
HUMAT. Dieses Projekt versucht eine Ontologie <strong>für</strong> Gewebetypen im menschlichen Embryo bis<br />
zum 50. Entwicklungstag (Carnegie Stages 1-20) zu liefern. Man sieht an diesen wenigen<br />
Beispielen schon das die Einsatzbereiche von <strong>Ontologien</strong> breit gefächert sind. Die Vorteile von<br />
<strong>Ontologien</strong> reichen dabei von Wiederverwendung von Wissen, über Austausch von Wissen<br />
zwischen Agenten <strong>und</strong>/oder Menschen, bis hin zu erweiterten Analysen von Informationen. Leider<br />
gibt es aber noch einige Probleme die es zu bewältigen gilt. Wie lassen sich zum Beispiel gut<br />
verwertbare Metadaten <strong>für</strong> große Ressourcenbestände erzeugen <strong>und</strong> konsistent weiterentwickeln?<br />
Weiterhin stellt sich die Frage, können Ressourcen klar <strong>und</strong> eindeutig klassifiziert werden? Dies ist<br />
ähnlich dem Problem, welches am wir am Anfang besprochen hatten, indem es um die Ordnung von<br />
Flora <strong>und</strong> Fauna ging <strong>und</strong> der Lebensraum nicht eindeutig war. Weiterhin kann man sich fragen<br />
macht es denn Sinn nach einer allen <strong>Ontologien</strong> unterliegenden Meta-Ontologie zu suchen ? Ein<br />
Problem ist aber auch zum Beispiel die Übersetzungsproblematik bzw. die kulturellen Unterschiede.<br />
Wir hatten unser RDF Statement Tripel wie unseren Satzbau definiert, Subjekt, Prädikat <strong>und</strong><br />
Objekt. Allerdings ist der Satz nicht in allen Sprachen so aufgebaut. Wir sehen also es gibt noch<br />
einige Probleme um wirklich eine gemeinsame Sprache zu entwickeln, aber wir sind auf einem<br />
guten Weg auch dies zu meistern.<br />
16
Literatur<br />
[1] Weblink, letzter Zugriff : 15.7.09<br />
http://lonewolflibrarian.wordpress.com/2009/06/<br />
[2] Weblink „Hintergr<strong>und</strong>wissen: Vom Glossar zur Ontologie”, letzter Zugriff : 15.7.09<br />
http://wissensexploration.de/textmining-hintergr<strong>und</strong>wissen.php<br />
[3] Paper, Anno 2004, Autor: Adi Bekier, Titel: „Einführung in Topic Maps“<br />
http://www.dbis.informatik.unifrankfurt.de/~tolle/RDF/DBISResources/Sem_SS2004/EinfuehrunginTopicMaps_Ausarbeitung_fin<br />
al.pdf<br />
[4] Paper, Anno 2007, Autor: Florian Leitner, Titel: „Ontology Languages for the Semantic Web”<br />
http://www.inf.uni-konstanz.de/dbis/teaching/ws0708/web/talks/presentation-florian-leitner.pdf<br />
[5] Paper, Anno 2005, Autor: Ian Horrocks, Titel: „Description Logic Reasoning”<br />
http://www.kde.cs.uni-kassel.de/conf/iccs05/horrocks_iccs05.pdf<br />
[7] Vorlesungsscript, Anno 2006, Autor: Timo Borst, Titel: „<strong>Ontologien</strong> zur semantischen<br />
Auszeichnung digitaler Lernmaterialien“<br />
http://www.fernunihagen.de/imperia/md/content/fakultaetfuermathematik<strong>und</strong>informatik/forschung/berichteetit/forschu<br />
ngsbericht_3_2006.pdf<br />
[8] Paper, Anno 1992, Autor: Tom Gruber, Titel: „What is an Ontology?”<br />
http://www-ksl.stanford.edu/kst/what-is-an-ontology.html<br />
[9] Diplomarbeit, Anno 2009, Autor: Christoph Hartleib, Titel :„Untersuchung der Einbindung eines<br />
E-Commerce-Systems im Semantic Web am Beispiel von Intershop Ennity”<br />
[10] Slices, Anno 2006, Autor: Heiko Peter , Titel: „<strong>Ontologien</strong>”<br />
http://www.db-thueringen.de/servlets/DerivateServlet/Derivate-8090/OntoBeamer.pdf<br />
[11] Weblink „IBM”, letzter Zugriff : 15.7.09<br />
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0602tham2/<br />
[12] Slices, Anno 2007, Autor: Maik Hünefeld,Christian Kux, Martin Peters , Titel: „<strong>Ontologien</strong><br />
Eine Einführung”<br />
http://www.zlw-ima.rwthaachen.de/lehre/vorlesungen_uebungen/kommunikation_<strong>und</strong>_orga2/download/Einfuehrung%20in<br />
%20<strong>Ontologien</strong>.pdf<br />
[13] Paper, Anno 2007, Autor: Niko Kwekkeboom, Titel: „Agenten im Semantic Web”<br />
http://cs.uni-muenster.de/u/lammers/EDU/ss07/AgentenSemanticWeb/Abgaben/Niko<br />
%20Kwekkeboom%20-%20Ausarbeitung%20-%20<strong>Ontologien</strong>%20im%20Semantic%20Web.pdf<br />
[14] Weblink „Wikipedia“, letzter Zugriff : 15.7.09<br />
http://www.wikipedia.org<br />
17
[15] Weblink „Semantic Web”, letzter Zugriff : 16.7.09<br />
http://www.dajobe.org/talks/sw-vienna/slide15.html<br />
18