3.2.1. Definition

„Die Ontologie (griechisch ὄν, on, „seiend“, als Partizip Präsens zu εἶναι, einai, „sein“, und λόγος, logos, „Lehre, Wort“) ist eine Disziplin der theoretischen Philosophie. Die Ontologie befasst sich mit einer Einteilung des Seienden und den Grundstrukturen der Wirklichkeit und der Möglichkeit. […] Dabei wird etwa eine Systematik grundlegender Typen von Entitäten (konkrete und abstrakte Gegenstände, Eigenschaften, Sachverhalte, Ereignisse, Prozesse) und ihrer strukturellen Beziehungen diskutiert. […] In der Informatik werden seit den 1990er Jahren formale Repräsentationssysteme, angelehnt an den philosophischen Begriff, als „Ontologien“ bezeichnet.“ (Quelle: https://de.wikipedia.org/wiki/Ontologie)

„Ontologien in der Informatik sind meist sprachlich gefasste und formal geordnete Darstellungen einer Menge von Begrifflichkeiten und der zwischen ihnen bestehenden Beziehungen in einem bestimmten Gegenstandsbereich. Sie werden dazu genutzt, „Wissen“ in digitalisierter und formaler Form zwischen Anwendungsprogrammen und Diensten auszutauschen. Wissen umfasst dabei sowohl Allgemeinwissen als auch Wissen über sehr spezielle Themengebiete und Vorgänge.

Ontologien enthalten Inferenz- und Integritätsregeln, also Regeln zu Schlussfolgerungen und zur Gewährleistung ihrer Gültigkeit. Ontologien haben mit der Idee des semantischen Webs in den letzten Jahren einen Aufschwung erfahren und sind damit Teil der Wissensrepräsentation im Teilgebiet Künstliche Intelligenz. Im Unterschied zu einer Taxonomie, die nur eine hierarchische Untergliederung bildet, stellt eine Ontologie ein Netzwerk von Informationen mit logischen Relationen dar.“ (Quelle: https://de.wikipedia.org/wiki/Ontologie (Informatik))

Zweck:

Einheitliches Vokabular, Lingua Franca, gemeinsame Sprache, auffindbare Daten, Vernetzung verschiedener, zueinander eigentlich unpassender Bereiche etc.

Beispiele:

Die Pizza-Ontologie der University of Manchester, die für die Tutorials zu Protégé – einem Editor zum Anzeigen, Erstellen und Verändern von Ontologien – zum Einsatz kommt.

http://owl.cs.manchester.ac.uk/publications/talks-and-tutorials/protg-owl-tutorial/

Hier ist die Pizza-Domäne modelliert: Eine Pizza besteht aus einem Teigboden und aus ein oder mehreren Belägen. Solche Gegebenheiten lassen sich mit dreiteiligen Aussagesätzen – mittels der sogenannten Triple-Struktur – darstellen. Ein Triple ist wie ein kurzer Satz, der einen Sachverhalt beschreibt. Man nennt die drei Teile eines Triples auch Subjekt, Prädikat und Objekt, man kann sie sich aber auch als einen Identifikator der zu beschreibenden Sache (resource identifier), einen Eigenschaftsnamen (property name) sowie einen Wert dieser Eigenschaft (property value) vorstellen:

Subjekt (Identifikator) Prädikat (Eigenschaftsname) Objekt (Eigenschaftswert)
KäsePizza hatBelag KäseBelag
KäsePizza hatBoden PizzaBoden
Margarita hatBelag Tomate

 

Im Editor Protégé kann man sich die Entitäten bzw. Klassen der Ontologie unter dem Reiter OWL Classes anzeigen lassen. Die Relationen oder Eigenschaften werden in Protégé Properties genannt, sie befinden sich daher unter dem gleichnamigen Reiter.

Die Klassen der Pizza-Ontologie sind hierarchisch aufgebaut und werden in Protégé wie folgt dargestellt:

Es gibt die beiden Superklassen DomainConcept und ValuePartition, denen alle anderen Klassen untergeordnet sind und von dennen alle anderen Properties erben. Während ValuePartition nur eine Subklasse - Spiciness - enthält, die die Schärfegrade Hot, Medium und Mild umfasst, wird die Superklasse DomainConcept in die Subklassen Country und Food unterteilt. Die Klasse Food wiederum lässt sich in die Subklassen IceCream, Pizza, PizzaBase und PizzaTopping gliedern. Die Klasse Pizza umfasst als Subklasse alle möglichen Arten von Pizza, wie CheeseyPizza oder VegetarianPizza, und wird von den Properties hasTopping, hasBase, hasIngredient und isIngredientOf genauer bestimmt. Auf Ebene der Pizza-Klasse lassen sich beispielsweise Aussagen machen wie "Pizza hasTopping PizzaTopping". Da die Klasse Pizza Superklasse z.B. von CheeseyPizza ist, erbt CheeseyPizza alle Properties von Pizza, d.h. man kann ebenfalls mittels dieser Properties Aussagen über die Klasse CheeseyPizza machen, wie etwa "CheeseyPizza has Topping CheeseTopping".