Sitzung 9
Transcript of Sitzung 9
Semantic TechnologiesÜbung, Wintersemester 2011/12
7. Dezember 2011 - Regeln
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.
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
Beispiel 1Uni-Vokabular
a
a
aa
aaa
aaaa
aaaaa
RulesRegelsprachen für das Semantic Web
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
• ...
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
SWRLSemantic Web Rule Language
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)
SWRL
• Allgemeine Syntax:
• B1,...,Bn -> A1,...,Am
• Sprich:
• „Aus B1 und B2 ... und Bn folgt A1 und A2 ... und Am.“
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)
SWRL
• Außerdem gilt:
• Die Werte x und y der Prädikate sind
• Werte eines Datentyps
• OWL-Individuen
• Variablen der Form „?a“
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)
RuleML
• Familie von XML-Formaten zur Repräsentation von Regeln
• Basis für XML-Serialisierung von SWRL
Beispiel 2Personen
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.
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.
Aufgabe 3
• Löschen Sie alle Domains und Ranges der Ontologie und formulieren Sie stattdessen Regeln, die den gleichen Effekt haben.
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)