OWL 101
Introduction
OWL (or Web Ontology Language) is the ontology (think „schema“) language of the Semantic Web. It is one of the core Semantic Web standards you must be familiar with, along with RDF and SPARQL.
Its two primary uses are:
- Fast and flexible data modeling
- Efficient automated reasoning
This lesson gives a high level introduction to OWL and is suitable for beginners. A more detailed nuts & bolts lesson on creating your first ontology will come next.
Objectives
After completing this lesson, you will know:
- The four main kinds of modern computing languages, und welche Art OWL ist
- Drei Vorteile von OWL gegenüber anderen Sprachen dieser Art
- Ein paar der Werkzeuge, die für die Erstellung von Ontologien mit OWL zur Verfügung stehen
Voraussetzungen
- RDF 101
- Einführung in RDFS
Heutige Lektion
Vier Haupttypen von Computersprachen sind heute in Gebrauch.
- Imperative Sprachen, wie C/C++, Java, Javascript, Lisp und Perl. Diese Sprachen sind so konzipiert, dass man auf einfache Weise eine Folge von Anweisungen geben kann, die dem Computer sagen, wie er etwas tun soll. Diese Sprachen können beispielsweise verwendet werden, um einem Computer mitzuteilen, wie die 100. Stelle von PI zu berechnen ist, wie ein Monster auf dem Bildschirm zu zeichnen ist oder wie eine Online-Buchbestellung zu bearbeiten ist.
- Abfragesprachen wie SQL und XQuery. Diese Sprachen setzen das Vorhandensein einer Datenbank voraus und werden einfach verwendet, um eine bestimmte Information abzufragen.
- Datensprachen wie XML, HTML und JSON. Diese Sprachen tun nichts, und sie fragen auch nichts ab. Sie sind einfach ein Standardformat für die Übermittlung von Daten von einer Maschine oder Person zu einer anderen.
- Modellierungssprachen wie XSD, UML und (in gewisser Weise) SQL. Diese Sprachen tun nicht notwendigerweise irgendetwas oder fragen nach irgendetwas, und sie übermitteln keine tatsächlichen Daten. Vielmehr sagen sie etwas über Daten aus.
OWL fällt in die letzte Kategorie – es ist eine Modellierungssprache.
Obwohl OWL eine Modellierungssprache im klassischen Sinne ist, hat sie viele Vorteile im Vergleich zu den Modellierungssprachen, die vor ihr kamen.
Vorteil 1: OWL ist ausdrucksstark
Legacy-Sprachen wie XSD, UML und SQL reichen aus, um eine Anzahl von Klassen und Eigenschaften aufzulisten und einfache hierarchische Beziehungen aufzubauen. SQL erlaubt es beispielsweise, für jede Klasse eine neue Tabelle zu erstellen, für jede Eigenschaft eine neue Spalte hinzuzufügen und einige grundlegende Beziehungen mit Hilfe von Fremdschlüsseln zu spezifizieren.
Doch SQL erlaubt es nicht ohne weiteres, Unterklassenbeziehungen darzustellen (z.B. „alle elektronischen Buchaufträge sind eine Art von Finanztransaktion“).
Ausdrucksstärkere Sprachen wie UML machen statische Unterklassen einfach, aber auch sie können dynamische Beziehungen nicht ohne weiteres darstellen (z.B., „Alle Finanztransaktionen von weniger als 1000 Dollar sind steuerfreie Transaktionen“).
Eine der Besonderheiten von OWL ist, dass sie verwendet werden kann, um extrem komplizierte und subtile Ideen über Ihre Daten auszudrücken.
Vorteil 2: OWL ist flexibel
Gegenwärtig sind die meisten Technologien, die Datenmodellierungssprachen verwenden, mit einer starren „Erstelle das Modell, dann verwende das Modell“-Mentalität konzipiert.
Angenommen, Sie wollen eine Eigenschaft in einer relationalen Datenbank ändern. Sie waren bisher der Meinung, dass die Eigenschaft einwertig ist, aber jetzt muss sie mehrwertig sein. Bei fast allen modernen relationalen Datenbanken würde diese Änderung erfordern, dass Sie die gesamte Spalte für diese Eigenschaft löschen und dann eine völlig neue Tabelle erstellen, die alle diese Eigenschaftswerte sowie einen Fremdschlüsselverweis enthält.
Das ist nicht nur ein großer Aufwand, sondern macht auch alle Indizes ungültig, die sich auf die ursprüngliche Tabelle beziehen. Außerdem werden alle damit verbundenen Abfragen, die Ihre Benutzer geschrieben haben, ungültig. Kurz gesagt, diese eine Änderung kann sehr schwierig und kompliziert sein. Oft sind solche Änderungen so lästig, dass sie einfach nicht vorgenommen werden.
Im Gegensatz dazu sind alle Datenmodellierungsanweisungen (wie auch alles andere) in OWL RDF-Tripel und sind daher von Natur aus inkrementell. Die nachträgliche Verbesserung oder Änderung eines Datenmodells kann einfach durch Änderung des entsprechenden Tripels erfolgen. Die meisten OWL-basierten Technologien machen sich die Flexibilität von OWL zunutze, indem sie solche einfachen Änderungen unterstützen.
Vorteil 3: OWL ist effizient
OWL ermöglicht es Ihnen, Ihr Datenmodell zu verwenden, um viele verschiedene Arten von Schlussfolgerungen zu unterstützen. Diese mächtige Fähigkeit, Datenschlussfolgerungen zu unterstützen, erlaubt es Entwicklern, die explizit gespeicherten Daten zu minimieren und die Komplexität der Abfragen, die zum Abrufen dieser Daten benötigt werden, zu minimieren.
Allerdings können auf den heutigen Computern bestimmte Arten von Schlussfolgerungen viel schneller ausgeführt werden als andere Arten von Schlussfolgerungen. OWL wird daher mit einer Reihe von eingebauten „Profilen“ geliefert, die es erlauben, die Arten von Schlussfolgerungen, die man machen möchte, gegen die eigenen Leistungsziele abzuwägen.
OWL Tools
Es gibt mittlerweile viele Softwarepakete, um Ontologien mit OWL zu erstellen.
- Stanford University’s Protégé, ein freier, quelloffener Ontologie-Editor
- TopBraid Composer von TopQuadrant
- Jeder beliebige Texteditor, den man herumliegen hat
Im Gegensatz zu einigen anderen Sprachen, die immer gleich aussehen, kann OWL tatsächlich auf viele verschiedene Arten „niedergeschrieben“ werden. OWL kann – wie alle RDF-Sprachen – sowohl in einem kanonischen OWL/XML-Format als auch in einem RDF/XML-Format ausgedrückt werden. Es kann auch in besser lesbaren Formaten wie TRIG, Manchester, Turtle und Functional-Style ausgedrückt werden.
Details zu den OWL-Syntaxstandards sowie einige Beispiele für den dynamischen Wechsel zwischen verschiedenen Syntaxen finden Sie auf der W3C-Website.
Abschluss
OWLs Ausdruckskraft, Flexibilität und Effizienz machen es zu einer idealen Modellierungssprache für die Erstellung von Web-Ontologien, die außergewöhnlich komplexe und verfeinerte Ideen über Daten darstellen. In der nächsten Lektion, RDFS vs. OWL, werden wir RDFS und OWL vergleichen und diskutieren, wann man die eine und wann die andere verwenden sollte.