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
- Jena Framework von HP Labs HP Labs Semantic Web Research
Editoren
- Protégé
Validierung
- OWL Ontologie Validator (Klassifiziert in OWL Lite, OWL DL und OWL Full) OWL Validator
Weblinks
Spezifikation
- http://www.w3c.org/TR/owl-features - W3C Einführung und Überblick zu OWL