Was ist eigentlich eine Ontologie? Eine Erklärung

July 11, 2021
9 min
Semantic Web
Credits to LDT EHU from pixabay.com

Im Semantic Web geht es immer darum, wie semantische Inhalte von Maschinen und Programmen verstanden und interpretiert werden können. Dies ist insbesondere bei Suchanfragen im Internet wichtig. Man möchte schließlich immer passende Informationen oder Antworten auf seine Fragen finden. Doch auch in anderen Anwendungsfeldern wird es immer wichtiger, bestimmte Informationen von Maschinen automatisiert auslesen zu lassen, beispielsweise im IoT-Bereich. Die meisten Informationen im Internet und im technischen Bereich liegen für den Menschen lesbar in Schrift vor. Doch anders als Menschen können sich Maschinen und Programme aus Texten nicht direkt herleiten, um was es eigentlich geht. Menschen haben mit der Zeit gelernt, welche Zusammenhänge es zwischen Gegenständen oder Aktionen gibt, wie zum Beispiel, dass eine Lampe Licht erzeugt und man sie mit einem Schalter anschaltet und dass Licht auch durch ein Feuer erzeugt werden kann, doch dies nicht unbedingt zu empfehlen ist im Wohnzimmer. Eine Lösung, Maschinen diese Form von Wissen beizubringen, sind Ontologien, in denen Beziehungen zwischen Gegenständen oder Aktionen für Maschinen lesbar formuliert und abgebildet werden. Wie das funktioniert, beschreiben wir in diesem Artikel.

Der Begriff Ontologie

Der Begriff Ontologie ist den meisten Menschen wahrscheinlich nicht bekannt. Es handelt sich dabei wörtlich übersetzt um die Lehre des Seienden [1]. Und aus philosophischer Sicht geht es beim Sein letztlich um einen Gegenstand und seine Einordnung in ein System von weiteren Gegenständen und die Zusammenhänge zwischen ihnen. Die Lehre des Seienden beschäftigt sich also mit der Klassifikation von Dingen, die Einteilung in Kategorien und die Beschreibung von Dingen und ihren Relationen [2]. Aus der Klassifikation, Kategorisierung und Beschreibung von Relationen entsteht unmittelbar Wissen, das abstrakt durch das Prinzip der Ontologie beschrieben wird. Diese Eigenschaft von Ontologien wurde sich ab dem 18. Jahrhundert zu eigen gemacht, zum Beispiel in Naturwissenschaften wie der Biologie oder der Chemie, indem man Tierarten oder chemische Stoffe durch bestimmte Beschreibungen klassifizierte [3, 4].

Auch früher wurden schon Wissensbasen in Form von Ontologien geschaffen

Heutzutage hat man das Prinzip der Wissensformulierung auf Basis von Ontologien für die Informatik entdeckt. Dabei geht es um darum, das formulierte Wissen durch die definierten Aussagen so darzustellen, dass Maschinen dies interpretieren können. Bestimmte Use-Cases, wie Ontologien im Semantic Web genutzt werden können, findet ihr in den vorherigen Artikeln in diesem Themenbereich oder hier.

Semantische Tripel - die Grundlage für Ontologien

Ontologien in der Informatik und im Internet basieren auf dem Prinzip von semantischen Tripeln. Das heißt, dass man Zusammenhänge zwischen Entitäten (informatischer Begriff für eindeutig zu bestimmende Objekte [5]) beschreibt und dadurch Aussagen explizit formuliert und Wissen generiert. Das Prinzip semantischer Tripel wurde schon in diesem Artikel eingeführt. In diesem Artikel wurde die Implementierung semantischer Tripel in der IT durch das Resource Description Framework (RDF) beschrieben. Dort haben wir auch ein angewandtes Beispiel für die Nutzung einer Ontologie im Semantic Web beschrieben.

Sprachen für Ontologien

Durch das Prinzip semantischer Tripel können Ontologien aufgebaut werden. Da aber in der Regel jeder Ersteller von Ontologien andere Begriffe nutzen würde, um Sachverhalte zu beschreiben, wurden vom W3C, der Organisation für Standardisierungen im Internet, Standards für die Formulierung von Tripeln und damit zur RDF-Realisierung definiert. Die wichtigsten Standardsprachen sind (die gleichnamige) RDF, RDFS, OWL und XSD. Diese vier Ontologien werden in den meisten Ontologien verwendet, um Beziehungen und Klassen zu beschreiben. Dafür werden sie in die Ontologien importiert.

RDF

Die Ontologien RDF und RDFS sind die Basisontologien für beinahe alle Ontologien. Sie bauen zudem gegenseitig aufeinander auf. In RDF werden dabei die grundlegendsten Beziehungen zwischen zwei Entitäten beschrieben. Es wird dabei das gleichnamige Konzept RDF (Subjekt-Prädikat-Objekt) in der Ontologie abgebildet. Wichtigster Bestandteil der Ontologie ist dabei rdf:type, durch den definiert wird, dass das Subjekt eine Instanz des Objekts ist. Weiteres wichtiges Element ist Property, durch das definiert werden kann, dass es sich bei einer Entität um ein beschreibendes Element handelt, z.B. rdf:type. Zudem können Attribute hinzugefügt werden, die beispielsweise die Sprache (z.B. Deutsch) eines definierten Inhalts beschreiben [6, 7].

RDFS

Die Ontologie RDF Schema (RDFS) ergänzt die Ontologie RDF um Möglichkeiten, neben Instanzbeschreibungen auch Beziehungen zwischen Klassen näher zu definieren. Es werden zusätzlich zu Properties (siehe RDF) Klassen eingeführt (rdfs:Class). Eine weiteres wichtiges Property ist rdfs:subClassOf, also zum Beispiel die Aussage, dass die Klassen Hund und Delfin Unterklassen der Klasse Säugetiere sind [8, 9]. Durch die Verwendung von RDF und RDFS können umfangreiche Ontologien aufgebaut werden.

OWL

Die Web Ontology Language (OWL) baut auf den Ontologien RDF und RDFS auf und ist eine Formalisierungssprache, die für umfangreiche Wissensbasen verwendet wird. Im Gegensatz zu RDF und RDFS bietet OWL die Möglichkeit, komplizierte Beziehungen auszudrücken, z.B. dass verschiedene Klassen oder Properties miteinander äquivalent oder disjunkt sind oder dass die Summe verschiedener Klassen eine zusätzliche Klasse bildet. Durch umfangreiches, explizit ausgedrücktes Wissen in OWL-Ontologien kann noch mehr Informationsgehalt implizit geschlussfolgert werden, weswegen OWL in Kombination mit RDF und RDFS die Grundlage der meisten Ontologien liefern [10, 11].

XSD

Die XML Schema Definition Language (XSD) wurde entwickelt, um die Inhalte von XML-Dokumenten zu beschreiben. Sie wird hauptsächlich dafür verwendet, Daten wie Integers, Strings oder Booleans innerhalb von Ontologien zu beschreiben [12]. Sie wird ebenso wie die anderen beiden Ontologien in den meisten Ontologien importiert bzw. referenziert.

Syntax für Ontologien

Wie alle anderen maschinenlesbaren Sprachen muss auch die Notation von Ontologien einer bestimmten Syntax folgen. Es gibt eine Reihe von Syntaxen, um semantische Tripel und damit Ontologien zu formulieren. XML als universale Markup-Sprache kann dafür genutzt werden, Ontologien können auch in JSON-LD formuliert werden. Ich bevorzuge die Syntax Turtle, die eigens für die Formulierung von Tripeln geschaffen wurde und sehr verbreitet ist, da sie gut für Menschen zu lesen ist. Im folgenden Bild ist die Property subClassOf der Ontologie RDFS in Turtle abgebildet. Grundsätzlich werden die Ontologien, in denen die entsprechenden Entitäten beschrieben werden, vor einem Doppelpunkt genannt, z.B. rdfs:subClassOf oder rdf:Property. In der ersten Zeile wird dann beschrieben, um was es sich bei der Entität handelt, in den weiteren Zeilen können beliebig viele Informationen genannt werden, um die Entität genauer zu beschreiben. Die Prädikate der Beschreibungen müssen dabei auch in Ontologien beschrieben werden, jedenfalls können sie auch aus anderen Ontologien stammen. Die Objekte können aus Ontologien stammen, müssen es aber nicht. Es kann sich dabei auch wie in der Abbildung um Strings oder URLs handeln.

Ausschnitt aus der Ontologie RDFS

In diesem Beispiel wird genannt, dass die Entität subClassOf durch die Ontologie RDFS beschrieben ist und das Label „subClassOf“ ist. Unter comment wird eine genauere Beschreibung der Entität gegeben. Durch die range und die domain wird festgelegt, auf was das Property anwendbar ist, in diesem Fall jeweils auf alle möglichen Klassen.

Beispielontologie

Grau ist alle Theorie... Lasst uns einfach eine Ontologie angucken und sehen, wie sie aussieht. Unter diesem Link haben wir eine Ontologie hochgeladen, die ihr euch im Browser angucken könnt. Sie formalisiert dabei folgende Informationen:

Eine kleine Ontologie zur Klassifizierung von Tieren

Recherchiert gerne durch die Ontologie, hier haben wir sie auch noch in einer XML-Syntax hochgeladen, damit ihr die beiden Syntaxen auch vergleichen könnt. Schreibt uns gern in die Kommentare, wenn ihr noch eine Frage habt, etwas unklar ist oder wir einen Fehler gemacht haben.

Referenzen
Portrait of Blogger
Nicolai Maisch
<  Previous
Wie bringt man Semantik auf eine Website? Eine Einführung in JSON-LD, RDFa und Microdata
Next  >
Corona-Pandemie und Ontologien – Wie passt das zusammen?

Kommentare