Web Ontology Language

formale Beschreibungssprache, um Ontologien zu beschreiben
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. September 2003 um 12:56 Uhr durch 212.144.51.160 (Diskussion). 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 weiter Sprachkonstrukte eingeführt, die es erlauben Ausdrücke ähnlich der Prädikaten-Logik zu formulieren.

Sprachebenen Lite, DL und Full

OWL kann auf drei Ebenen eingesetz werden. Dazu wurden die Sprachebenen OWL Lite, OWL DL und OWL Full defieniert. Für den Einsatz von OWL Lite/DL wurden Einschräkungen 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 meherer 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 ein <Person> mit 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)

allegemeine Werkzeuge

Editoren

  • Protégé

Valiedierung

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

Spezifikation