Zum Inhalt springen

Web Ontology Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Juli 2004 um 19:12 Uhr durch Mrmorgana (Diskussion | Beiträge) (linkfix). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Web Ontology Language (kurz 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 Berners-Lee. OWL basiert auf der RDF-Syntax und der DAML+OIL-Markup-Language, geht aber über deren Ausdrucksmächtigkeit 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.

Sprachebenen Lite, DL und Full

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

OWL Lite

Die "Light-Version" wurde mit dem Ziel geschaffen, eine minimale Untermenge der Sprache zu schaffen, die für Entwickler einen idealen Kompromiss zwischen Nützlichkeit und Zugänglichkeit darstellt.

OWL DL

Dies ist die Ebene, deren Semantik noch am ehesten mit DAML+OIL vergleichbar ist. Das DL steht für Description Logic, (Begriffslogik), die semantische Netze in ihrer Ausdruckstärke erweitert.

OWL Full

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 Eigenschaften 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). Protégé 2000 ist ein Ontolgie-Editor der Stanford University, der auch den Import und Export von Ontologien in OWL erlaubt.

allgemeine Werkzeuge

Validierung

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

Siehe auch