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