1 / 42

OWL - WEB ONTOLOGY LANGUAGE

OWL - WEB ONTOLOGY LANGUAGE. Inhalt. Allgemeines Varianten von OWL Klassen, Rollen und Individuen OWL Header Einfache Klassenbeziehungen, Beziehungen zwischen Individuen Logische Klassenkonstruktoren (Und, Oder, Nicht) Rolleneinschränkungen Rollenbeziehungen und –eigenschaften

makoto
Download Presentation

OWL - WEB ONTOLOGY LANGUAGE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OWL - WEB ONTOLOGY LANGUAGE

  2. Inhalt • Allgemeines • Varianten von OWL • Klassen, Rollen und Individuen • OWL Header • Einfache Klassenbeziehungen, Beziehungen zwischen Individuen • Logische Klassenkonstruktoren (Und, Oder, Nicht) • Rolleneinschränkungen • Rollenbeziehungen und –eigenschaften • Typische Anfragen an OWL • Protege-Tutorium

  3. OWL - Allgemeines • OWL – Web Ontology Language • W3C Spezifikation seit 2004 zur Erstellung von Ontologien • Wesentlicher Bestandteil der Semantik-Web Initiative • Basiert auf RDF-Syntax, kann mehr als RDF-Schema • 3 Varianten: OWL Lite < OWL DL < OWL Full • entspricht der Beschreibungslogik SHOIN(D) • OWL Ontologie besteht aus Klassen / Properties / Individuals (Instanzen von Klassen)

  4. OWL - Allgemeines Einordnung in den Semantic Web Protocol Stack

  5. OWL - Allgemeines • mächtige Ontologiesprache: • Einschränkung von Eigenschaften: Kühe essen nur Pflanzen, andere Tiere auch Fleisch • Kardinalität: ein Mensch hat genau zwei Eltern • Vereinigung, Schnitt, Komplement von Klassen • Transitivität, Inversität

  6. Varianten von OWL: OWL Lite • Ziel: einfach zu implementierende Untermenge • einfache Taxonomien und Ontologien • ist Teilsprache von OWL DL und OWL Full • entscheidbar • wenig ausdrucksstark • alle Einschränkungen aus OWL DL (nicht erlaubt: oneOf, unionOf, complementOf, hasValue, disjointWith, Zahlenrestriktionen nur mit 0 und 1 erlaubt)

  7. Varianten von OWL: OWL DL • DL steht für die Beschreibungslogik (Description Logic) SHOIN(D) • enthält OWL Lite und ist Teilsprache von OWL Full • entscheidbar (zu jedem Inferenzproblem gibt es einen immer terminierenden Algorithmus) • wird von aktuellen Softwarewerkzeugen fast vollständig unterstützt • keine Reifikation in OWL DL • nur Verwendung von explizit erlaubten RDFS Sprachelementen

  8. Varianten von OWL: OWL DL • nicht erlaubt: rdfs:Class, rdfs:Property • Typentrennung. Klassen und Rollen müssen explizit deklariert werden. • Konkrete Rollen dürfen nicht als transitiv, symmetrisch, invers oder invers funktional deklariert werden. • Zahlenrestriktionen dürfen nicht mit transitiven Rollen, deren Subrollen, oder Inversen davon verwendet werden.

  9. Varianten von OWL: OWL Full • enthält OWL DL und OWL Lite • enthält als einzige OWL-Teilsprache ganz RDFS • unentscheidbar • Wird durch aktuelle Softwarewerkzeuge nur bedingt unterstützt.

  10. Klassen, Individuen und Rollen Die drei Bausteine von Ontologieaxiomen: • Klassen (Klassen in RDFS) • Rollen (Properties in RDFS) • Individuen (Objekte in RDFS)

  11. Klassen • Definition <owl:Class rdf:ID="Professor"/> • vordefiniert: owl:Thing (Klasse, die alle Individuals enthält) owl:Nothing (leere Klasse)

  12. Individuen • Definition durch Klassenzugehörigkeit <rdf:Description rdf:ID=„ReinerGuettler“> <rdf:type rdf:resource="#Professor“/> </rdf:Description> • - gleichbedeutend: <Professor rdf:ID="ReinerGuettler"/>

  13. Abstrakte Rollen • abstrakte Rollen werden definiert wie Klassen <owl:ObjectProperty rdf:ID="Zugehoerigkeit"/> • Domain und Range abstrakter Rollen <owl:ObjectProperty rdf:ID="Zugehoerigkeit"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#Organisation"/> </owl:ObjectProperty>

  14. Konkrete Rollen • konkrete Rollen haben Datentypen im Range <owl:DatatypeProperty rdf:ID="Vorname"/> • Domain und Range konkreter Rollen <owl:DatatypeProperty rdf:ID="Vorname"> <rdfs:domain rdf:resource="#Person" /> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> • Viele XML Datentypen können verwendet werden. • Im Standard vorgeschrieben sind integer und string.

  15. Individuen und Rollen <Person rdf:ID="ReinerGuettler"> <Zugehoerigkeit rdf:resource="#DFHI"/> <Zugehoerigkeit rdf:resource="#EIG"/> <Vorname rdf:datatype="&xsd;string">Reiner</Vorname> </Person>

  16. OWL Document Header <owl:Ontology rdf:about=""> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string“> SWRC Ontologie in der Version vom Dezember 2006 </rdfs:comment> <owl:versionInfo>v0.5</owl:versionInfo> <owl:imports rdf:resource="http://www.informatik.uni-jena.de/foo"/> <owl:priorVersion rdf:resource="http://www.semweb.de/swrc"/> </owl:Ontology>

  17. OWL Document Header • von RDFS geerbt rdfs:comment rdfs:label rdfs:seeAlso rdfs:isDefinedBy • Zusätzlich owl:versionInfo owl:priorVersion owl:backwardCompatibleWith owl:incompatibleWith owl:DeprecatedClass owl:DeprecatedProperty owl:imports

  18. Einfache Klassenbez.: <owl:subClassOf/> <owl:Class rdf:ID="Professor"> <rdfs:subClassOf rdf:resource="#Fachbereichsmitglied"/> </owl:Class> <owl:Class rdf:ID=„Fachbereichsmitglied"> <rdfs:subClassOf rdf:resource="#Person"/> </owl:Class> • DL: Professor Fachbereichsmitglied • Es folgt durch Inferenz, dass Professor eine Subklasse von Person ist.

  19. Einfache Klassenbez.: <owl:disjointWith/> <owl:Class rdf:ID="Professor"> <rdfs:subClassOfrdf:resource="#Fachbereichsmitglied"/> </owl:Class> <owl:Class rdf:ID="Buch"> <rdfs:subClassOf rdf:resource="#Publikation"/> </owl:Class> <owl:Class rdf:about="#Fachbereichsmitglied"> <owl:disjointWith rdf:resource="#Publikation"/> </owl:Class> • Es folgt durch Inferenz, dass Professor und Buch ebenfalls disjunkte Klassen sind. • DL: Fachbereichsmitglied Publikation

  20. Einfache Klassenbez.: <owl:equivalentClass/> <owl:Class rdf:ID="Buch"> <rdfs:subClassOf rdf:resource="#Publikation"/> </owl:Class> <owl:Class rdf:about="#Publikation"> <owl:equivalentClass rdf:resource="#Publication"/> </owl:Class> • DL: Publikation Publication • Es folgt durch Inferenz, dass Buch eine Subklasse von Publication ist.

  21. Bez. zwischen Individuen: <owl:sameAs/> <Professor rdf:ID="ReinerGuettler"/> <rdf:Description rdf:about="#ReinerGuettler"> <owl:sameAs rdf:resource="#ProfessorGuettler"/> </rdf:Description> • DL: {ReinerGuettler} = {ProfessorGuettler} • Es folgt durch Inferenz, dass ProfessorGuettler ein Professor ist. • Verschiedenheit von Individuen mittels owl:differentFrom. • DL: a≠b

  22. Beziehungen zwischen Individuen <owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> <Person rdf:about="#ReinerGuettler"/> <Person rdf:about="#BarbaraGabowski"/> <Person rdf:about="#HelmutFolz"/> </owl:distinctMembers> </owl:AllDifferent> • Abgekürzte Schreibweise anstelle der Verwendung von mehreren owl:differentFrom. • Der Einsatz von owl:AllDifferent und owl:distinctMembers ist nur dafür vorgesehen.

  23. Abgeschlossene Klassen: <owl:oneOf/> <owl:Class rdf:about=#SekretaerinnenVonGuettler> <owl:oneOf rdf:parseType="Collection"> <Person rdf:about="#GiselaSchillinger"/> <Person rdf:about="#SusanneWinter"/> </owl:oneOf> </owl:Class> • Dies besagt, dass es nur genau diese beiden SekretaerinnenVonGuettler gibt. • DL: SekretaerinnenVonGuettler {GiselaSchillinger, SusanneWinter}

  24. Komplexe Klassen:Logische Klassenkonstruktion • logisches Und (Konjunktion): owl:intersectionOf DL: • logisches Oder (Disjunktion): owl:unionOf DL: • logisches Nicht (Negation): owl:complementOf DL: • Werden verwendet, um komplexe Klassen aus einfachen Klassen zu konstruieren.

  25. Konjunktion/logisches UND <owl:Class rdf:about="#SekretaerinnenVonGuettler"> <owl:equivalentClass> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Sekretaerinnen"/> <owl:Class rdf:about="#AngehoerigeEIG"/> </owl:intersectionOf> </owl:equivalentClass> </owl:Class> • DL: Sekretaerinnen AngehoerigeEIG • Es folgt z.B. durch Inferenz, dass alle SekretaerinnenVonGuettler auch Sekretaerinnen sind.

  26. Disjunktion/logisches ODER <owl:Class rdf:about="#Professor"> <owl:subClassOf> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#aktivLehrend"/> <owl:Class rdf:about="#imRuhestand"/> </owl:unionOf> </owl:subClassOf> </owl:Class> • DL: aktivLehrend imRuhestand • Ein Professor ist entweder aktivLehrend oder imRuhestand

  27. Negation <owl:Class rdf:about="#Fakultaetsmitglied"> <owl:subClassOf> <owl:complementOf rdf:resource="#Publikation"/> </owl:subClassOf> </owl:Class> • DL: Fakultätsmitglied Publikation • semantisch äquivalente Aussage: <owl:Class rdf:about="#Fakultaetsmitglied"> <owl:disjointWith rdf:resource="#Publikation"/> </owl:Class>

  28. Rolleneinschränkungen (allValuesFrom) • dienen der Definition komplexer Klassen durch Rollen <owl:Class rdf:ID="Pruefung"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hatPruefer"/> <owl:allValuesFrom rdf:resource="#Professor"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • D.h. alle Prüfer einer Prüfung müssen Professoren sein. • DL: Pruefung hatPruefer.Professor

  29. Rolleneinschränkungen (someValuesFrom) <owl:Class rdf:about="#Pruefung"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hatPruefer"/> <owl:someValuesFrom rdf:resource="#Person"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • D.h. jede Prüfung muss mindestens einen Prüfer haben. • DL: Pruefung hatPruefer.Person

  30. Rolleneinschränkungen (Kardinalitäten) <owl:Class rdf:about="#Pruefung"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hatPruefer"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger"> 4 </owl:maxcardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • Eine Prüfung kann höchstens vier Prüfer haben. • DL: Prüfung 4 Prüfer

  31. Rolleneinschränkungen (Kardinalitäten) <owl:Class rdf:about="#Pruefung"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hatThema"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger"> 3 </owl:mincardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> • Eine Prüfung muss sich über mindestens drei Themengebiete erstrecken. • DL: Pruefung 3 hatThema

  32. Rolleneinschränkungen (Kardinalitäten) <owl:Class rdf:about="#Pruefung"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hatThema"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger"> 3 </owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Eine Prüfung muss sich über genau drei Themengebiete erstrecken.

  33. Rolleneinschränkungen (hasValue) <owl:Class rdf:ID="PruefungBeiGuettler"> <rdfs:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#hatPruefer"/> <owl:hasValue rdf:resource="#ReinerGuettler"/> </owl:Restriction> </rdfs:equivalentClass> </owl:Class> • owl:hasValue verweist immer auf eine konkrete Instanz. Dies ist äquivalent zum Beispiel auf der nächsten Folie.

  34. Rolleneinschränkungen (oneOf) <owl:Class rdf:ID="PruefungBeiGuettler"> <rdfs:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#hatPruefer"/> <owl:someValuesFrom> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about=#ReinerGuettler/> </owl:oneOf> </owl:someValuesFrom </owl:Restriction> </rdfs:equivalentClass> </owl:Class>

  35. Rollenbeziehungen <owl:ObjectProperty rdf:ID="hatPruefer"> <rdfs:subPropertyOf rdf:resource="#hatAnwesenden"/> </owl:ObjectProperty> • DL: hatPruefer hatAnwesenden • Ebenso: owl:equivalentProperty • Rollen können auch invers zueinander sein: <owl:ObjectProperty rdf:ID="hatPruefer"> <owl:inverseOf rdf:resource="#prueferVon"/> </owl:ObjectProperty> • DL: hatPrueferprueferVon

  36. Rolleneigenschaften • Domain • Range • Transitivität, d.h. r(a,b) und r(b,c) impliziert r(a,c), z.B. Property istNachkommevon DL: Trans(istNachkommevon) • Symmetrie, d.h. r(a,b) impliziert r(b,a), z.B. Property befreundetMit DL: befreundetMit befreundetMit (Rollenäquivalenz mit der Inversen) • Funktionalität r(a,b) und r(a,c) impliziert b=c, z.B.Property hatMutter DL: hatMutter (Klasseninklusion und Kardinalitätsrestriktion) • Inverse Funktionalität r(a,b) und r(c,b) impliziert a=c, z.B. istSozialversicherungsnummerVon DL: istSozialversicherungsnummerVon (wie Funktionalität zuzüglich inverser Rolle)

  37. Rolleneigenschaften <owl:ObjectProperty rdf:ID="hatKollegen"> <rdf:type rdf:resource="&owl;TransitiveProperty"/> <rdf:type rdf:resource="&owl;SymmetricProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hatProjektleiter"> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="istProjektleiterFuer"> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/> </owl:ObjectProperty> <Person rdf:ID="YorkSure"> <hatKollegen rdf:resource="#PascalHitzler"/> <hatKollegen rdf:resource="#AnupriyaAnkolekar"/> <Projekt rdf:ID="SmartWeb"> <hatProjektleiter rdf:resource="#PascalHitzler"/> <hatProjektleiter rdf:resource="#HitzlerPascal"/> </Projekt>

  38. Folgerungen aus dem Beispiel • AnupriyaAnkolekar hatKollegen YorkSure • AnupriyaAnkolekar hatKollegen PascalHitzler • PascalHitzler owl:sameAs HitzlerPascal

  39. Anfragen an OWL • Klassenäquivalenz • Subklassenbeziehung • Disjunktheit von Klassen • globale Konsistenz (Erfüllbarkeit, Widerspruchsfreiheit) • Klassenkonsistenz: Eine Klasse ist inkonsistent, wenn sie äquivalent zu owl:Nothing ist - dies deutet oft auf einen Modellierungsfehler hin: <owl:Class rdf:about="#Buch"> <owl:subClassOf rdf:resource="#Publikation"/> <owl:disjointWith rdf:resource="#Publikation"/> </owl:Class>

  40. Anfragen an OWL • Instanzüberprüfung: Gehört gegebenes Individuum zu gegebener Klasse? • Suche nach allen Individuen, die in einer Klasse enthalten sind. • Werden zwei gegebene Individuen durch eine Rolle verknüpft? • Suche nach allen Individuenpaaren, die durch eine Rolle verknüpft sind.

  41. Weiterführende Literatur • http://www.w3.org/2004/OWL/ zentrale W3C Webseite für OWL. • http://www.w3.org/TR/owl-features/ Überblick über OWL. • http://www.w3.org/TR/owl-ref/ vollständige Beschreibung der OWL-Sprachkomponenten. • http://www.w3.org/TR/owl-guide/ zeigt, wie OWL zur Wissensmodellierung verwendet werden kann. • http://www.w3.org/TR/owl-semantics/ beschreibt die Semantik von OWL und die abstrakte Syntax für OWL DL • Deutsche Übersetzungen mancher W3C Dokumente findet man unter http://www.w3.org/2005/11/Translations/Lists/ListLang-de.html

  42. Fragen???

More Related