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 1
 Uni-Vokabular
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
Rules
Regelsprachen 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 ?y
      AND ?y rdf:type Man
      THEN ?x ?hasBrother ?y.

 • Nicht durch OWL-Konstrukte ausdrückbar.
➡Lösung: Regelsprachen
SWRL
Semantic Web Rule Language
SWRL

• Kombiniert OWL mit Horn-Logik
• Bsp.:
 •   IF ?x hasSibling ?y
     AND ?y rdf:type Man
     THEN ?x ?hasBrother ?y.

➡In SWRL:
 •   hasSibling(?x,?y), Man(?y) -> hasBrother(?x,?y)
SWRL

• Allgemeine Syntax:
 • B ,...,B -> A ,...,A
      1        n       1         m

• Sprich:
 • „Aus B und B ... und B folgt A und A
           1       2       n    1     2   ... und Am.“
SWRL

• Dabei gilt:
 • Die Prädikate B ... B und A ... A sind
                   1    n     1    n

   • 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 2
  Personen
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)

Sitzung 9

  • 1.
    Semantic Technologies Übung, Wintersemester 2011/12 7. Dezember 2011 - Regeln
  • 2.
    Aufgabe • Bearbeiten Siedas 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.
  • 3.
    Reasoner • Inferenzmaschine imKontext des Semantic Web • Nützlich für: • Ableitung neuer Tripel aus bestehenden • Prüfung der Konsistenz von Ontologien • Beispiele: Pellet, FaCT++, HermiT
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Rules • Implizite Regelnin 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 • ...
  • 13.
    Rules • Problem: •„Eine Person mit einem männlichen Geschwisterteil hat einen Bruder.“ • IF ?x hasSibling ?y AND ?y rdf:type Man THEN ?x ?hasBrother ?y. • Nicht durch OWL-Konstrukte ausdrückbar. ➡Lösung: Regelsprachen
  • 14.
  • 15.
    SWRL • Kombiniert OWLmit Horn-Logik • Bsp.: • IF ?x hasSibling ?y AND ?y rdf:type Man THEN ?x ?hasBrother ?y. ➡In SWRL: • hasSibling(?x,?y), Man(?y) -> hasBrother(?x,?y)
  • 16.
    SWRL • Allgemeine Syntax: • B ,...,B -> A ,...,A 1 n 1 m • Sprich: • „Aus B und B ... und B folgt A und A 1 2 n 1 2 ... und Am.“
  • 17.
    SWRL • Dabei gilt: • Die Prädikate B ... B und A ... A sind 1 n 1 n • OWL-Klassen der Form C(x) • OWL-Eigenschaften der Form P(x,y)
  • 18.
    SWRL • Außerdem gilt: • Die Werte x und y der Prädikate sind • Werte eines Datentyps • OWL-Individuen • Variablen der Form „?a“
  • 19.
    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)
  • 20.
    RuleML • Familie vonXML-Formaten zur Repräsentation von Regeln • Basis für XML-Serialisierung von SWRL
  • 21.
    Beispiel 2 Personen
  • 22.
    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.
  • 23.
    Aufgabe 2 • Legensie 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.
  • 24.
    Aufgabe 3 • LöschenSie alle Domains und Ranges der Ontologie und formulieren Sie stattdessen Regeln, die den gleichen Effekt haben.
  • 25.
    Aufgabe 4 • GebenSie Regeln in SWRL an, die die Ableitung spezifischerer Properties möglich machen. • Bsp.: • MalePerson(?y), Person(?p), hasSibling(?p, ?y) ! -> hasBrother(?p, ?y)