Aufgabe 14: Datalognot I
18
Gegeben sei eine Faktenbasis in Datalognot zu der aus der Vorlesung bekannten Company-Datenbank. Sie finden die Faktenbasis in der Datei company.pl auf WueCampus.
- Definieren Sie ein Prädikat
woman works at plocation(+PLocation, −LastName),
das den Nachnamen (LastName) einer Mitarbeiterin bestimmt, die an einem Projekt arbeitet, das einem bestimmten Ort (PLocation) zugeordnet ist.
Beispiel:
?- woman works at plocation(’Sugarland’, LastName).
LastName = ’English’. - Definieren Sie ein Praäikat same minit different sex(−ESSN1, −ESSN2) an, das die ESSN zweier Mitarbeiter unterschiedlichen Geschlechts ausgibt, deren MINIT übereinstimmt.
Beispiel:
?- same minit different sex(ESSN1, ESSN2).
ESSN1 = 222222222,
ESSN2 = 666666666. - Geben Sie eine Anfrage in Datalognot an, welche alle Angestellten ermittelt, die an einem Projekt arbeiten, an dem ihr Vorgesetzter nicht arbeitet. Die SSN des Vorgestzten ist dabei als SuperSSN gespeichert (s. Skript, Folie 324).
- Erweitern Sie (falls nötig) ihre Lösung aus Teilaufgabe c), sodass bei Aufruf keine Mitarbeiter mehr ausgegeben werden, die keinen Vorgesetzten haben.
0%
Lösung folgt irgendwann.
Aufgabe 15: Datalognot II
12
Gegeben sei ein Xml-Dokument, das Buüher und Kunden einer Bibiliothek beschreibt. Sie finden die zugehörige Xml-Datei bibliothek.xml auf WueCampus.
- Repräsentieren Sie den Inhalt des Xml-Dokuments durch Fakten in Datalognot, z.B.kunde(’k27183’, ’Mustermann’).Beachten Sie dabei, dass es in Datalognot keine Listen gibt.
- Schreiben Sie ein Prädikat ist entliehen(?BuchId), das überprüft, ob ein Buch bereits einmal entliehen wurde.
- Schreiben Sie ein Prädikat autor und kunde(?Name, -KundenId, -BuchId), das überprüft, ob ein Autor eines Buchs zugleich Kunde ist.
0%
Lösung folgt irgendwann.