22.04.2015 Aufrufe

eTutor XQuery und Datalog - Data & Knowledge Engineering

eTutor XQuery und Datalog - Data & Knowledge Engineering

eTutor XQuery und Datalog - Data & Knowledge Engineering

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

22 Kapitel 3. Lösungsansatz<br />

3.2. <strong>XQuery</strong>-Modul<br />

Eine Übungsaufgabe, die im <strong>XQuery</strong>-Modul definiert wird, setzt sich aus<br />

mindestens einem XML-Dokument zusammen, das die Datenbasis darstellt, sowie<br />

aus einem <strong>XQuery</strong>-Ausdruck – der Musterlösung. Abbildung 3.10 zeigt ein<br />

einfaches Beispiel eines XML-Dokumentes, das Informationen zu Personen<br />

enthält.<br />

<br />

<br />

Maria<br />

ledig<br />

<br />

<br />

Max<br />

verheiratet<br />

<br />

<br />

Michael<br />

ledig<br />

<br />

<br />

Berta<br />

verwitwet<br />

<br />

<br />

Abbildung 3.10: XML-Dokument als Datenbasis für eine <strong>XQuery</strong>-Aufgabe<br />

Ein ebenso einfaches Beispiel für einen <strong>XQuery</strong>-Ausdruck, der die Musterlösung<br />

darstellen könnte, wird in Abbildung 3.11 gezeigt. Ermittelt werden sollen alle<br />

Personen, deren Name mit dem Buchstaben M beginnt, wobei diese Personen<br />

nach ihrem Namen sortiert ausgegeben werden sollen. Über die doc-Funktion<br />

kann auf die XML-Dokumente zugegriffen werden, die als Datenbasis dienen. In<br />

diesem Beispiel wird also angenommen, dass das Dokument über die angegebene<br />

URL geladen werden kann.<br />

let $db := doc('http://etutor.dke.uni-linz.ac.at/XML?id=1')/db,<br />

$personen := $db/person<br />

return (<br />

for $p in $personen[starts-with(name,'M')]<br />

order by $p/name<br />

return $p)<br />

Abbildung 3.11: <strong>XQuery</strong>-Ausdruck für eine <strong>XQuery</strong>-Aufgabe<br />

Als Ergebnis dieser Abfrage werden drei XML-Knoten geliefert, die für die<br />

gewünschten Personen stehen. Das Ergebnis wird bei der Analyse immer als

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!