Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
arbeitetIn(w,x) ∧ anstellung(w,FEST) ∧ Uni(x) ∧ Doktorand(y) ∧ betreutVon(y,w) → professorVon(w,y)
Nächster Schritt:
Normalisiere die Regel.
  • Für jedes Vorkommen einer Konstante a der Regel:
    Füge im Rumpf {a}(x) mit einer neuen Variable x ein und ersetze das Vorkommen von a durch x.
  • Ersetze jedes Atom R(x,x) durch ∃R.Self(x).

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
arbeitetIn(w,x) ∧ anstellung(w,z) ∧ {FEST}(z) ∧ Uni(x) ∧ Doktorand(y) ∧ betreutVon(y,w) → professorVon(w,y)
Nächster Schritt:
Konstruiere den Abhängigkeitsgraph:
Ungerichteter Graph mit
  • Knoten = Variablen der Regel
  • Kanten = Rollenatome des Regelrumpfes (ohne Richtung!)

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
arbeitetIn(w,x) ∧ anstellung(w,z) ∧ {FEST}(z) ∧ Uni(x) ∧ Doktorand(y) ∧ betreutVon(y,w) → professorVon(w,y)
Nächster Schritt:
Für jedes Paar von Variablen x und y : Sind x und y im Abhängigkeitsgraph nicht verbunden, d.h. es gibt keinen Pfad zwischen x und y , dann füge im Rumpf U(x,y) ein.

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
arbeitetIn(w,x) ∧ anstellung(w,z) ∧ {FEST}(z) ∧ Uni(x) ∧ Doktorand(y) ∧ betreutVon(y,w) → professorVon(w,y)
Nächster Schritt:
Der Regelkopf hat nun die Form D(z) oder S(z,z0) . Für jedes Atom R(x,y) im Rumpf: Falls im Abhängigkeitsgraph der Pfad von z nach y kürzer ist als der von z nach x , so ersetze R(x,y) mit R (y,x) .

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
arbeitetIn(w,x) ∧ anstellung(w,z) ∧ {FEST}(z) ∧ Uni(x) ∧ Doktorand(y) ∧ betreutVon(w,y) → professorVon(w,y)
Nächster Schritt:
Falls im Rumpf ein Atom R(x,y) vorkommt, so dass y in keinem anderen zweistelligen Atom der Regel auftritt:
  • Wenn der Rumpf n einstellige Atome C 1 (y),...,C n (y) enthält, dann definiere \(E:=C_1\sqcap\ldots\sqcap C_n\) und entferne C 1 (y),...,C n (y) aus dem Rumpf. Andernfalls definiere \(E := \top\).
  • Ersetze R(x,y) durch ∃R.E(x) .
Wiederhole Schritt 4 solange es solche R(x,y) gibt.

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
∃arbeitetIn.Uni(w) ∧ ∃anstellung.{FEST}(w) ∧ Doktorand(y) ∧ betreutVon(w,y) → professorVon(w,y)
Nächster Schritt:
Für jedes einstellige Atom C(z) im Rumpf:
Erzeuge ein neues Axiom C ≡ ∃R C .Self (die Rolle R C ist neu) und ersetze C(z) durch R C (z,z) .

Übung

Konvertieren Sie folgende Regel in SROIQ-Axiome:
∃R1.Self ≡ ∃arbeitetIn.Uni
∃R2.Self ≡ ∃anstellung.{FEST}
∃R3.Self ≡ Doktorand

R1(w,w) ∧ R2(w,w) ∧ R3(y,y) ∧ betreutVon(w,y) → professorVon(w,y)
Nächster Schritt:
Die Regel hat nun die Form R1(x,x2) ∧ ... ∧ Rn(xn,y) → S(x,y).
Ersetze sie durch \(R_1\circ\ldots\circ R_n\sqsubseteq S\).

Übung: Lösung

\[ \exists R_1.Self \equiv \exists arbeitetIn.Uni \] \[ \exists R_2.Self \equiv \exists anstellung . \{ FEST \} \] \[ \exists R_3.Self \equiv Doktorand \]
\[ R_1 \circ R_2 \circ betreutVon^{-} \circ R_3 \sqsubseteq professorVon \]