19.01.2010 - 10 - owl 2
DESCRIPTION
TRANSCRIPT
Vorlesung
Dr. Harald Sack
Hasso-Plattner-Institut für Softwaresystemtechnik
Universität Potsdam
Wintersemester 2009/10
Semantic Web
Blog zur Vorlesung: http://sewe0910.blogspot.com/Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
1. Einführung
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2
4. Ontology Engineering
5. Semantic Web Applications
2
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur3
URI / IRI
XML / XSDData Interchange: RDF
RDFS
Ontology: OWL Rule: RIF
Query:SPARQL
Proof
Unifying Logic
Cry
pto
Trust
Interface & Application
3. Wissensrepräsentation und Logik
Ontology-Level
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
419.01.2010 – Vorlesung Nr. 101 2 3 4 5 6 7 8 119 12
13
3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2
3.1.Ontologien in der Philosophie und der Informatik
3.2.Wiederholung Aussagenlogik und Prädikatenlogik
3.3.RDFS-Semantik
3.4.Beschreibungslogiken
3.5.OWL und OWL-Semantik
3.6.OWL2
3.7.Regeln mit SWRL/RIF
14
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
5
OWL 2
OWL
OWL 2
SHOIN(D) SHROIQ(D)
Erweiterung
3.6 OWL 2
3.6.1 Entwicklung von OWL 2
3.6.2 Von SHOIN(D) zu SHROIQ(D)
3.6.3 OWL 2 Syntax
3.6.4 Komplexität und andere Eigenschaften
3.6.5 OWL 2 Profile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
6
3. Wissensrepräsentationen3.5 OWL und OWL-Semantik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
7
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.1 Die Entwicklung von OWL 2
OWL 2 – Web Ontology Language 2• DAML (DARPA Agent Markup Language, 1999)
• RDF-basierte Markupsprache zur Darstellung vonWissensrepräsentationen
• DAML+OIL (Ontology Inference Layer, 2002)
• Einbettung einer Infrastruktur für Semantic Web Anwendungen
• Basiert aus Konzepten aus Beschreibungslogiken und Frame Logic
• OWL 1 - W3C Recommendation seit 2004
• OWL 2 (zuvor OWL 1.1)
• W3C Recommendation seit 27. Oktober 2009
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
8
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.1 Die Entwicklung von OWL 2
OWL 2 – Web Ontology Language 2• Was hat sich seit OWL 1 geändert?
• Erweiterungen aufgrund der gewonnenen Praxis-erfahrungen mit OWL 1
• Zusätzliche Ausdrucksstärke durch neue ontologische Axiome
• Überarbeitung der OWL Sprachvarianten
• Zusätzliche Erweiterungen
• neue Syntaxvariante, Kommentare, etc.
• Dabei weitestgehende Kompatibilität zum alten Standard
• Erhaltung der Entscheidbarkeit für OWL 2 DL
• Behebung von Problemen om OWL 1 Standard
3.6 OWL 2
3.6.1 Entwicklung von OWL 2
3.6.2 Von SHOIN(D) zu SHROIQ(D)
3.6.3 OWL 2 Syntax
3.6.4 Komplexität und andere Eigenschaften
3.6.5 OWL 2 Profile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
9
3. Wissensrepräsentationen3.5 OWL und OWL-Semantik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
10
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
• OWL DL basiert auf der Beschreibungslogik SHOIN(D)
• Axiome
• TBox: Subklassenbeziehungen C ⊑ D
• RBox: Subrollenbeziehungen R ⊑ S (H), inverse Rollen R- (I),
Transitivität ⊑+ (S)
• ABox: Fakten zu Klassen C(a), Rollen R(a,b), Gleichheit a=b, Verschiedenheit a≠b
•Klassenkonstruktoren:
• Konjunktion C ⊓ D, Disjunktion C ⊔ D, Negation ¬C von Klassen
• Rollenrestriktionen: universell ∀R.C und existenziell ∃R.C
• Kardinalitätsrestriktion: ≤n R und ≥n R (N)
• Abgeschlossene Klassen: {a} (O)
•Datentypen (D)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
11
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
ABox• SHOIN(D) unterstützt verschiedene ABox-Fakten:
• Klassenzugehörigkeit C(a) (C ist komplexe Klasse)
• Sonderfall: negierte Klassenzugehörigkeit ¬C(a) (C ist komplexe Klasse)
• Gleichheit a=b
• Verschiedenheit a≠b
• Rollenbeziehung R(a,b)
• negierte Rollenbeziehungen....?
Erweiterung von SHOIN(D) auf SHROIQ(D)
SHROIQ(D) erlaubt negierte Rollen in der ABox: ¬R(a,b)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
12
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Kardinalitätsrestriktionen
• SHOIN(D) unterstützt nur einfache Kardinalitätsrestriktionen (N):
• Person ⊓ ≥3 hatKind
• Klasse aller Personen mit mindestens 3 Kindern
• SHROIQ(D) erlaubt auch qualifizierte Kardinalitätsrestriktionen (Q):
• Person ⊓ ≥3 hatKind.(Frau ⊓ Professor)
• Klasse aller Personen mit mindestens 3 Töchtern, die alle Professorinnen sind
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
13
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Das Konzept Self
• Modellierungsaufgabe: „Jeder Mensch kennt sich selbst.“
• SHOIN(D)
• kennt(Harald, Harald) kennt(Jörg, Jörg) ...
• Allgemeine Modellierung in TBox nicht möglich
• SHROIQ(D) besitzt einen speziellen Ausdruck dafür: Self
• Mensch ⊑ ∃kennt.Self
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
14
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Rollenaxiome• In SHOIN(D) können Rollen modelliert werden als
• transitiv, symmetrisch, funktional und invers funktional
• SHROIQ(D) erlaubt zusätzliche Rollenaxiome:
• Antisymmetrie: ∀a,b ∈ ΔI: (a,b)∈RI → (b,a)∉RI
• Reflexivität: ∀a ∈ ΔI: (a,a)∈RI
• Irreflexivität: ∀a ∈ ΔI: (a,a)∉RI
• Disjunktheit: ∀a,b ∈ ΔI: (a,b)∉RI∩SI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
15
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Rollenaxiome
•Zusätzlich wird in SHROIQ(D) eine universelle Rolle U eingeführt:
• ∀a,b ∈ ΔI: (a,b)∈UI, UI=∆Ix∆I
• U wurde als Gegenstück zur universellen Klasse ⊤ eingeführt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
16
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Allgemeine Rolleninklusion
• „Die Freunde meiner Freunde sind auch meine Freunde.“
• kann in SHOIN(D) als transitive Rolle ausgedrückt werden.
•Aber: „Die Feinde meiner Freunde sind auch meine Feinde.“
• kann in SHOIN(D) nicht ausgedrückt werden.
• In FOL als Regel:• ∀x,y,z: hatFreund(x,y) ∧ hatFeind(y,z) → hatFeind(x,z)
• hatFreund º hatFeind ⊑ hatFeind
hatFeindhatFreund
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
17
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Allgemeine Rolleninklusion
• „Die Freunde meiner Freunde sind auch meine Freunde.“
• kann in SHOIN(D) als transitive Rolle ausgedrückt werden.
•Aber: „Die Feinde meiner Freunde sind auch meine Feinde.“
• kann in SHOIN(D) nicht ausgedrückt werden.
Rolleninklusion• RBox-Ausdrücke der Form R1 º R2 º R3 º ..... º Rn ⊑ S
Bsp.: hatFreund º hatFeind ⊑ hatFeind• Semantik: wenn (x0,x1)∈R1I, (x1,x2)∈R2I..... (xn-1,xn)∈RnI , dann
gilt auch (x0,xn)∈SI
Bsp.: (x0,x1)∈hatFreundI und (x1,x2)∈hatFeindI, dann gilt auch (x0,x2)∈hatFeindI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
18
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Ausdruckstärke der Rolleninklusion
• Mit RBoxen lassen sich formale Sprachen definieren
Beispiel• Grammatik für die Sprache der Wörter ab, aabb, aaabbb, ...
• ∃L.⊤ ≢ ⊥ („ ∃L.⊤ notwendig nicht-leer“) bedeutet:„Es gibt eine Kette aus Ra und Rb die zur Sprache gehört.“
• ∃L1.∃L2- ≢ ⊥ für zwei kodierte Sprachen L1 und L2 bedeutet:„Es gibt ein Wort, das zu L1 und L2 gehört.“
L ::= abL ::= aLb
wird zu Ra º Rb ⊑ LRa º L º Rb ⊑ L
Aber aus formalen Sprachen bekannt:Leerheit der Überschneidung kontextfreier Sprachen ist unentscheidbar
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
19
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Ausdruckstärke der Rolleninklusion
• Mit RBoxen lassen sich formale Sprachen definieren
Beispiel• Grammatik für die Sprache der Wörter ab, aabb, aaabbb, ...
• ∃L.⊤ ≢ ⊥ („ ∃L.⊤ notwendig nicht-leer“) bedeutet:„Es gibt eine Kette aus Ra und Rb die zur Sprache gehört.“
• ∃L1.∃L2- ≢ ⊥ für zwei kodierte Sprachen L1 und L2 bedeutet:„Es gibt ein Wort, das zu L1 und L2 gehört.“
L ::= abL ::= aLb
wird zu Ra º Rb ⊑ LRa º L º Rb ⊑ L
OWL mit allgemeiner Rolleninklusion ist UNENTSCHEIDBAR !
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
20
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Reguläre RBoxen• Kann man Rolleninklusion so einschränken, dass sie entscheidbar bleibt?
• Rboxen sind wie Grammatiken für kontextfreie Sprachen
• Überschneidung von kontextfreien Sprachen problematisch
• Also Einschränkung auf reguläre Sprachen!
Reguläre RBoxen• Rollennamen werden mit ≺ geordnet (strenge totale Ordnung).• Jede RBox Inklusion muss eine der folgenden Formen besitzen:
• Dabei gilt: Si ≺ R für alle i=1,2,...,n• Eine RBox ist regulär, wenn solch eine Ordnung ≺ existiert.
•R º R ⊑ R•R- ⊑ R•S1 º S2 º S3 º ..... º Sn ⊑ R
•R º S1 º S2 º S3 º ..... º Sn ⊑ R •S1 º S2 º S3 º..... º Sn º R ⊑ R
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Reguläre RBoxen - Beispiele• Beispiel:
R º S ⊑ R S º S ⊑ S R º S º R ⊑ Tist regulär mit Ordnung S ≺ R ≺ T
• Beispiel:R º T º S ⊑ Tist nicht regulär (unzulässige Inklusionsform)
• Beispiel:R º S ⊑ S S º R ⊑ Rist nicht regulär (keine gültige Ordnung möglich)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Beschränkung einfacher Rollen• Einfache Rollen in SHOIN(D) sind Rollen ohne transitive Unterrollen
• In SHROIQ(D) muss zusätzlich Rolleninklusion beachtet werden
Einfache Rollen• sind alle Rollen, die• nicht auf der rechten Seite einer Rolleninklusion
vorkommen,• die Inverse von anderen einfachen Rollen sind,• die nur auf der rechten Seite von Rolleninklusionen R ⊑ S,
bei der links einzelne einfache Rollen stehen
•Nicht-einfache Rollen sind Rollen, die direkt oder indirekt vonRollenverkettungen (º ) abhängen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Beschränkung einfacher Rollen• Folgende Ausdrücke sind NUR für einfache Ausdrücke erlaubt:
•≤n R.C und ≥n R.C (qualifizierte Kardinalitätsrestriktionen)•Irreflexive Rollen•Disjunkte Rollen•∃R.Self•¬R(a,b)
•Grund: Sicherstellung der Entscheidbarkeit
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
24
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Zusammenfassung• Um die Entscheidbarkeit zu gewährleisten müssen folgende
strukturellen Beschränkungen für SHROIQ(D) gelten:
• Regularität: Einschränkung des möglichen Zusammenspiels von RBox-Axiomen
• Einfachheit von Rollen:Einschränkungen der Verwendbarkeit von Rollen in Kardinalitätsrerstriktionen
• Daraus ergeben sich Einschränkungen auf die Gesamtstruktur einer Wissensbasis, bei der alle Axiome beachtet werden müssen
• Vorsicht: Die Vereinigung mehrerer SHROIQ(D) Wissensbasen kann diese Einschränkungen verletzen, auch wenn die einzelnen Wissensbasis diese erfüllen.
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
25
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)
Überblick über SHROIQ(D)Klassenausdrücke• Klassennamen A,B• Konjunktion C ⊓ D• Disjunktion C ⊔ D• Negation ¬C• Exist. Rollenrestriktion ∃R.C• Univ Rollenrestriktion ∀R.C• Self ∃S.Self• Größer-als ≥n S.C• Kleiner-als ≤ S• Nominale {a}
Rollen• Rollennamen R,S,T• Einfache Rollen S,T• Inverse Rollen R-
• Universelle Rolle U
Tbox (Klassenaxiome)• Inklusion C ⊑ D• Äquivalenz C ≣ D
Rbox (Rollenaxiome)• Inklusion R1 ⊑ R2
• Allgemeine Inklusion R(-)1 º R (-) 2 º ..... º R (-) n ⊑ R• Transitivität• Symmetrie• Reflexivität• Irreflexivität• Disjunktheit
Abox (Fakten)• Klassenzugehörigkeit C(a)• Rollenbeziehung R(a,b)• Negierte Rollenbeziehung ¬S(a,b)• Gleichheit a=b• Ungleichheit a≠b
3.6 OWL 2
3.6.1 Entwicklung von OWL 2
3.6.2 Von SHOIN(D) zu SHROIQ(D)
3.6.3 OWL 2 Syntax
3.6.4 Komplexität und andere Eigenschaften
3.6.5 OWL 2 Profile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
26
3. Wissensrepräsentationen3.5 OWL und OWL-Semantik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
Syntaxvarianten• OWL 2 kann in unterschiedlichen Syntaxvarianten ausgedrückt werden
• Funktionale Syntax: ersetzt abstrakte Syntax von OWL 1
• RDF-Syntax: Erweiterung der bestehenden OWL/RDF Abbildung
• XML-Syntax: Eigenständige XML-Serialisierung
• Manchester-Syntax: menschenlesbare Syntax, insbesondere für Ontologie-Editoren
• Funktionale Syntax ist einfacher zu definieren,Keine RDF-Beschränkungen, kompakter
• RDF-Syntax wichtig für Abwärtskompatibilität
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
28
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 - Functional SyntaxSubClassOf( :Teenager DataSomeValuesFrom( :hasAge DatatypeRestriction( xsd:integer xsd:minExclusive "12"^^xsd:integer xsd:maxInclusive "19"^^xsd:integer ) ) )SubClassOf( :Woman :Person )SubClassOf( :Mother :Woman )...SubObjectPropertyOf( :hasWife :hasSpouse )SymmetricObjectProperty( :hasSpouse ) AsymmetricObjectProperty( :hasChild )...Declaration( NamedIndividual( :John ) )Declaration( NamedIndividual( :Mary ) )Declaration( NamedIndividual( :Jim ) )...ClassAssertion( :Person :Mary )ClassAssertion( :Woman :Mary )...ObjectPropertyAssertion( :hasWife :John :Mary )NegativeObjectPropertyAssertion( :hasWife :Bill :Mary )
aus Hitzler, Krötzsch, Parsia, Patel-Schneider, Rudolph: OWL 2 Web Ontology Language: Primer,
W3C Working Group Note 27 October 2009
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
29
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 - Manchester Syntax
Class: Person Annotations: ... SubClassOf: owl:Thing that hasFirstName exactly 1 and hasFirstName only string[minLength 1] ,... SubClassOf: hasAge exactly 1 and hasAge only not NegInt,... SubClassOf: hasGender exactly 1 and hasGender only {female , male} ,... SubClassOf: not hates Self, ... EquivalentTo: g:People ,... DisjointWith: g:Rock , g:Mineral ,...
ObjectProperty: hasWife Annotations: ... Characteristics: Functional, InverseFunctional, Reflexive, Irreflexive, Asymmetric, Transitive Domain: Man Range: Person, Woman SubPropertyOf: hasSpouse, loves EquivalentTo: isMarriedTo ,... DisjointWith: hates ,... InverseOf: hasSpouse
Individual: John Annotations: ... Types: Person , hasFirstName value "John" or hasFirstName value "Jack"^^xsd:string Facts: hasWife Mary, not hasChild Susan, hasAge 33, hasChild _:child1 SameAs: Jack ,... DifferentFrom: Susan ,...
aus Horridge, Patel-Schneider: OWL 2 Web Ontology Language Manchester Syntax,
W3C Working Group Note 27 October 2009
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
30
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
Syntaxvarianten• OWL 2 kann in unterschiedlichen Syntaxvarianten ausgedrückt werden
• Funktionale Syntax: ersetzt abstrakte Syntax von OWL 1
• RDF-Syntax: Erweiterung der bestehenden OWL/RDF Abbildung
• XML-Syntax: Eigenständige XML-Serialisierung
• Manchester-Syntax: menschenlesbare Syntax, insbesondere für Ontologie-Editoren
• Funktionale Syntax ist einfacher zu definieren,Keine RDF-Beschränkungen, kompakter
• RDF-Syntax wichtig für Abwärtskompatibilität
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
31
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Individuendeklaration• In OWL 2 können Individuen als benannte Entitäten auch ohne direkte
Klassenzugehörigkeit deklariert werden
• oder kürzer
<rdf:Description rdf:about=“haraldSack“> <rdf:type rdf:resource=“&owl:NamedIndividual“/></rdf:Description>
< owl:NamedIndividual rdf:about=“haraldSack“ />
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
32
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Disjunkte Klassen• In OWL 1 können 2 Klassen als disjunkt deklariert werden
(owl:disjointWith)
• OWL 2 erlaubt eine abkürzende Schreibweise, um mehrere Klassen auf einmal als disjunkt deklarieren zu können
<owl:AllDisjointClasses> <owl:members rdf:parseType=“Collection“> <owl:Class rdf:about=“KindergartenKinder“ /> <owl:Class rdf:about=“Schueler“ /> <owl:Class rdf:about=“Studenten“ /> <owl:Class rdf:about=“Professoren“ /> </owl:members></owl:AllDisjointClasses>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Disjunkte Klassen• In OWL 1 kann eine Klasse als Vereinigung zweier Klassen über
owl:unionOf beschrieben werden
• OWL 2 erlaubt die Deklaration einer Klasse als disjunkte Vereinigung von Klassen, d.h. C ⊑ D ⊔ E mit D⊓E=⊥
<owl:Class ref:about=“Musikinstrumente“> <owl:disjointUnionOf rdf:parseType=“Collection“> <owl:Class rdf:about=“Streichinstrumente“ /> <owl:Class rdf:about=“Schlaginstrumente“ /> <owl:Class rdf:about=“Zupfinstrumente“ /> <owl:Class rdf:about=“Tasteninstrumente“ /> </owl:disjointUnionOf></owl:Class>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
34
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• In OWL 1 können Rollen als transitiv, symmetrisch, funktional und
inverse funktional deklariert werden
• OWL 2 erlaubt darüberhinaus
• Asymmetrische Rollen via owl:AsymmetricProperty
• Reflexive Rollen via owl:ReflexiveProperty
• Irreflexive Rollen via owl:IrreflexiveProperty
• Dabei dürfen Asymmetrie, Reflexivität und Irreflexivität auch nicht für konkrete Rollen (Datatype Properties) verwendet werden.
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
35
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• Zusätzlich gestattet OWL 2 die Modellierung von Aussagen folgender Art:
„Alle Studenten des HPI mit demselben Namen und demselben Geburtstag sind auch tatsächlich die selben Studenten“
• Allgemein: Für eine Klasse können in OWL 2 eine Menge von Rollen festgelegt werden, die einzelne Instanzen der Klasse gleich einem Schlüssel (Key) identifizieren.
<owl:Class ref:about=“HPIStudenten“> <owl:hasKey rdf:parseType=“Collection“> <owl:DatatypeProperty rdf:about=“hatName“ /> <owl:DatatypeProperty rdf:about=“hatGeburtsdatum“ /> </owl:hasKey></owl:Class>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
36
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• Zusätzlich gestattet OWL 2 die Modellierung von Aussagen folgender Art:
„Alle Studenten des HPI mit demselben Namen und demselben Geburtstag sind auch tatsächlich die selben Studenten“
• Allgemein: Für eine Klasse können in OWL 2 eine Menge von Rollen festgelegt werden, die einzelne Instanzen der Klasse gleich einem Schlüssel (Key) identifizieren.
Achtung:• Keys können nur auf benannte Instanzen (NamedIndividuals)
angewandt werden• Keys ist kein beschreibungslogisches Element
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• OWL 2 gestattet die Definition von disjunkten Rollen
• Zwei Rollen R und S heißen disjunkt, wenn gilt, dass zwei Individuen x,y niemals in beiden Rollen gemeinsam miteinander verbunden sein dürfen
• Abkürzende Schreibweise für mehrere gleichzeitig disjunkte Rollen
<owl:ObjectProperty ref:about=“hatElternteil“> <owl:propertyDisjointWith rdf:resource=“hatKind“ /></owl:ObjectProperty>
<owl:AllDisjointProperties> <owl:members rdf:parseType=“Collection“> <owl:ObjectProperty ref:about=“hatElternteil“ /> <owl:propertyDisjointWith rdf:resource=“hatKind“ /> <owl:propertyDisjointWith rdf:resource=“hatEnkel“ /> </owl:members></owl:AllDisjointProperties>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
38
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• OWL 2 definiert jeweils universelle und leere Rollen als Gegenstücke
zu Top- und Bottom-Klassen:
• owl:topObjectPropertyVerbindet jedes beliebige Paar von Individuen, Oberklasse für alle abstrakten Rollen
• owl:bottomObjectPropertyBeinhaltet keine Individuen, Unterklasse aller abstrakten Rollen
• owl:topDatatypePropertyVerbindet jedes Individuum mit allen Datentyp-Literalen, Oberklasse für alle konkreten Rollen
• owl:bottomDatatypePropertyBeinhaltet kein Individuum und kein Literal, Unterklasse aller konkreten Rollen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
39
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Rolleneigenschaften und Beziehungen• OWL 2 erlaubt die Definition inverser Rollen
• Nicht erlaubt für konkrete Rollen
<owl:ObjectProperty ref:about=“hatPrüfer“> <rdfs:subPropertyOf> <owl:ObjectProperty> <owl:inverseOf rdf:resource=“nimmtTeilAn“ /> </owl:ObjectProperty> </rdfs:subPropertyOf></owl:ObjectProperty>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
40
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Allgemeine Rolleninklusion• OWL 2 erlaubt die Verkettung von Rollen
• Nicht erlaubt für konkrete Rollen
<owl:ObjectProperty ref:about=“hatFreundesFeind“> <owl:PropertyChainAxiom rdf:parseType=“Collection“> <owl:ObjectProperty rdf:resource=“hatFreund“ /> <owl:ObjectProperty rdf:resource=“hatFeind“ /> </owl:PropertyChainAxiom></owl:ObjectProperty>
hatFeindhatFreund
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Qualifizierte Kardinalitätsrestriktion• OWL 2 erlaubt Klassenkonstruktoren mit Kardinalitätsrestriktionen auf
Rollen verknüpft mit Einschränkungen des Bildraumes
• Bsp.: Pruefung ⊑ ≥2 hatPruefer.Professor
• owl:maxQualifiedCardinality, owl:minQualifiedCardinality, owl:qualifiedCardinality
<owl:Class rdf:about=“Pruefung“> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty ref:resource=“hatPruefer“ /> <owl:maxQualifiedCardinality rdf:datatype=“xsd;nonNegativeInteger“> 2 </owl:maxQualifiedCardinality> <owl:onClass rdf:resource=“Professor“ /> </owl:Restriction> </rdfs:subClassOf></owl:Class>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
42
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Reflexive Rollenrestriktion• OWL 2 erlaubt die Deklaration von Klassen, die Individuen enthalten, die
unter bestimmten Rollen mit sich selbst in Bezug stehen
• Bsp.: Philosoph ⊑ ∃kennt.Self
<owl:Class rdf:about=“Philosoph“> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty ref:resource=“kennt“ /> <owl:hasSelf rdf:datatype=“&xsd;boolean“>true</owl:hasSelf> </owl:Restriction> </rdfs:subClassOf></owl:Class>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
43
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 negierte Rolleninstantiierung• OWL 1 erlaubt es, zwei Individuen über eine abstrakte Rolle miteinander
in Beziehung zu setzen
• OWL 2 erlaubt es ebenfalls auszudrücken, dass zwei Individuen NICHT über eine Rolle miteinander in Bezug stehen
• Bsp.: ¬istBruder(Harald, Joerg)
<owl:negativePropertyAssertion> <owl:sourceIndividual rdf:about=“Harald“ /> <owl:assertionProperty rdf:about=“istBruder“ /> <owl:targetIndividual rdf:about=“Joerg“ /></owl:negativePropertyAssertion>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
44
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.3 OWL 2 Syntax
OWL 2 Datentypen• OWL 2 unterstützt die meisten XML Schema Datentypen, die auch bereits
von OWL 1 unterstützt wurden
• Ausnahmen: xsd:time, xsd:date, xsd:gYear, xsd:gMonth, xsd:gDay, xsd:gMonthDay, xsd:gYearMonth
• Folgenden neuen Datentypen sind in OWL 2 erlaubt:
• owl:real, owl:rational, rdf:PlainLiteral, rdf:XMLLiteral, xsd:dateTimeStamp
• Zusätzliche Möglichkeiten, Wertebereiche konkreter Rollen zu beschränken:
• Zahlen: xsd:maxExclusive, xsd:minInclusive
• Strings: xsd:minLength, xsd:maxLength, xsd:length, xsd:pattern
3.6 OWL 2
3.6.1 Entwicklung von OWL 2
3.6.2 Von SHOIN(D) zu SHROIQ(D)
3.6.3 OWL 2 Syntax
3.6.4 Komplexität und andere Eigenschaften
3.6.5 OWL 2 Profile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
45
3. Wissensrepräsentationen3.5 OWL und OWL-Semantik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
46
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
Wie kompliziert ist SHRIOQ(D)?• SHOIN(D) (OWL DL) ist sehr komplex (NExpTime)
• Wie steht es mit SHROIQ(D)?
• Beobachtung: einige Ausdrucksmittel sind nicht wirklich nötig
• Transitive Rollen durch R º R ⊑ R ausdrückbar
• Symmetrie durch R- ⊑ R ausdrückbar
• Irreflexivität durch ⊤ ⊑ ¬∃R.Self ausdrückbar
• Universelle Rolle darstellbar durch Hilfsaxiom:⊤ ⊑ ∃R.{a}, R º R- ⊑ U
• ABox durch Nominale darstellbar, z.B. R(a,b) durch {a} ⊑ ∃R.{b}
• Qualifizierte Kardinalitätsrestriktion nicht problematisch
• Hauptproblem: Rollenaxiome und allgemeine Rolleninklusion
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
Wie geht man mit Rolleninklusionen um?
• RBox-Regeln ähneln formalen Grammatiken
• jede Rolle R definiert eine reguläre Sprache: die Sprache der Rollen-Ketten, aus denen R folgt
• reguläre Sprachen ≡ reguläre Ausdrücke ≡ endliche Automaten
• Ansatz: Tableauverfahren werden mit „RBox-Automaten“ erweitert
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
48
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
Entscheidbarkeit von SHRIOQ(D)?• Tableaux-Verfahren für SHROIQ(D) verfügbar:
• Tableaux-Verfahren ungeeignet für enge Komplexitätsabschätzung
• Komplexitätsresultat (2008): SHROIQ(D) ist N2ExpTime-vollständig
• Aber: Tableaux-Algorithmus hat gute Anpassungseigenschaften, d.h. ungenutzte Merkmale belasten die Abarbeitung kaum
SHROIQ(D) ist entscheidbar.
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
49
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
OWL 2 DL: Weitere Aspekte• SHROIQ(D) ist „nur“ logische Grundlage von OWL 2 DL
• Bereits behandelt:
• Syntaxerweiterung
• Datentypdeklaration und Datentypfunktionen, neue Datentypen
• Invers-funktionale konkrete Rollen (DatatypeProperties): „Simple Keys“
• Weitere nicht-logische Aspekte:
• Metamodellierung: „Punning“
• Kommentarfunktionen und ontologische Metadaten
• Mechanismen zu Ontologieimport
• ...
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
50
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
OWL 2 Metamodellierung
• Beispiele:
• „Die Klasse Person wurde am 3.1.2010 von JoergW angelegt.“
• „Für die Klasse Stadt wird das Property Einwohnerzahl empfohlen.“
• „Die Aussage ‚Dresden wurde 1206 gegründet‘ wurde maschinell ermittelt mit einer Sicherheit von 85%.“
• (Vergleiche auch Reifikation in RDF Schema)
MetamodellierungSpezifikation ontologischen Wissens über einzelne Elementeder Ontologie (einschließlich Klassen, Rollen, Axiome).
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
51
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
„Wortspiele“ in OWL 2: Punning• Metamodellierung in ausdruckstarken Logiken ist gefährlich und teuer...
• OWL 2 unterstützt aktuell nur eine sehr einfache Form der Metamodellierung
• Bsp.:
• Person(Harald), klasseErstelltVon(Person, Joerg)
Punning• Bezeichner für Klassen, Rollen, Individuen müssen nicht disjunkt
sein (Ausnahme: ObjectPropertys und DataPropertys)
• keine logische Beziehung zwischen Klasse, Individuum und Rolle gleichen Namens
• Beziehung nur relevant für pragmatische Interpretation
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
52
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.4 Komplexität und andere Eigenschaften
Kommentare und Metadaten• Punning unterstützt einfache Metadaten mit (schwacher) semantischer
Bedeutung
• Wie kann man rein „syntaktische“ Kommentare zu einer Ontologie machen?
• Kommentare in XML-Dateien: <!-- Kommentar --> kein Bezug auf OWL-Axiome dieser Datei
• nicht-logische Annotationen in OWL 1: owl:AnnotationPropertyfest verknüpft mit (semantischem) ontologischem Element, kein syntaktischer Bezug
• OWL 2 verändert die Bedeutung von Annotationen: keine semantische Interaktion, aber struktureller Teil von OWL-Ontologien.
• Zusätzlich ist die Annotationen ganzer Axiome möglich, nicht nur von Individuen
3.6 OWL 2
3.6.1 Entwicklung von OWL 2
3.6.2 Von SHOIN(D) zu SHROIQ(D)
3.6.3 OWL 2 Syntax
3.6.4 Komplexität und andere Eigenschaften
3.6.5 OWL 2 Profile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
53
3. Wissensrepräsentationen3.5 OWL und OWL-Semantik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
54
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 Profile• OWL 2 Profile sind Untersprachen von OWL 2
• OWL 2 DL entspricht SHROIQ(D)
• OWL 2 Full wäre entsprechend eine Erweiterung von OWL 1 Full
• Was ist mit OWL 2 Lite?
• OWL 1 Lite ist fasst genauso komplex wie OWL 1 DL
• Komplizierte Syntax gibt keinen Zugang zu wahrer Ausdrucksstärke
• Verwendung in Ontologien heute praktisch eher „zufällig“ als intendiert
• Ursprünglich gedacht als einfach und effizient implementierbarer Teil von OWL
• Neuer Ansatz in OWL 2:
• Definition mehrerer einfacher Sprachprofile
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
55
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 Profile• Ansatz:
• Identifiziere maximale OWL 2 Subsprachen (Fragmente), die noch in Polynomialzeit entscheidbar sind
• Hauptursache für Nicht-Polynomialzeit: Non-Determinismus(erfordert Raten / Backtracking)• Disjunktion bzw. Negation + Konjunktion• Maximum-Kardinalitätsrestriktionen
• Kombination von Existenzquantoren und Universalquantoren in einer Superklasse
• Nicht-unäre, finite Klassendefinitionen (abgeschlossene Klassen)
• wird daher in OWL 2 Profilen nicht erlaubt
• Vorsicht: viele andere Features führen auch zu Non-Determinismus...
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
56
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 Profile• Ansatz:
• Identifiziere maximale OWL 2 Subsprachen (Fragmente), die noch in Polynomialzeit entscheidbar sind
• Praktische Überlegungen
• Einfache Implementierungen und praktische Nutzbarkeit
• Definition von 3 OWL Profilen:• OWL 2 EL
• OWL 2 QL• OWL 2 RL
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
57
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 EL• OWL 2 EL Profil basiert auf der Beschreibungslogik EL++:
Beschreibungslogik EL++
• Konjunktion C ⊓ D, existentielle Restriktion ∃R.C, ⊤ und ⊥• Abgeschlossene Klassen, eingeschränkter Rollen-Bildbereich• Allgemeine Rolleninklusion (RBox), Transitivität• Nicht erlaubt: Allquantoren, Disjunktion, Komplement,
Kardinalitätsrestriktionen, Disjunktheit und Inverses von Rollen,..
⊓∃⊤⊥ ⊑ ⊓∃⊤⊥
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
58
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 EL• OWL 2 EL Profil basiert auf der Beschreibungslogik EL++:
• Vorteile:
• Polynomielle Komplexität für alle Standard-Inferenztypen, d.h. Erfüllbarkeit, Klassifikation, Instanzüberprüfung, etc.
• Relativ einfache Implementierung
• Unterstützt praktisch relevante Ontologien (z.B. SNOMED-CT)
Beschreibungslogik EL++
• Konjunktion C ⊓ D, existentielle Restriktion ∃R.C, ⊤ und ⊥• Abgeschlossene Klassen, eingeschränkter Rollen-Bildbereich• Allgemeine Rolleninklusion (RBox), Transitivität• Nicht erlaubt: Allquantoren, Disjunktion, Komplement,
Kardinalitätsrestriktionen, Disjunktheit und Inverses von Rollen,..
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
59
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 EL• OWL 2 EL Beispiele:
• ∃has.Sorrow ⊑ ∃has.Liqueur
• ∃married.⊤ ⊓ CatholicPriest ⊑ ⊥
• German ⊑ ∃knows.{angela}
• hasParent º hasParent ⊑ hasGrandparent
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
60
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 QL• OWL 2 QL Profil basiert auf der Beschreibungslogik DL Lite:
• Beispiel:• ∃married.⊤ ⊑ ¬Free ⊓ ∃has.Sorrow
Beschreibungslogik DL Lite• Oberklassen (R⊑S): ⊓, ¬, ∃R.C
• Unterklassen (R⊑S): ∃R.⊤• Inverse Rollen, einfache Rollenhierarchien• ABox wie in SHROIQ(D) • Nicht erlaubt: Allquantoren, abgeschlossene Klassen, Disjunktion,
Self, funktionale und invers-funktionale Rollen (owl:hasKey), Kardinalitätsrestriktionen, Transitivität, allgemeine Rolleninklusion, Gleichheit von Individuen (owl:sameAs)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
61
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 QL• OWL 2 QL Profil basiert auf der Beschreibungslogik DL Lite:
• Vorteile:• Sub-polynomielle Komplexität (verwandt mit relationalen
Datenbanken), Instanzretrieval in LogSpace• Schnelle Implementierungen verfügbar, Skalierbarkeit
Beschreibungslogik DL Lite• Oberklassen (R⊑S): ⊓, ¬, ∃R.C
• Unterklassen (R⊑S): ∃R.⊤• Inverse Rollen, einfache Rollenhierarchien• ABox wie in SHROIQ(D) • Nicht erlaubt: Allquantoren, abgeschlossene Klassen, Disjunktion,
Self, funktionale und invers-funktionale Rollen (owl:hasKey), Kardinalitätsrestriktionen, Transitivität, allgemeine Rolleninklusion, Gleichheit von Individuen (owl:sameAs)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
62
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 RL• OWL 2 RL Profil basiert auf Horn-Regel-Fragment von OWL 2:
• Subklassenaxiome (R⊑S) können als Regel interpretiert werden (R→S)
Horn-Regel-Fragment von OWL 2:• Oberklassen (R⊑S): ⊓, ∃R.{a},∀R.C, ≤1R.C
• Unterklassen (R⊑S): ⊓, ⊔, ∃R.C, ∃R.{a}
• ⊤, ⊥
• Nicht erlaubt: negierte Fakten, Reflexivität (sonst alle RBox-Features erlaubt), ...
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
63
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 RL• OWL 2 RL Profil basiert auf Horn-Regel-Fragment von OWL 2:
• Subklassenaxiome (R⊑S) können als Regel interpretiert werden (R→S)
• Vorteile:• Polynomielle Komplexität (PTime-complete)• Einfache Implementierung (OWL-Axiome als Regeln)• Verwandt mit Regelsprachen
Horn-Regel-Fragment von OWL 2:• Oberklassen (R⊑S): ⊓, ∃R.{a},∀R.C, ≤1R.C
• Unterklassen (R⊑S): ⊓, ⊔, ∃R.C, ∃R.{a}
• ⊤, ⊥
• Nicht erlaubt: negierte Fakten, Reflexivität (sonst alle RBox-Features erlaubt), ...
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
64
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 RL• OWL 2 RL Beispiele:
• ∃parentOf.∃parentOf.⊤ ⊑ Grandfather(als Regel: parentOf(x,y) ⋀ parentOf(y,z) → Grandfather(x)
• Orphan ⊑ ∀hasParent.Dead(als Regel: Orphan(x) ⋀ hasParent(x,y) → Dead(y)
• Monogamous ⊑ ≤1 married.Alive(als Regel: Monogamous(x) ⋀ married(x,y) ⋀ Alive(y) ⋀ married(x,z) ⋀ Alive(z)→ y=z )
• childOf º childOf ⊑ grandchildOf(als Regel: childOf(x,y) ⋀ childOf(y,z) → grandchildOf(x,z) )
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
65
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 Full• Erweiterung von OWL 1 Full um neue OWL 2 Konstrukte,
d.h. Vereinigung von OWL 2 DL und RDFS
• Semantik (größtenteils) als Erweiterung der OWL Full-Semantik
• Gedacht eher als konzeptionelle Modellierungssprache, aktuell aber nur wenig Softwareunterstützung für automatische Ableitungen
• Logische Konsistenz der Spezifikation weiter offen (wie bei OWL Full)
• Aber:
• Viele OWL 1 Full Ontologien sind jetzt auch als OWL 2 DL Ontologie interpretierbar(vgl. Punning)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
66
3. Wissensrepräsentationen3.6 OWL 2 / 3.6.5 OWL 2 Profile
OWL 2 Reasoner
•OWL 2 DL:
• Pellet: http://clarkparsia.com/pellet/
• HermiT: http://www.hermit-reasoner.com/
•OWL 2 EL:
• CEL: http://code.google.com/p/cel/
•OWL 2 RL:
• im Prinzip jeder regelbasierte Reasoner
•OWL 2 QL:
• Im Prinzip jede SQL Datenbank (natürlich mit entsprechenden Umformulierungen...)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
6719.01.2010 – Vorlesung Nr. 101 2 3 4 5 6 7 8 119 12
13
3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2
3.1.Ontologien in der Philosophie und der Informatik
3.2.Wiederholung Aussagenlogik und Prädikatenlogik
3.3.RDFS-Semantik
3.4.Beschreibungslogiken
3.5.OWL und OWL-Semantik
3.6.OWL2
3.7.Regeln mit SWRL/RIF
14
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur68
URI / IRI
XML / XSDData Interchange: RDF
RDFS
Ontology: OWL Rule: RIF
Query:SPARQL
Proof
Unifying Logic
Cry
pto
Trust
Interface & Application
Ontology-Level
3. Wissensrepräsentation und Logik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
69
Semantic Web
Nächste Vorlesung: Regeln und Semantic Web Rule Language
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
70
Literatur
»P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure Semantic Web Grundlagen, Springer, 2008.
»P. Hitzler, M. Krötzsch, S. Rudolph:Foundations of Semantic Web Technologies,CRC Press, 2009.
3. Wissensrepräsentation und Logik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
71
Literatur
•Bloghttp://sewe0910.blogspot.com/
•Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/teaching/lectures_classes/semanticweb_ws0910.html
•bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/sw0910_10
Besten Dank auch an Pascal Hitzler, Sebastian Rudolph und Markus Krötzsch für die Vorlesungsunterlagen auf semantic-web-grundlagen.de
3. Wissensrepräsentation und Logik