FU Berlin

<xmlcity:berlin>

Bundesministerium für Bildung und Forschung

Wachstumskerne

   
   
 

> Über das XML Clearinghouse
> Ansprechpartner
 

XML in Berlin und Brandenburg
> Firmen
> Forschungsvorhaben
> Lehrveranstaltungen
> Stellenangebote
 

Veranstaltungen des XML Clearinghouses
> XML Kolloquium
> Workshops
> Konferenzen
> Infotage
 

XML im deutsch-sprachigen Raum
> XML Veranstaltungen
> Standards und Entwicklungen
> Fördermöglichkeiten
> XML Reports
 

XML News
> Deutschsprachig
> Englischsprachig
> Semantic Web
> E-Business
> News einstellen
 

Online-Zertifikate
> XML-Grundlagen
> Electronic Business
> Semantic Web
 

Testlabor
> Ontology Reviewing System
 
 
 

WEB ONTOLOGY LANGUAGE


Status: W3C Working Draft vom 31 März 2003
Version: 1.0
Homepage: http://www.w3.org/2001/sw/WebOnt/
Verfasser: W3C

Die WEB ONTOLOGY LANGUAGE (OWL) unterstützt Anwendungen, Webinhalte maschinenlesbar und -interpretierbar aufzubereiten und stellt somit eine zusätzliche Ebene zur Interpretation von inhaltsrelevanten Daten dar.

OWL ist aus DAML+OIL entstanden und befindet sich derzeit als überarbeiteter Entwurf des W3C noch in Entwicklung. Anhand der zusätzlichen Informationen (OWL-Aussagen) kann eine Wissensbasis (Knowledge Base - "KB") mit Hilfe eines schlussfolgernden Systems angelegt werden. OWL-Aussagen sind Fakten bzw. abgeleitete Fakten, welche - auch wenn sie inhaltlich konträr sind - nur hinzugefügt und nicht entfernt werden können. Wenn Aussagen über diese Metadaten getroffen werden, ist von einer Ontologie die Rede.

OWL baut auf dem Resource Description Framework [RDF/XML] auf und stellt eine Sprache zur Verfügung, die es ermöglicht, Web Ontologien zu definieren. OWL bietet eine hierarchische Beschreibung von Klassen, welche mit Beschreibungen von Attributen und Assoziationen dieser Klassen einhergeht. Attribute und Assoziationen werden zusammenfassend als Eigenschaften einer Klasse bezeichnet.

Eine OWL Ontologie kann die folgenden Elemente enthalten:

  • taxonomische Beziehungen zwischen Klassen
  • Datentypen-Eigenschaften (Beschreibungen der Attribute von Klassen-Elementen)
  • Objekt-Eigenschaften (Beschreibungen der Beziehungen zwischen Klassen-Elementen)
und zu einem geringerem Grad:
  • Instanzen von Klassen
  • Instanzen von Eigenschaften

OWL besteht in Wirklichkeit aus einer Menge von drei zunehmend ausdrucksmächtiger werdenden Sprachen:

  • OWL Lite wurde mit dem Zweck definiert eine einfache Sprache zu erzeugen, welche hauptsächlich die Bedürfnisse des Nutzers nach einer Klassifikationshierarchie und einfachen Beschränkungseigenschatten befriedigt
  • OWL DL beinhaltet den vollständigen OWL Wortschatz, welcher unter einer Anzahl einfacher Beschränkungen interpretiert wird
  • OWL Full beinhaltet den vollständigen OWL Wortschatz, welcher umfassender interpretiert wird als in OWL DL, mit der Freiheit die RDF bietet

 

Ein ausführliches Beispiel mit dem Thema Wein findet sich unter: http://www.w3.org/2002/07/owl

 

Ontologie-Kopf
Im Ontologie-Kopf stehen viele zusätzlicher Tags zur Verfügung, mit denen kritische Aufgaben wie
das Version-Controlling, Einschließen anderer Ontologien und Kommentieren handgehabt werden können.

<rdf:RDF
xmlns ="http://www.beispiel.org/wein#"
xmlns:vin = "http://www.beispiel.org/wein# "
xmlns:speisen= "http://www.beispiel.org/speisen# "
xmlns:owl ="http://www.w3.org/2002/07/owl#"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#"
xmlns:dte ="http://www.beispiel.org/wein-dt#">
<owl:Ontology rdf:about="http://www.beispiel.org/wein">
<rdfs:comment>Eine OWL-Beispiel-Ontologie</rdfs:comment>
<owl:versionInfo>$Id: standard_owl.inc.html,v 1.1 2003/09/07 22:20:02 rempe2 Exp $</owl:versionInfo>
<owl:imports rdf:resource="http://www.w3.org/TR/2002/WD-owl-guide-20021104/food.owl"/>
</owl:Ontology>
</rdf:RDF>

 

Basis-Definitionen

Hauptsächlich wird die Nutzung von Ontologien von der Fähigkeit abhängen, über Individuen zu Schlussfolgern. Spezielle Eigenschaften von Individuen können immer festlegt werden, erst das klassenbasierte Schließen von Ontologien jedoch eröffnet eine Vielzahl an Möglichkeiten. Eine Menge von Individuen, die Elemente einer Klasse sind, wird auch als die Extension (Umfang, Ausdehnung) einer Klasse bezeichnet.

Definieren von einfachen hierarchischen Klassen: class, subClassOf
Jedes Individuum in der OWL-Welt ist ein Element von owl:Thing. Deshalb ist jede nutzerdefinierte
Klasse implizit eine Unterklasse von owl:Thing. Domänen-spezifische Wurzelklassen werden durch
einfaches Deklarieren einer benannten Klasse definiert.
<owl:Class rdf:ID="Weinkellerei"/>
<owl:Class rdf:ID="Gebiet"/>
<owl:Class rdf:ID="VerzehrbarerGegenstand"/>
Das grundlegende taxanomische Konstrukt für Klassen ist subclassOf. Es ist transitiv. Wenn X subclassOf Y und Y subclassOf Z, dann ist X subclassOf Z. <owl:Class rdf:ID="TrinkbareFluessigkeit">
<rdfs:subClassOf rdf:resource="#VerzehrbarerGegenstand"/>
...
</owl:Class>

<owl:Class rdf:ID="Wein">
<rdfs:subClassOf rdf:resource="#TrinkbareFluessigkeit"/>
<rdfs:label xml:lang="en">wine</rdfs:label>
<rdfs:label xml:lang="de">Wein</rdfs:label>
<rdfs:label xml:lang="fr">vin</rdfs:label>
...
</owl:Class>

 

Definieren von Individuen
Ein Individuum wird minimal eingeführt, indem es als Mitglied einer Klasse deklariert wird.
<Gebiet rdf:ID="ZentralesKuestengebiet"/> ist identisch zu: <owl:Thing rdf:ID="ZentralesKuestengebiet"/>
<owl:Thing rdf:about="#ZentralesKuestengebiet">
<rdf:type rdf:resource="#Gebiet"/>
</owl:Thing>

 

Definieren von Eigenschaften
Über Eigenschaften können allgemeine Fakten über die Anzahl der Elemente von Klassen und
spezielle Fakten über Individuen ausgedrückt werden.

  • Objekteigenschaften (ObjectProperty)
  • Datentypeigenschaften (DatatypeProperty)
  • UntereigenschaftVon (subPropertyOf)
  • Domäne (Definitionsbereich, domain)
  • Wertebereich (range)

  • Eine Eigenschaft ist eine binäre Relation. Es werden zwei Arten von Eigenschaften unterschieden:
  • Datentypeigenschaften (Beziehungen zwischen Elementen von Klassen und XML Datentypen)
  • Objekteigenschaften (Beziehungen zwischen Elementen zweier Klassen) <owl:ObjectProperty rdf:ID="hergestelltAusTrauben">
    <rdfs:domain rdf:resource="#Wein"/>
    <rdfs:range rdf:resource="#Weintraube"/>
    </owl:ObjectProperty>
    Eigenschaften und Klassen können in einer Hierarchie verwaltet (arrangiert) werden.
    <owl:ObjectProperty rdf:ID="WeinBeschreiber"/>
    <owl: ObjectProperty rdf:ID="FarbeDesWeines">
    <rdfs: subPropertyOf rdf:resource="#WeinBeschreiber"/>
    ...
    </owl: ObjectProperty>
    <owl:ObjectProperty rdf:ID="besitztWeinBeschreiber">
    <rdfs:domain rdf:resource="#Wein"/>
    <rdfs:range rdf:resource="#WeinBeschreiber"/>
    </owl:ObjectProperty>
    <owl:ObjectProperty rdf:ID="färbung">
    <rdfs:subPropertyOf rdf:resource="#besitztWeinBeschreiber"/>
    <rdfs:range rdf:resource="#FarbeDesWeines"/>
    </owl:ObjectProperty>
    WeinBeschreiber Eigenschaften verbinden Weine mit ihren Farben und Komponenten ihres Geschmacks, einschließlich Süße, physische Beschaffenheit und Aroma. färbung ist eine Untereigenschaft von der besitztWeinBeschreiber Eigenschaft, welche den Wertebereich noch weiter auf FarbeDesWeines beschränkt hat.
  •  

    Eigenschaften von Individuen
    Zuerst werden die Individuen von Gebiet und Weinkellerei erzeugt. Als nächstes wird der erste
    Wein, einen Cabernet Sauvignon, definiert.
    
    <GebietKalifornien rdf:ID="GebietSantaCruzMountains"/>
    <Weinkellerei rdf:ID="WeinbergSantaCruzMountain"/>
    <CabernetSauvignon
    rdf:ID="WeinbergSantaCruzMountainCabernetSauvignon">
    <lokalisiertIn rdf:resource="#GebietSantaCruzMountains"/>
    <besitztHersteller
    rdf:resource="#WeinbergSantaCruzMountain"/>
    </CabernetSauvignon>
    Datentypeigenschaften können Individuen in einer ähnlichen Art hinzugefügt werden:
    <Weinjahr rdf:ID="Year1998">
    <jahreswert rdf:datatype="&dte;Weinjahr">1998</jahreswert>
    </Weinjahr>

     

    Eigenschaftsmerkmale

    Es ist möglich, so genannte Eigenschafts-Merkmale zu definieren, welche ein mächtiges Mittel für erweitertes Schlussfolgern über Eigenschaften darstellen.

    TransitiveProperty: P(x,y) ^ P(y,z) -> P(x,z)
    Die Eigenschaft lokalisiertIn ist transitiv:
    
    <owl: TransitiveProperty rdf:ID="lokalisiertIn">
    <rdfs:domain rdf:resource="&owl;Thing"/>
    <rdfs:range rdf:resource="#Gebiet"/>
    </owl: TransitiveProperty >
    <Gebiet rdf:ID="GebietSantaCruzMountains">
    <lokalisiertIn rdf:resource="#GebietKalifornien"/>
    </Gebiet>
    <Gebiet rdf:ID="GebietKalifornien">
    <lokalisiertIn rdf:resource="#USGebiet"/>
    </Gebiet>

     

    Eigenschaften-Beschränkungen

    Zusätzlich zu den beschriebenen Eigenschaftsmerkmalen ist es möglich, weitere Beschränkungen des Wertebereichs von Eigenschaften in speziellen Kontexten und auf verschiedene Arten vorzunehmen.

    allValuesFrom, someValuesFrom
    Die bisherigen Mechanismen waren global, das heißt sie hatten Einfluss auf alle Instanzen der
    Eigenschaften. Die nächsten beiden allValuesFrom und someValuesFrom, gelten lokal in ihren
    umschließenden Klassendefinitionen.
    <owl:Class rdf:ID="Wein">
    <rdfs:subClassOf
    rdf:resource="&speisen;TrinkbareFluessigkeit"/>
    ...
    <rdfs:subClassOf>
    <owl:Restriction>
    <owl:onProperty rdf:resource="#besitztHersteller"/>
    <owl:allValuesFrom rdf:resource="#Weinkellerei"/>
    </owl:Restriction>
    </rdfs:subClassOf>
    ...
    </owl:Class>
    Der Hersteller eines Weines muss eine Weinkellerei (Weinkellerei) sein. Die allValuesFrom Einschrän- kung gilt nur in der besitztHersteller Eigenschaft dieser Wein-Klasse. Hersteller von Käse sind nicht von dieser lokalen Einschränkung betroffen. owl:someValuesFrom ist ähnlich, aber weniger restriktiv (einschränkend). Ersetzen wir im Beispiel owl:allValuesFrom mit owl:someValuesFrom, würde das bedeuten, dass mindestens eine der besitztHersteller Eigenschaften eines Weines auf ein Indivi- duum vom Typ Weinkellerei zeigen müsste. Der Unterschied zwischen den beiden Formulierungen liegt in der Unterscheidung von All- und Existenz-Quantor.

     

    Abbildung von Ontologien

    Damit Ontologien ihre größte Wirkung entfalten können, müssen sie weit verbreitet (verteilt) werden. Um den Aufwand im Entwickeln von Ontologien zu minimieren, werden diese wieder verwendet. Der größte Aufwand im Entwickeln von Ontologien liegt im Zusammenschließen von Klassen und Eigenschaften in der Art, dass sie die Möglichkeiten zum Schlussfolgern maximieren. Die Unterstützung von Tools wird gewiss erforderlich sein, um die Konsistenz einer KB zu wahren.

    sameClassAs, samePropertyAs
    Will jemand eine Menge von Ontologien als Komponente einer dritten Ontologie aneinander binden, ist
    es meist nützlich auszudrücken zu können, dass einzelne Klassen oder Eigenschaften der einen
    Ontologie äquivalent zu Klassen und Eigenschaften einer anderen Ontologie sind. Diese Fähigkeit
    muss mit Sorgfalt benutzt werden. Falls kombinierte Ontologien widersprüchlich sind, gibt es keine
    Extensionen, welche den Bedingungen der resultierenden Kombinationen genügen.
    
    <owl:Class rdf:ID="TexasThings">	
    <owl:sameClassAs>
    <owl:Restriction>
    <owl:onProperty rdf:resource="#lokalisiertIn" />
    <owl:allValuesFrom rdf:resource="#TexasRegion" />
    </owl:Restriction>
    </owl:sameClassAs>
    </owl:Class> TexasThings sind exakt die Dinge, die im Gebiet Texas zu finden sind. Dieser Unterschied zwischen dem Benutzen des sameClassAs und subClassOf Konstrukts liegt in der Unterscheidung zwischen einer notwendigen Bedingung und einer notwendigen und ausreichenden Bedingung. Bei subClassOf sind Dinge, die in Texas liegen nicht notwendigerweise auch TexasThings. Allerdings durch Benutzen von sameClassAs wären alle Dinge die in Texas liegen auch Instanzen (Teil) der Klasse TexasThings.

     

    sameIndividualAs/differentIndividualFrom
    sameIndividualAs: Dieser Mechanismus ähnelt dem für Klassen, bezeichnet aber zwei Individuen als
    identisch. Zum Beispiel:
    
    <Wein rdf:ID="MikesFavoriteWine">
    <owl:sameIndividualAs rdf:resource="#StGenevieveTexasWhite"/>
    </Wein> OWL erfordert somit keinen eindeutigen Namen für ein Individuum, d.h. dass zwei verschiedene Namen das gleiche Individuum (Synonyme) beschreiben (referenzieren) können. differentIndividualFrom: Dieser Mechanismus bietet den gegenteiligen Effekt von sameIndivdualAs.

     

    Komplexe Klassen [OWL DL]

    Da OWL-Klassenerweiterungen Mengen sind, bietet OWL das Mittel, Klassenerweiterungen durch die Basis-Mengen-Operatoren zu beeinflussen.

    Durchschnitt/Vereinigung/Komplement
    Durchschnitt: Das folgende Beispiel demonstriert die Anwendung des intersectionOf Konstrukts.
    	  
    <owl:Class rdf:ID="Weisswein">
    <owl:intersectionOf rdf:parseType="Collection">
    <owl:Class rdf:about="#Wein" />
    <owl:Restriction>
    <owl:onProperty rdf:resource="#färbung" />
    <owl:hasValue rdf:resource="#Weiss" />
    </owl:Restriction>
    </owl:intersectionOf>
    </owl:Class> Vereinigung: Das unionOf Konstrukt wird genauso wie das intersectionOf Konstrukt verwendet. Komplement: Das complementOf Konstrukt wählt alle Individuen einer Domäne aus, die nicht zu einer bestimmten Klasse gehören. Gewöhnlich bezieht sich dies auf eine sehr große Menge von Individuen.

     

    Mit Material aus "Web Ontology Language (OWL) bzw. DAML+OIL" von Martin Kost


     
             
           
     
      Seite zuletzt geändert am: 11-Apr-2006 11:11:44
    Webadmin: wwwadmin@xml-Clearinghouse.de
    © XML Clearinghouse   Impressum
    Haftungsausschluss