eTutor XQuery und Datalog - Data & Knowledge Engineering
eTutor XQuery und Datalog - Data & Knowledge Engineering
eTutor XQuery und Datalog - Data & Knowledge Engineering
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
18 Kapitel 3. Lösungsansatz<br />
<strong><strong>Data</strong>log</strong>-Prozessor liefert in diesem Fall die beiden möglichen Modelle, die in der<br />
Abbildung mit (a) <strong>und</strong> (b) gekennzeichnet werden.<br />
Nicht stratifizierbare Regeln müssen allerdings nicht unbedingt dazu führen, dass<br />
sich die Lösung aus mehr als einem Modell zusammensetzt. Ebenso wie bei<br />
inkonsistenten Regeln ist es auch möglich, dass kein einziges Modell gültig ist. In<br />
jedem Fall wird der Benutzer darauf hingewiesen, dass ein Fehler in der<br />
Formulierung der Regeln vorliegt, der mit der Stratifizierung zusammenhängen<br />
könnte. In Abbildung 3.7 wird ein Beispiel für nicht stratifizierbare Regeln<br />
gezeigt, bei dem der eingesetzte <strong><strong>Data</strong>log</strong>-Prozessor im Gegensatz zum vorigen<br />
Beispiel kein einziges konsistentes Modell liefert. Der Unterschied liegt hier<br />
lediglich darin, dass eine der negativen Kanten im Zyklus entfernt wurde.<br />
person(max).<br />
ledig(X) :- not verheiratet(X), person(X).<br />
verheiratet(X) :- not ledig(X), person(X).<br />
verheiratet(max).<br />
ledig(max).<br />
(a)<br />
(b)<br />
Abbildung 3.6: Nicht stratifizierbare Regeln, kein eindeutiges Modell<br />
person(max).<br />
ledig(X) :- verheiratet(X), person(X).<br />
verheiratet(X) :- not ledig(X), person(X).<br />
Abbildung 3.7: Nicht stratifizierbare Regeln, inkonsistentes Modell<br />
3.1.3. Feedback<br />
Für die Präsentation von Analyse- <strong>und</strong> Bewertungsergebnissen werden die<br />
Klassen im Java-Package etutor.modules.datalog.report eingesetzt. Die zentrale<br />
Klasse ist hier etutor.modules.datalog.report.<strong><strong>Data</strong>log</strong>Report, in der Methoden<br />
definiert sind, aus deren Ergebnissen sich die aufbereiteten Analyse- <strong>und</strong><br />
Bewertungsergebnisse zusammensetzen. Das Ausmaß gewünschter Diagnosetiefe<br />
wird über einen Parameter bestimmt. Je höher dieses Diagnose-Level innerhalb<br />
des zulässigen Wertebereiches gesetzt wird, desto mehr Informationen über die<br />
Analyseergebnisse werden an den Benutzer zurückgeliefert. Auf der niedrigsten<br />
Stufe etwa wird nur das Auswertungsergebnis angezeigt, bzw. gegebenenfalls