Ontologie

Die Ontologie ist die Wissenschaft vom Sein und damit ein Teilgebiet der Philosophie. In der Informationstechnik bezeichnet man mit einer Ontologie ein objektorientiertes Datenmodell mit besonderen Eigenschaften:

• Allgemeinheitsanspruch - im Gegensatz zu gewöhnlichen Datenmodellen, die für spezielle Projekte oder Zwecke entworfen sind, wird bei einer Ontologie gefordert, dass sie allgemeingültig ist,
• Mehrfache Vererbung (Multiple Inheritance) - eine Klasse kann mehrere Superklassen haben,
• Mehrfache Klassifizierung (Multiple Classification) - ein Objekt kann Instanz mehrerer Klassen sein,
• Methoden werden nicht spezifiziert - betrachtet werden Klassen, Assoziationen (siehe Assoziation), Objekte und Attribute, eine Ontologie dient primär der Wissensrepräsentation,
• Einschränkungen (Constraints) - Einschränkungen, z.B. für erlaubte Attributwerte oder die Vererbungsstruktur zwischen den Klassen, können in einer ausdrucksstarken formalen Sprache (siehe formale Sprache) dokumentiert werden.


Aufgrund ihres Allgemeinheitsanspruchs können Ontologien beispielsweise als integrationsfördernde Referenzsysteme genutzt werden, wenn die Kommunikation zwischen unterschiedlichen Informationssystemen hergestellt werden soll. Eine weitere Anwendung besteht in der projektübergreifenden Archivierung von Datenmodellen zum Zweck der Wiederverwendung. Die bekannteste Anwendung von Ontologien ist das Semantic Web, einer Initiative mit dem Ziel, die heute im wesentlichen für menschliche Leser bestimmten Seiten des World Wide Web um eine maschinell auswertbare Semantik zu erweitern.

Für Ontologien gibt es ein auf XML basierendes Dokumentenformat namens OWL.


Beispiel

Eine als HTML und OWL exportierte Ontologie findet sich unter http://www.qrst.de/ontology/

Diese Ontologie verwendet Klassen, Constraints und zwei Assoziationen zwischen Klassen (subClassOf und disjointWith) als Ausdrucksmittel:

• Als Constraints werden in Lisp formulierte Prädikate verwendet. Constraints dienen dazu, die möglichen Werte von Attributen in Instanzen von Klassen einzuschränken.
• Zwischen Klassen kann die subClassOf-Assoziation verwendet werden, um eine Klassenhierarchie mit multipler Vererbung festzulegen. Constraints vererben sich von den Superklassen zu den Subklassen.
• Die disjointWith-Assoziation erlaubt es auszudrücken, dass Klassen keine gemeinsamen Subklassen und Instanzen haben können.


Da diese Ontologie zur Validierung von XML Dokumenten eingesetzt werden soll (als Alternative zu XML Schemata), wird nicht die Open World Assumption (wie bei OWL-basierten Ontologien), sondern die Closed World Assumption verwendet. Die Validierung eines Dokuments besteht aus mehreren Schritten: Zunächst wird das Dokument (wenn nötig) in einzelne Datensätze zerlegt. Für jeden Datensatz wird die passende Klasse in der Ontologie identifiziert. Die Constraints der Klasse und ihrer Superklassen werden dann verwendet, um die Name-Wert-Paare des Datensatzes zu prüfen.


Quellen

Semantic Web http://www.sciam.com/print_version.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21
OWL Referenz http://www.w3.org/TR/owl-ref/
OWL Validator http://owl.bbn.com/validator/#www