Transcript XML-Query

XML-Query
Übersicht
•Was ist XML-Query?
•Vergleich RDB XML-Dokument
•Syntaktisches und Use-Cases
•Kritik und Diskussion
Was ist ...
Xpath
Schema
XML-Query ?
XML
Was macht XML-Query ?
• Extrahieren von Daten aus Dokumenten.
• Link zur DB-Welt
• Wichtiges Bindeglied in der XML-Welt
„Ultimately, collections of XML files will be
accessed like databases.”
Ziele ...
goals: “Queries operate on single documents or fixed
collections of documents. They can select whole
documents or subtrees of documents that match
conditions defined on document content and structure,
and can construct new documents based on what is
selected”
... und Anwendungen
• Strukturierte “Human readable” Dokumente durchsuchen
• Queries für XML-Repräsentationen von Datenbanken
• Administratives: Queries für Konfigurations-dateien
• Kataloge durchsuchen : Informationen von verschiedenen
Anbietern holen und vergleichen
Allgemein: Extrahieren und neu zusammenstellen
von Dokumenten mit Berücksichtigung der XMLStruktur.
Entwicklungsstand
• Richtlinien des W3C für XMLQuery Sprachen.
• Erste Xquery V1.0
• Erste Demoanwendungen
Vergleich RDB
XML-Dokument
ERM vs. DTD
DB bib
Dem entspricht DTD:
Book
<!ELEMENT bib (book* )>
<!ELEMENT book (title, author)>
....
Title
Oder Schema ...
#ISBN
#ISBN
#AutNr
Author
#AutNr
Name
Tabellen vs. Baumstruktur
DB bib
<bib>
Book
<book>
ISBN
Titel
11..
XQL ...
12..
SQL ...
<title ISBN=„12..“>SQL</title>
<author>
<name>Meyer</name>
BookAuthor
ISBN
AuthorNr
11..
1
12..
1
Author
</author>
</book>
.....
</bib>
AuthorNr
Name
1
Meyer
Syntaktisches
Syntaktisches
• Xquery
<bib>
{
SELECT
year, title FROM book
for
$b in document("/XQuery/docs/XMP/bib.xml")/bib/book
where
$b/publisher
"Addison-Wesley"
and $b/@year
> 1991
WHERE
author=„=Addison-Wesley
“ AND
year > 1991
return
;
<book year={ $b/@year }>
{ $b/title }
</book>
}
</bib>
Syntaktisches
• XML-QL
where <PLAY.ACT>
<TITLE>$at</>
<SCENE>
<TITLE>$st</>
<SPEECH><SPEAKER>$sp</SPEAKER>
<LINE>$l</LINE>
</SPEECH>
</SCENE>
</> in "http://bilbo.cis.upenn.edu/~adeutsch/xmlqldemo/xml/shakespeare/j_caesar.xml",
text($l) like ".*(Et tu, Brute!).*"
Syntaktisches
• XML-QL
construct <quote>
<person>$sp</>
<act>$at</>
<scene>$st</>
</quote>
Zusammengefasst
Zugriff mit SQL
Zugriff mit XML-Querylanguage
Über Tabellenstruktur,
Über Baumstruktur,
Attributnamen (Col.)
Knotennamen und
und Zellwerte.
Blattwerte.
Vor und Nachteile
Effiziente Struktur (schnell)
Redundanzverminderung
Kontrollmechanismen
Verständliche Struktur
Redundanzen
Kritik und Diskussion
•
•
•
•
•
Kann XML Datenbanken ersetzen?
Wer stellt XML-Dokumente zur Verfügung?
Serversite, Clientsite?
Braucht die Welt XML-Query?
XML-Query geht nicht weiter als die
Formatierung des Textes es erlaubt.
Links
• http://www.w3c.org/XML/Query
• http://bilbo.cis.upenn.edu/~adeutsch/xmlqldemo/html/
• http://217.77.130.189/demos/xquery/index.html