XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN 2. Übung XQuery Agenda 2 Verarbeitung von XML Allgemein XQuery Übungen Aufgabe 1 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost Verarbeitung von XML 3 Darstellungsformen für XML-Infoset API‘s & Bibliotheken Parser Sprachen Abfrage Veränderung Skripte XPath, XSLT, XQuery , … Speichern Repository DBMS XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XQuery 4 Empfehlung des W3C für eine XML-Anfragesprache basiert auf XPath SQL OQL sowie einigen vorher vorgeschlagenen Sprachen (XQL, XML-QL, Quilt) XML & Semantic Web WS 04/05 Martin Kost XQuery 5 1. 2. 3. 4. 5. 6. Pfadausdrücke Elementkonstruktoren FLWR-Ausdrücke Ausdrücke mit Operatoren und Funktionen Bedingte Ausdrücke Quantizierte Ausdrücke XML & Semantic Web WS 04/05 Martin Kost XQuery-Links 6 XQuery-Spezifikation - http://www.w3.org/TR/xquery/ XQuery Use Cases (Anwendungsgebiete) http://www.w3.org/TR/xquery-use-cases/ IPSI, java basierte Implementierung ff. Pathfinder (http://www.pathfinder-xquery.org/), XQuery compiler für relationale Back-Ends; bildet zusammen mit MonetDB die XQueryImplementation MonetDB/Xquery Umfassende Einführung zu XQuery http://www.ibm.com/developerworks/xml/library/x-xquery.html XQuery Tutorial - http://www.w3schools.com/xquery/default.asp Einführung zu XQuery http://entwickler.de/zonen/portale/psecom,id,101,online,922,p,0.html http://www.yukonxml.com/articles/xquery/ XML & Semantic Web WS 04/05 Martin Kost XQuery-Tools 7 W3C-Liste: http://www.w3.org/XML/Query#products Berkeley DB XML 2.0 (Berkeley Lab's Nux, eine Open Source XQuery Erweiterung zu XOM) XMLSpy mit AddOn Microsoft's SQL Server 2005 Express, mit XQuery Unterstützung Saxonica's Saxon Sourceforge, Software AG, Oracle, … XML & Semantic Web WS 04/05 Martin Kost XQuery - IPSI-XQ 8 Fraunhofer IPSI PSI-XQ implementation of W3C XQuery standard Available for free for non-commercial usage Several (user) interfaces Graphical; Command line; Web interface JAVA API to integrate into applications http://ipsi.fraunhofer.de/ http://www.ipsi.fraunhofer.de/i-info/en/content/view/74/0// Download: http://www.ipsi.fraunhofer.de/i-info/component/option,com_docman XML & Semantic Web WS 04/05 Martin Kost Übungen 9 ~drei bis vier XML-APIs XQuery XM nd I L Im-/ Exp mit D ort von XML aten b g a n ke n u n r e i ex XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost 2. Übung – Aufgabenstellung 10 2. Aufgabe Thema XQuery Gleiche Fragestellungen: Extrahieren geografischer Informationen aus Mondial wie in erster Praktikumsaufgabe Städte Griechenlands Wüsten, Berge, Flüsse Bevölkerungsdichte, Höhe, Koordinaten, Ausdehnung, … Drei-Länder-Ecks Quelle: Mondial Datenbank als aufbereitetes XMLDokument Quelle einlesen und XML-Dokument mit Antworten ausgeben Passende XML-DTD zuweisen XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost 2. Übung – Aufgabenstellung 11 3. Aufgabe Thema XQuery Die XQuery-Abfragen sollen das folgende Ergebnis liefern: Extrahieren von Informationen über Aufgabenverteilungen Ein Wurzelelement Angestellte wird erzeugt Die Elemente Angestellter werden extrahiert Über die Verweise durch das Element Referenz mit dessen Attribut Fähigkeit werden den extrahierten Elementen Angestellter die referenzierten Elemente Fähigkeit hinzugefügt Die Elemente Referenz werden nicht extrahiert Den Angestellten (extrahierte Elemente Angestellter) sollen die zugewiesen Aufgaben (als Elemente Aufgabe) (referenziert über die Zuordnungen) als Inhalt hinzugefügt werden Die Abfragen sollen auf Basis der Schlüssel arbeiten. Quelle: Aufgabenverteilung.xml Quelle einlesen und XML-Dokument mit Antworten ausgeben Passendes XML-Schema erzeugen und zuweisen XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost Literaturangaben 12 http://www.w3.org http://www.w3.org/TR/2004/REC-xml-20040204/ http://www.ibm.com/developerworks/xml/library/x-xqu http://www.yukonxml.com/articles/xquery/ http://www.w3.org/XML/Query#products http://ipsi.fraunhofer.de/ XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost