To continue the guided tour go back where You came from
Continue reading the hints in German (...)Dieser Hinweis ist aus der Übung im WS 1994/95 oder aus einer noch älteren Übung oder war nie Teil einer Übung und ist daher möglicherweise für spätere Übungen nicht gültig!
Konsistenzprüfung
sog. integrity constraints
Bei einer Datenbasis wie in Beispiel 2 ist es
aufgrund der Unzahl der repräsentierten Daten
leicht möglich, daß Daten fehlerhaft eingegeben
wurden (z.B. Tippfehler).
So ist etwa josef_II ein anderer Name als
joseph_II. Um derartige Fehler möglichst
auszuschließen, kann man Zusicherungen
formulieren, wie etwa:
:/- kind_von(Kind, Kind).
% Niemand ist Kind von sich selbst
:/- männlich(Hermaphrodit), weiblich(Hermaphrodit).
% Niemand ist Mann und Frau zugleich
:/- dif(VaterA, VaterB), vater_von(VaterA, Kind), vater_von(VaterB, Kind).
% Niemand hat zwei Väter
Kleiner Vorgriff (wird noch alles detailliert
besprochen):
Um Fehler wie josef_II zu entdecken, verfahre
man wie folgt. Man definiere ein Prädikat
person/1 (oder is_person/1) auf zweierlei
Arten. Einerseits über männlich und weiblich,
andererseits über kind_von/2 und verheiratet/2.
person(Mann) :- % Eine Person
männlich(Mann).% ist männlich
person(Frau) :- % ODER : Eine Person
weiblich(Frau).% ist weiblich
% und jetzt mittels der anderen Prädikat
% ebenfalls angeben, was eine Person ist.
beschriebeneperson(Kind) :-
kind_von(Kind,_). % Kinder sind Personen
beschriebeneperson(Elternteil) :-
kind_von(_, Elternteil). % Eltern auch
beschriebeneperson(Gatte) :-
verheiratet(Gatte, _). % Gatten ebenso
beschriebeneperson(Gattin) :-
verheiratet(_, Gattin). % udn Gattinnen
:/- beschriebeneperson(Person), \+ person(Person).
% Es ist nicht ableitbar:
% Jemand kommt zwar in einer Relation über
% Personen vor (in kind_von etc.), bleibt
% aber in männlich und weiblich unerwähnt.
In der Datenbasis gibt es also zwei Arten
Personen zu beschreiben: Für jede Person,
die in einer Relation (außer männlich/1
und weiblich/1) vorkommt, sollte man auch
das Geschlecht angegeben haben.
BITTE: das \+ (,,not``) muß mit ALLERgrößter
Vorsicht verwendet werden. Hier ist es
angebracht, aber in den Beispielen über Länder
ist es nicht angebracht! Siehe Kapitel 6.
Wenn Sie das \+ verwenden, dann nur in
negativen Zusicherungen der obigen Form!
Gute Verwendung:
:/- Ziel, \+ AnderesZiel.
Falsche Verwendung:
:/- Ziel, \+ AnderesZiel, NocheinZiel.
Zurück: \hinweis{init}
To continue the guided tour go back where You came from
Continue reading the hints in German