19.01.2010 - 10 - OWL 2

71
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 ).

description

 

Transcript of 19.01.2010 - 10 - OWL 2

Page 1: 19.01.2010 - 10 - OWL 2

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).

Page 2: 19.01.2010 - 10 - OWL 2

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

Page 3: 19.01.2010 - 10 - OWL 2

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

Page 4: 19.01.2010 - 10 - OWL 2

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

Page 5: 19.01.2010 - 10 - OWL 2

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

OWL 2

OWL

OWL 2

SHOIN(D) SHROIQ(D)

Erweiterung

Page 6: 19.01.2010 - 10 - OWL 2

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

Page 7: 19.01.2010 - 10 - OWL 2

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

Page 8: 19.01.2010 - 10 - OWL 2

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

Page 9: 19.01.2010 - 10 - OWL 2

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

Page 10: 19.01.2010 - 10 - OWL 2

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)

Page 11: 19.01.2010 - 10 - OWL 2

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)

Page 12: 19.01.2010 - 10 - OWL 2

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

Page 13: 19.01.2010 - 10 - OWL 2

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

Page 14: 19.01.2010 - 10 - OWL 2

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

Page 15: 19.01.2010 - 10 - OWL 2

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

Page 16: 19.01.2010 - 10 - OWL 2

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

Page 17: 19.01.2010 - 10 - OWL 2

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

Page 18: 19.01.2010 - 10 - OWL 2

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

Page 19: 19.01.2010 - 10 - OWL 2

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 !

Page 20: 19.01.2010 - 10 - OWL 2

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

Page 21: 19.01.2010 - 10 - OWL 2

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)

Page 22: 19.01.2010 - 10 - OWL 2

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

Page 23: 19.01.2010 - 10 - OWL 2

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

Page 24: 19.01.2010 - 10 - OWL 2

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.

Page 25: 19.01.2010 - 10 - OWL 2

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

Page 26: 19.01.2010 - 10 - OWL 2

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

Page 27: 19.01.2010 - 10 - OWL 2

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

Page 28: 19.01.2010 - 10 - OWL 2

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

Page 29: 19.01.2010 - 10 - OWL 2

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

Page 30: 19.01.2010 - 10 - OWL 2

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

Page 31: 19.01.2010 - 10 - OWL 2

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“ />

Page 32: 19.01.2010 - 10 - OWL 2

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>

Page 33: 19.01.2010 - 10 - OWL 2

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>

Page 34: 19.01.2010 - 10 - OWL 2

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.

Page 35: 19.01.2010 - 10 - OWL 2

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>

Page 36: 19.01.2010 - 10 - OWL 2

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

Page 37: 19.01.2010 - 10 - OWL 2

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>

Page 38: 19.01.2010 - 10 - OWL 2

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

Page 39: 19.01.2010 - 10 - OWL 2

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>

Page 40: 19.01.2010 - 10 - OWL 2

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

Page 41: 19.01.2010 - 10 - OWL 2

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>

Page 42: 19.01.2010 - 10 - OWL 2

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>

Page 43: 19.01.2010 - 10 - OWL 2

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>

Page 44: 19.01.2010 - 10 - OWL 2

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

Page 45: 19.01.2010 - 10 - OWL 2

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

Page 46: 19.01.2010 - 10 - OWL 2

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

Page 47: 19.01.2010 - 10 - OWL 2

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

Page 48: 19.01.2010 - 10 - OWL 2

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.

Page 49: 19.01.2010 - 10 - OWL 2

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

• ...

Page 50: 19.01.2010 - 10 - OWL 2

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).

Page 51: 19.01.2010 - 10 - OWL 2

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

Page 52: 19.01.2010 - 10 - OWL 2

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

Page 53: 19.01.2010 - 10 - OWL 2

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

Page 54: 19.01.2010 - 10 - OWL 2

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

Page 55: 19.01.2010 - 10 - OWL 2

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...

Page 56: 19.01.2010 - 10 - OWL 2

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

Page 57: 19.01.2010 - 10 - OWL 2

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,..

⊓∃⊤⊥ ⊑ ⊓∃⊤⊥

Page 58: 19.01.2010 - 10 - OWL 2

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,..

Page 59: 19.01.2010 - 10 - OWL 2

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

Page 60: 19.01.2010 - 10 - OWL 2

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)

Page 61: 19.01.2010 - 10 - OWL 2

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)

Page 62: 19.01.2010 - 10 - OWL 2

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), ...

Page 63: 19.01.2010 - 10 - OWL 2

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), ...

Page 64: 19.01.2010 - 10 - OWL 2

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) )

Page 65: 19.01.2010 - 10 - OWL 2

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)

Page 66: 19.01.2010 - 10 - OWL 2

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...)

Page 67: 19.01.2010 - 10 - OWL 2

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

Page 68: 19.01.2010 - 10 - OWL 2

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

Page 69: 19.01.2010 - 10 - OWL 2

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

69

Semantic Web

Nächste Vorlesung: Regeln und Semantic Web Rule Language

Page 70: 19.01.2010 - 10 - OWL 2

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

Page 71: 19.01.2010 - 10 - OWL 2

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