Web Ontology Language

formale Beschreibungssprache, um Ontologien zu beschreiben

Die Web Ontology Language (kurz OWL – zum Akronym OWL statt WOL siehe weiter unten) ist eine Spezifikation des World Wide Web Consortiums (W3C), um Ontologien anhand einer formalen Beschreibungssprache erstellen, publizieren und verteilen zu können. Es geht darum, Termini einer Domäne und deren Beziehungen formal so zu beschreiben, dass auch Software (z. B. Agenten) die Bedeutung verarbeiten („verstehen“) kann. OWL ist somit ein wesentlicher Bestandteil der Semantic-Web-Initiative von Tim Berners-Lee. OWL basiert technisch auf der RDF-Syntax und historisch auf DAML+OIL und geht dabei über die Ausdrucksmächtigkeit von RDF-Schema weit hinaus. Zusätzlich zu RDF und RDF-Schema werden weitere Sprachkonstrukte eingeführt, die es erlauben, Ausdrücke ähnlich der Prädikatenlogik zu formulieren.

Abkürzung

Bearbeiten

Das Akronym für Web Ontology Language hätte eigentlich WOL, nicht OWL sein müssen. Über den Ursprung des Buchstabenverdrehers findet man Antwort in den Archiven des W3C. Der Name OWL ist offensichtlich von Tim Finin auf einer Mailingliste vorgeschlagen worden.[1] Die von ihm ursprünglich genannten Gründe sind wie folgt:

  • Es ist klar, wie OWL auszusprechen ist (nämlich wie das englische Wort für Eule).
  • Das Akronym eignet sich hervorragend zur Erstellung von Logos.
  • Eulen werden mit Weisheit assoziiert.
  • Es gibt eine interessante Hintergrundgeschichte.

Die genannte Hintergrundgeschichte betrifft ein Projekt von William A. Martin am MIT aus den 1970er Jahren mit dem Namen One World Language, einem frühen Versuch der Entwicklung einer universellen Sprache für die Wissensrepräsentation. Der Buchstabenverdreher ist hingegen keine Anspielung auf die literarische Figur der Eule aus Milnes Pu der Bär, die als einziges Tier im Wald ihren Namen schreiben kann – allerdings mit einem Buchstabendreher, im englischen Original WOL statt OWL.[2]

Sprachebenen: Lite, DL und Full

Bearbeiten

Es gibt OWL in drei verschiedenen Versionen. Dazu wurden die Sprachebenen OWL Lite, OWL DL und OWL Full definiert. Für den Einsatz von OWL Lite/DL wurden Einschränkungen definiert, welche die Entwicklung von Tools erleichtern bzw. vollständige Inferenz ermöglichen sollen.

OWL Lite

Bearbeiten

Die „Light-Version“ wurde mit dem Ziel geschaffen, eine einfach zu implementierende Untermenge der Sprache zu schaffen. Sie dient vor allem zum Erschaffen einfacher Taxonomien und leicht axiomatisierter Ontologien. Dabei sind verschiedene Sprachkonstrukte aus OWL DL nicht vorhanden.

Dies ist die Ebene, deren Semantik noch am ehesten an DAML+OIL heranreicht. DL steht für die Beschreibungslogik (description logic)  , welche zu einer entscheidbaren Untermenge der Prädikatenlogik erster Stufe äquivalent ist. Um die Abbildbarkeit auf diese Logik zu gewährleisten, wurden diverse Einschränkungen für den Einsatz von RDFS-Konstrukten eingefügt, zum Beispiel darf eine Klasse nicht Instanz einer anderen Klasse sein.

OWL Full

Bearbeiten

OWL Full besteht aus denselben Sprachkonstrukten wie OWL DL, verzichtet aber auf die dort vorhandenen Einschränkungen. Dadurch sind die Ontologien unentscheidbar, können dafür aber prädikatenlogische Ausdrücke höheren Grades ermöglichen.

Sprachkonstrukte

Bearbeiten

Die Spezifikation erweitert die Bedeutung von RDF und RDF-Schema um weitere Konstrukte, um die Ausdrucksmächtigkeit zu steigern (oder teilweise auch einzuschränken, um Entscheidbarkeit zu erreichen).

Das Ziehen von logischen Schlussfolgerungen basiert in OWL allgemein auf dem Konzept der sogenannten Open World Assumption – kurz OWA. Die Open World Assumption (Offene-Welt-Annahme) bedeutet, dass ein Reasoner annimmt, dass etwas existiert, solange nicht explizit definiert wurde, dass es nicht existiert. Allgemein ausgedrückt gilt: Solange etwas nicht als zutreffend ausgesagt wurde, nimmt ein Reasoner nicht an, dass es unzutreffend ist. Es wird lediglich angenommen, dass das Wissen noch nicht zur Wissensbasis hinzugefügt wurde.

OWL unterscheidet Klassen, Eigenschaften (properties) und Instanzen. Klassen stehen für Begriffe (auch Konzepte; engl. concepts). Sie können Eigenschaften besitzen. Instanzen sind Individuen einer oder mehrerer Klassen.

Klassen betreffend

Bearbeiten

Properties betreffend

Bearbeiten

Instanzen betreffend

Bearbeiten
  • <owl:sameAs>

Beispiel

Bearbeiten

Das Beispiel beschreibt die Begriffe <Person>, <Gender> und <Woman>. Eine Frau ist definiert als eine <Person> mit dem Wert <female> im Property <gender>, das der Klasse <Gender> angehören muss. Die Instanz <STilgner> ist somit als <Person> beschrieben eine Frau (<Woman>). Mittels Inferenz kann diese Zugehörigkeit ermittelt werden.

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:owl="http://www.w3.org/2002/07/owl#"
  xmlns="http://localhost:8080/OWLBuergerInformation.owl#"
  xml:base="http://localhost:8080/OWLBuergerInformation.owl">

  <owl:Ontology rdf:about=""/>

  <owl:Class rdf:ID="Gender"/>
  <owl:Class rdf:ID="Person"/>
  <owl:Class rdf:ID="Woman">
    <rdfs:subClassOf rdf:resource="#Person"/>
    <owl:equivalentClass>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#gender"/>
        <owl:hasValue rdf:resource="#female" rdf:type="#Gender"/>
      </owl:Restriction>
    </owl:equivalentClass>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="gender"
     rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
    <rdfs:range rdf:resource="#Gender"/>
    <rdfs:domain rdf:resource="#Person"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="name"
     rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="firstname"
     rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>

  <Person rdf:ID="STilgner" firstname="Susanne" name="Tilgner">
    <Gender rdf:resource="#female"/>
  </Person>
</rdf:RDF>

Allgemeine Werkzeuge

Bearbeiten
  • Protégé, Ontologie-Editor mit OWL-Plugin von der Stanford University
  • SWOOP ehemals von mindswap entwickelt, jetzt bei GitHub

Frameworks

Bearbeiten

Inferenz

Bearbeiten

Sonstige

Bearbeiten

Siehe auch

Bearbeiten

Literatur

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Re: NAME: SWOL versus WOL from tim finin on 2001-12-27 (www-webont-wg@w3.org from December 2001). Abgerufen am 29. August 2023.
  2. World Wide Web Consortium Issues Web Ontology Language Candidate Recommendations. 19. August 2003, abgerufen am 29. August 2023 (englisch).