29.10.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!