Web Ontology Language

formale Beschreibungssprache, um Ontologien zu beschreiben
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. September 2003 um 13:01 Uhr durch Fristu (Diskussion | Beiträge) (typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Web Ontology Language (OWL) ist eine Spezifikation des W3C, um Ontologien anhand einer formalen Beschreibungssprache erstellen, publizieren und verteilen zu können. Es geht darum, Konzepte einer Domäne und deren Beziehungen formal so zu beschreiben, dass auch Software (Agenten) die Bedeutung verarbeiten ("verstehen") kann. OWL ist somit ein wesentlicher Bestandteil der Semantic Web Initiative von Tim Burners-Lee. OWL basiert auf RDF (sollte ebenfalls gelesen werden), geht über dessen Ausdrucksmächtigkeit weit hinaus. Zusätzlich zu RDF und RDF Schema werden weitere Sprachkonstrukte eingeführt, die es erlauben Ausdrücke ähnlich der Prädikaten-Logik zu formulieren.

(... ist noch nicht fertig!!)


Sprachebenen Lite, DL und Full

OWL kann auf drei Ebenen eingesetzt werden. Dazu wurden die Sprachebenen OWL Lite, OWL DL und OWL Full defieniert. Für den Einsatz von OWL Lite/DL wurden Einschränkungen definiert, die die Entwicklung von Tools erleichtern sollen.

OWL Lite

OWL DL

Sprachkonstrukte

OWL-Dateien sind zunächst XML-Dateien. Die Spezifikation erweitert die Bedeutung von XML, XML Schema, RDF und RDF Schema um weitere Konstrukte um die Ausdrucksmächtigkeit zu steigern.

OWL unterscheidet Klassen, Properties und Instanzen. Klassen stehen für Konzepte. Sie können Properties besitzen. Instanzen sind Individuen einer oder mehrerer Klassen.

Klassen betreffend

  • <owl:class>
  • <owl:oneOf>
  • <owl:unionOf>
  • <owl:intersectionOf>

Properties betreffend

  • <owl:Restriction>
  • <owl:allValuesFrom>
  • <owl:someValuesFrom>

Instanzen betreffend

Beispiel

Das Beispiel beschreibt die Konzepte <Person>, <Gender> und <Woman>. Ein 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:j.0="http://localhost:8080/OWLBuergerInformation.owl#">

  <owl:Class rdf:ID="Gender"/>

  <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>

  <j.0:Person rdf:ID="STilgner"
     j.0:firstname="Susanne"
     j.0:name="Tilgner">
    <j.0:gender rdf:resource="#female"/>
  </j.0:Person>
</rdf:RDF>

Tools

Da die OWL Spezifikation relativ neu ist, existieren zur Zeit wenige Tools. Die Zahl steigt aber ständig. Viele sind auch frei verfügbar (Open Source)

allgemeine Werkzeuge

Editoren

  • Protégé

Validierung

  • OWL Ontologie Validator (Klassifiziert in OWL Lite, OWL DL und OWL Full) OWL Validator

Spezifikation