Querying XML

Werbung
Teil 2
Querying XML
Literatur:
• A. Deutsch et. al. "A Query Language for XML"
(www.w3.org/TR/NOTE-xml-ql-19980819)
• Jonathan Robie (ed.) "XQL (XML Query Language)"
(metalab.unc.edu/xql/xql-proposal.xml)
• A. Bonifati, S. Ceri: "Comparative Analysis of Five
XML Query Languages" (SIGMOD Record, März 2000)
1
Gliederung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Motivation
– Einsatzgebiete von XML-Anfragesprachen
– Unterschied zu SQL/OQL
• Anfragesprachen für XML
–
–
–
–
–
–
–
Hauptbestandteile
Reguläre Pfadausdrücke
Sortieren
Quantifizierung, Negation
Subqueries
Kombinieren von Quellen (Joins)
Bewertung
2
Warum Query Languages für XML?
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Daten-Extraktion
"Liefere alle Autoren aller Bücher"
• Daten-Transformation
"Erstelle ein neues Dokument mit den Autoren aller
Bücher"
• Daten-Konversion
"Restrukturiere ein XML-Dokument exportiert von einem
RDBMS in ein Dokument zum Import in ein OODBMS"
• Daten-Integration
"Erstelle eine Sicht auf Daten, die zu unterschiedlichen
DTDs gehören"
3
Warum nicht SQL/OQL verwenden?
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Relationale/objektorientierte Daten sind
wohlstrukturiert:
– Vorgegebenes Schema
– Daten werden passend zu Schema importiert
• XML-Dokumente sind oft semistrukturiert:
– Kein Schema vorhanden (Dokumente ohne DTD)
– Wenig restriktive DTD
• SQL: Keine Unterstützung für Baumstruktur
• Keine/unzureichende Möglichkeiten, SchemaInformationen anzufragen
• Keine/unzureichende Konstruktions-Operatoren
• Keine SQL/OQL-Konstrukte zur Integration von
verschiedenen Quellen
4
DTD mit strukturellen Alternativen
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
Optionale
Anleitung
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ATTLIST
rezepte (rezept)+>
rezept (name, zutaten, (anleitung)?)>
name (#PCDATA)>
zutaten (text | (zutat)+)>
text
(#PCDATA)>
zutat
(#PCDATA)>
zutat
XML und IR
ID
#REQUIRED
Struktur
Zutaten werden entweder nummer
IR und QL für XML
durch einen Text beschrieben mische-mit IDREF
#IMPLIED
Path Expressions
User Interfaces oder einzeln aufgelistet.
nötig
(ja|nein) "ja">
ApproXQL-Ansatz
Datenmodell
<!ELEMENT anleitung
(#PCDATA)>
Anfragesprache
Ähnlichkeit
Enthaltensein
5
Anfragesprachen für XML
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Vorgestellt und verglichen werden
• XML-QL
A. Deutsch, M. Fernandez, D. Florescu, A. Levy, D. Suciu
www.w3.org/TR/NOTE-xml-ql-19980819
• XQL
J. Robie (editor)
metalab.unc.edu/xql/xql-proposal.xml
6
Hauptbestandteile der Sprachen
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Pattern clause
– Matchen von (verschachtelten) Elementen
– Binden von Variablen
• Filter clause
– Vergleichen von Variablen mit Konstanten und
Variablen
• Constructor clause
– Erzeugen von neuen XML-Dokumenten
XML-QL unterstützt alle drei Konstrukte.
XQL unterstützt Patterns und Filters, sowie
implizit auch Constructors (renaming, grouping)
7
Beispiel
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
XML-QL
WHERE
<rezepte.rezept.zutaten>
<zutat masse=$m> $z </zutat>
</> IN "www.me.de/rezepte.xml",
$m >= 100
CONSTRUCT
<hauptzutat> $z </hauptzutat>
Pattern
Filter
Constructor
XQL
document("www.me.de/rezepte.xml")
/rezepte/rezept/zutaten/zutat
[@masse > 100]
Pattern
Gebe Subtrees mit
Wurzel zutat zurück
Filter
8
Pfadausdrücke
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Pfade spezifizieren Position
von Objekten über mehrere
Knoten hinweg.
rezepte
Pfad
rezept
name
zutaten
zutat
Torte
anleitung
...
Salz
XML-QL
XQL
<rezepte><rezept><name>
Torte
</></></>
/rezepte/rezept/name="Torte"
oder
<rezepte.rezept.name>Torte</>
9
Reguläre Pfadausdrücke
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Zweck:
• Überspringen von Knoten (Elementen)
• Alternative Pfade zu einem Zielknoten
Operatoren
• Überspringe einen Knoten
XQL: a/*/b
XML-QL: a.$.b
• Überspringe beliebig viele Knoten
XQL: a//b
XML-QL: a.$*.b
• Alternative Knoten
XQL: a | b
XML-QL: a | b
• Optionaler Knoten (nicht vorh. in XQL, XML-QL)
10
Beispiel
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Selektiere alle Rezepte, die 'Olive' entweder
als Zutat verwenden, oder in der Anleitung
erwähnen."
XML-QL
WHERE
<rezepte.rezept>
<(zutaten.zutat) | anleitung> '*Olive*' </>
</> ELEMENT_AS $r IN "www.me.de/rezepte.xml"
CONSTRUCT $r
XQL
/rezepte/rezept/((zutaten/zutat) | anleitung)
[text() contains 'Olive']
11
Sortieren
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Liste alle Zutaten geordnet nach Masse auf"
XQL
(noch) nicht möglich
XML-QL
WHERE
<rezepte.rezept.zutaten>
<zutat masse=$m> $z </zutat>
</> IN "www.me.de/rezepte.xml",
ORDERED-BY $m
CONSTRUCT
<zutat> $z </zutat>
12
Quantoren, Negation
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Existenzquantor in XML-QL und XQL vorhanden
• Allquantor und Negation nur in XQL
"Liefere Rezepte, bei denen jede Zutat mindestens 10
Gramm hat."
/rezepte/rezept[zutaten[$all$ zutat@masse >= 10]]
"Liefere Rezepte, bei denen die Zutat 'Butter' nicht
vorkommt."
/rezepte/rezept[$not$ zutaten[zutat = 'Butter']]
13
Subqueries
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Liste alle Zutaten auf, und für jede Zutat die Namen aller
Rezepte, in denen sie verwendet wird."
Schachtelung
CONSTRUCT <zutaten> {
von Queries
WHERE
<rezepte.rezept.zutaten.zutat> $z
</> IN "www.me.de/rezepte.xml"
CONSTRUCT
<zutat>
<name> $z </name> {
Join über
WHERE
Variable $z
<rezepte.rezept>
<name> $n </>
<zutaten.zutat> $z </>
</> IN "www.me.de/rezepte.xml"
CONSTRUCT <rezept> $n </rezept>
} </zutat>
} </zutaten>
14
Subqueries mit Skolem-Funktionen
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Liste alle verschiedenen Zutaten auf, und für jede Zutat
die Namen aller Rezepte, in denen sie verwendet wird."
CONSTRUCT <zutaten> {
WHERE
<rezepte.rezept>
<name> $n </>
<zutaten.zutat> $z </>
</> IN "www.me.de/rezepte.xml"
CONSTRUCT
<zutat ID=ZutatzID($z)>
<name> $z </name>
<rezept> $n </rezept>
</zutat>
} </zutaten>
Skolem-Funktion:
Erzeugt für jedes
unterschiedliche
Argument-Tupel
einen neuen Wert
15
Kombinieren von Quellen
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Join-Operationen erst in neuer Version von XQL
möglich.
Annahme im folgenden: Es gibt ein XML-Dokument über
Bücher mit Rezepten:
<bücher>
<buch>
<titel>Das Kochbuch</titel>
...
<index>
<rezept>Quarkstrudel</rezept>
...
</index>
</buch>
...
</bücher>
16
Kombinieren von Quellen (XML-QL)
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Liste alle Rezeptnamen auf, die in einem Kochbuch im
Index vorkommen."
XML-QL
CONSTRUCT <rezepte> {
WHERE
<rezepte.rezept.name> $r
</> IN "www.me.de/rezepte.xml",
<bücher.buch.index.rezept> $r
</> IN "www.me.de/buecher.xml"
CONSTRUCT
<rezept>
<name> $r </name>
</rezept>
} </rezepte>
Join über
Variable $r
17
Kombinieren von Quellen (XQL)
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Liste alle Rezeptnamen auf, die in einem Kochbuch im
Index vorkommen."
XQL
Variable
document("www.me.de/rezepte.xml")
Binding
/rezepte/rezept/name[$r := .]
[
document("www.me.de/buecher.xml")
/bücher/buch/index[rezept = $r]
]
Filter
Join über
Variable $r
18
Bewertung von XML-QL und XQL
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
XML-QL
• Sehr mächtig ("relational vollständig")
• Konstruktion neuer Dokumente
• Relativ komplizierte Syntax
• Queries nicht in XML-Format
XQL
• Entwickelt als einfache Selektionsprache
• Stark erweiterte Funktionalität in zweiter Version
– Syntax der Erweiterungen schwer verständlich
• In URLs einbettbar
• Keine Konstruktoren
– In 2. Version lediglich Umbenennung von Elementen sowie
Auswahl der ins Ergebnis übernommenen Elemente.
19
Teil 3
XML und Information Retrieval
20
Gliederung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Einbeziehung der Dokument-Struktur
• XML-Anfragesprachen und IR
– Probleme
– Lösungsansatz mit Regular Path Expressions
– Lösungsansatz mit User Interface
• Der ApproXQL-Ansatz
–
–
–
–
Datenmodell
Anfragesprache
Ähnliche Strukturen
Vages Enthaltensein
21
Grundprinzip des IR
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Grundprinzip des IR:
– Es gibt ein Informationsbedürfnis
– Gesucht sind Dokumente, die Informationsbedürfnis
befiedigen
• Merkmale
– vage Dokumentrepräsentation
(Vergabe von Deskriptoren)
– vage Queryformulierung
(Abbildung Informationsbedürfnis auf Keywords)
– vage Abbildung von Query auf DokumentRepräsentation
22
Was ändert sich durch Struktur?
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Struktur
– in den Dokumenten
– in den Anfragen
kann helfen, die Präzision der Anfragen zu
erhöhen.
• Interpretation der Struktur
– vage in Dokumenten, Query und Abbildung
-> unrealistisch, da Struktur in Dokumenten vorgegeben
– streng in Dokumenten, Query und Abbildung
-> XML-Anfragesprachen, IR-Systeme für strukt. Dok.
– streng in Dokumenten, vage in Query und Abbildung
-> Relevanz-Ranking schwierig (?)
23
Vage Struktur-Interpretation
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Probleme mit dem Begriff "Relevance Ranking"
– Dokument-Struktur vorgegeben (nicht vage)
– Dokument-Struktur muß (teilweise) bekannt sein, um
Anfrage zu formulieren
• Kompromiß
– Relevanzbewertung für den 'Inhaltsteil' von Anfragen
und Dokumenten
– Ähnlichkeitsmaß für Struktur
24
XML-Anfragesprachen und IR
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Mächtigkeit von XML-Anfragesprachen höher als
für IR nötig
– Formulieren von Anfrage schwierig und aufwendig
– Kann durch Nutzer-Interfaces kompensiert werden
• Nutzer muß Dokumenten-Struktur kennen
• Restriktive Interpretation von Struktur und
Daten
25
Regular Path Expressions
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
• Regular Path Expressions wurden eingeführt um
• mit struktureller Heterogenität umzugehen
• Anfragen mit partieller Kenntnis der Struktur zu
erlauben
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
26
Regular Path Expressions
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
"Ich möchte alle Bücher, die
von Smith geschrieben
worden sind."
Query 1
/book/author="Smith"
Query 2
/book/(author | editor)
[. ="Smith"]
Query 3
/book//(author | editor)
[. ="Smith"]
Query 4
/book//[.="Smith"]
<book>
<author>Smith</author>
...
</book>
<book>
<editor>Smith</editor>
...
</book>
<book>
<chapter>
<author>Smith</author>
...
</chapter>
</book>
<book>
<chapter>
<text> ... Smith ... </text>
</chapter>
...
</book>
27
Regular Path Expressions
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Probleme:
• Regular Path Expressions erfordern
– umfangreiche Kenntnis von Struktur und Inhalt der
Dokumente
– Vertrautheit mit der Sprache (->Gelegenheitsnutzer)
• Alle Ergebnisse einer Query (mit Regular Path
Expressions) werden gleich bewertet (mit 'true')
28
XML-Anfragesprachen und User
Interfaces
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• User Interfaces machen den Nutzer mit der
Dokumentenstruktur bekannt
• Probleme:
– Anzeige der gesamten Struktur
führt zu "Information Overload"
 Verringerung der
Nutzerakzeptanz
book
author
name
+ editor
+ chapter
– Top-Down-Navigation führt evtl.
zu Verlust von relevanten
Ergebnissen.
29
Lösungsansatz
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Vereinfachtes Datenmodell
• Einfache strukturierte Anfragen
• Unterstützung durch User Interface
• Klassische IR-Methoden für Dokument-Inhalt
• Ähnlichkeitsbewertung der Struktur
30
Datenmodell
<book year="1999">
<author id="a1">
<name>John Bradley</name>
</author>
...
<chapter ref="a1">
<author>Smith</author>
<section>
<title>XML</title>
...
</section>
...
</chapter>
...
</book>
{ year = "1999" }
book
author
chapter
name
author
section
PCDATA
PCDATA
title
John Bradley
Smit
h
PCDATA
XML
31
Normalisierung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Entferne Links
• Normalisiere Attribute
{ year = "1999" }
book
author
chapter
name
author
section
PCDATA
PCDATA
title
John Bradley
Smit
h
PCDATA
XML
32
Normalisierung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Entferne Links
• Normalisiere Attribute
• Normalisiere PCDATA
book
year
author
1999
name
author
section
PCDATA
PCDATA
title
John Bradley
chapter
Smit
h
PCDATA
XML
33
Normalisierung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
•
•
•
•
Entferne Links
Normalisiere Attribute
Normalisiere PCDATA
Füge neue Wurzel hinzu
book
year
author
1999
name
author
section
Bradley
Smit
h
title
John
chapter
XML
34
Normalisierung
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
•
•
•
•
Entferne Links
Normalisiere Attribute
Normalisiere PCDATA
Füge neue Wurzel hinzu
root
book
book
year
author
1999
name
author
section
Bradley
Smit
h
title
John
chapter
XML
35
Anfragesprache (graph. Interpretation)
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Eine Query ist ein gelabelter Baum
• Kinder eines Knotens werden durch log.
Ausdruck verbunden
z.B. - Boolesche Logik
- Gewichtete Summe
book
logischer Ausdruck
author
chapter
logischer Ausdruck
title
"Smith
"
"XML"
"Database"
36
Was sind ähnliche Strukturen?
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Query
article
author
book
author
Dokument
ähnlich?
ähnlich?
book
editor
book
chapter
author
book
chapter
ähnlich?
book
author
author
37
Was sind ähnliche Strukturen?
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Query
Dokument
book
AND
author
title
author
book
ähnlich?
ähnlich?
book
author
book
author
Link
book
author
ähnlich?
book
y
x
author
Verwandschaft zur Bio-Informatik
(Tree Edit Distance, Tree Alignment)
38
Sinnvolle Ähnlichkeitsoperatoren
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
1. Umbenennen von Knotennamen
(Element-, Attributnamen)
mit Hilfe von Kostenfunktion
Query
Dokument
article
book
author
editor
Ähnlichkeit der Namen
• von Administrator festgelegt (DTD-Analyse)
• gelernt (z.B. via Data-Mining)
39
Sinnvolle Ähnlichkeitsoperatoren
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
2. Überspringen von Datenknoten
mit Hilfe von Kostenfunktion
Query
Dokument
book
book
author
chapter
author
Kosten der Knoten
• von Administrator festgelegt (DTD-Analyse)
• gelernt (z.B. via Data-Mining)
40
Sinnvolle Ähnlichkeitsoperatoren
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
3. Löschen von Query-Knoten
in semantisch sinnvoller weise.
Query
Dokument
book
book
chapter
author
author
 vages Enthaltensein
41
Enthaltensein
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
book
Query
logischer Ausdruck 1
author
chapter
logischer Ausdruck 2
Annahme 1:
• Vater-Kind-Knoten
modellieren
Enthaltensein
title
"Smith
"
Dokument
author
"Smith"
"XML"
"Database"
book
"XML"
title
chapter
logischer Ausdruck 2
logischer Ausdruck 1
"Database"
42
Vages Enthaltensein
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
Annahme 2:
• Nutzer bevorzugt bestimmten Kontext
Dokument
author
book
"XML"
logischer Ausdruck 1
title
chapter
logischer Ausdruck 2
"Smith"
"Database"
Constraints:
Score :=



f(book["Smith","XML",Database"])
f(book/author["Smith"])
f(book/chapter["XML",Database"])
f(book/chapter/titel["XML"])
gleiches
chapter
gleiches
book
43
Zusammenfassung Teil 3
Querying XML
Motivation
Einsatzgebiete
SQL/OQL
Anfragesprachen
Hauptbestandteile
Pfadausdrücke
Sortieren
Quantoren
Subqueries
QuellenKomb.
Bewertung
XML und IR
Struktur
IR und QL für XML
Path Expressions
User Interfaces
ApproXQL-Ansatz
Datenmodell
Anfragesprache
Ähnlichkeit
Enthaltensein
• Dokumentstruktur erlaubt präzisere Anfragen
• Nutzer muß Struktur partiell kennen
• Dokumentstruktur sollte vage interpretiert
werden (best matches first)
• Nicht alle strukturellen Ähnlichkeitsmaße sinnvoll
– Semantik
– Berechnungskomplexität
44
Diplomarbeit: User Interface
• Probleme existierender UI:
– Anzeige der gesamten Struktur
führt zu "Information Overload"
 Verringerung der
Nutzerakzeptanz
– Top-Down-Navigation führt evtl.
zu Verlust von Ergebnissen.
book
author
name
+ editor
+ chapter
• Ziel der Arbeit
– Vergleich existierender UI
– (Weiter-) Entwicklung eines geeigneten UI für
nutzerorientierte Suche
– Implementierung als Java-Applet
45
Diplomarbeit: User Interface (2)
Beispiel:
article
book
book
author
chapter
chapter
section
section
(more)
title
(more)
author
Smith
AND
chapter
section
title
(more)
title
XML
46
Diplomarbeit: Realisierung des
vagen Enthaltenseins
• Problem
– Test auf vages Enthaltensein einer Query erfordert:
• Auffinden der Elemente mit übereinstimmendem Namen
• Test auf Vorgänger-Nachfolger Beziehung
• Erfülltsein der logischen Ausdrücke der Knoten-Kinder
– Bekannte Realisierungen unterstützen nur exaktes
Enthaltensein
• Ziel der Arbeit
– Vergleich von Implementierungstechniken für
strukturiertes Retrieval
– Anpassung/Entwicklung eines Verfahrens für das vage
Enthaltensein
– Implementierung auf der Basis der Berkeley Database
– Performance-Tests
47
Herunterladen