Sitzung 9
Transcript of Sitzung 9
![Page 1: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/1.jpg)
Semantic TechnologiesÜbung, Wintersemester 2011/12
7. Dezember 2011 - Regeln
![Page 2: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/2.jpg)
Aufgabe
• Bearbeiten Sie das Protégé OWL Tutorial:
‣ http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/
• Schauen Sie sich die entstehende OWL-Datei beim Bearbeiten parallel in einem Text-Editor an.
• Folgen Sie den einzelnen Exercises soweit wie sie können und senden Sie mir die entstandene Pizza-Ontologie.
![Page 3: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/3.jpg)
Reasoner
• Inferenzmaschine im Kontext des Semantic Web
•Nützlich für:
• Ableitung neuer Tripel aus bestehenden
• Prüfung der Konsistenz von Ontologien
• Beispiele: Pellet, FaCT++, HermiT
![Page 4: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/4.jpg)
Beispiel 1Uni-Vokabular
![Page 5: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/5.jpg)
a
![Page 6: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/6.jpg)
a
![Page 7: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/7.jpg)
aa
![Page 8: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/8.jpg)
aaa
![Page 9: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/9.jpg)
aaaa
![Page 10: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/10.jpg)
aaaaa
![Page 11: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/11.jpg)
RulesRegelsprachen für das Semantic Web
![Page 12: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/12.jpg)
Rules
• Implizite Regeln in RDFS & OWL
• Beispiele:
• „Alle Professoren sind Dozenten“ - rdfs:subClassOf
• „Wenn ein Seminar von einem Dozenten gehalten wird, dann hält dieser Dozent das Seminar“ - owl:inverseOf
• „Hauptseminare werden nur von Professoren gehalten“ - owl:Restriction
• ...
![Page 13: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/13.jpg)
Rules
• Problem:
• „Eine Person mit einem männlichen Geschwisterteil hat einen Bruder.“
• IF ?x hasSibling ?yAND ?y rdf:type ManTHEN ?x ?hasBrother ?y.
• Nicht durch OWL-Konstrukte ausdrückbar.
➡Lösung: Regelsprachen
![Page 14: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/14.jpg)
SWRLSemantic Web Rule Language
![Page 15: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/15.jpg)
SWRL
• Kombiniert OWL mit Horn-Logik
• Bsp.:
• IF ?x hasSibling ?yAND ?y rdf:type ManTHEN ?x ?hasBrother ?y.
➡In SWRL:
• hasSibling(?x,?y), Man(?y) -> hasBrother(?x,?y)
![Page 16: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/16.jpg)
SWRL
• Allgemeine Syntax:
• B1,...,Bn -> A1,...,Am
• Sprich:
• „Aus B1 und B2 ... und Bn folgt A1 und A2 ... und Am.“
![Page 17: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/17.jpg)
SWRL
• Dabei gilt:
• Die Prädikate B1 ... Bn und A1 ... An sind
• OWL-Klassen der Form C(x)
• OWL-Eigenschaften der Form P(x,y)
![Page 18: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/18.jpg)
SWRL
• Außerdem gilt:
• Die Werte x und y der Prädikate sind
• Werte eines Datentyps
• OWL-Individuen
• Variablen der Form „?a“
![Page 19: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/19.jpg)
SWRL
• Beispiele:
• Professor(?x) -> Dozent(?x)
• haelt(?x,?y) -> wirdGehaltenVon(?y,?x)
• haelt(thaller,?y), teilnehmer(?x,?y)! -> interessiertSichFuer(?x,?y)
• title("Semantic Technologies",?y), Uebung(?y)! -> interessiertSichFuer(?x,?y)
![Page 20: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/20.jpg)
RuleML
• Familie von XML-Formaten zur Repräsentation von Regeln
• Basis für XML-Serialisierung von SWRL
![Page 21: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/21.jpg)
Beispiel 2Personen
![Page 22: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/22.jpg)
Aufgabe 1
• Erstellen Sie mit Protégé eine möglichst reichhaltige OWL-Ontologie für Familienbeziehungen. Folgende Klassen und Eigenschaften sollen enthalten sein:
• Person, MalePerson, FemalePerson, hasSibling, hasBrother, hasSister, hasChild, hasSon, hasDaughter, hasParent, hasFather, hasMother
• Nutzen Sie den Reasoner für Konsistenzchecks.
![Page 23: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/23.jpg)
Aufgabe 2
• Legen sie mehrere Individuals als Instanzen von Thing und Beziehungen zwischen diesen Instanzen an.
• Nutzen Sie den Reasoner um automatisch auf die Klassen dieser Individuals zu schließen.
![Page 24: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/24.jpg)
Aufgabe 3
• Löschen Sie alle Domains und Ranges der Ontologie und formulieren Sie stattdessen Regeln, die den gleichen Effekt haben.
![Page 25: Sitzung 9](https://reader033.fdocument.pub/reader033/viewer/2022052906/558df4c41a28ab91598b472a/html5/thumbnails/25.jpg)
Aufgabe 4
• Geben Sie Regeln in SWRL an, die die Ableitung spezifischerer Properties möglich machen.
• Bsp.:
• MalePerson(?y), Person(?p), hasSibling(?p, ?y) ! -> hasBrother(?p, ?y)