Title: Querying XML: Xquery H. Schweppe und T. Schlieder
1Querying XML XqueryH. Schweppe und T. Schlieder
- 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) - Fankhauser, P., Wadler, P. XQuery Tutorial
2Gliederung
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
- Warum eigentlich XML-Anfragen??
- 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
3Warum 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"
4Warum 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,
Schema-Informationen anzufragen - Keine/unzureichende Konstruktions-Operatoren
- Keine SQL/OQL-Konstrukte zur Integration von
verschiedenen Quellen
5Beispiel
- "Erstelle eine Liste aller Abbildungen eines
Buches" - ltfiglistgt
- for f in document("book1.xml")//figure
- return ltfiguregt
- f/_at_
- f/title
- lt/figuregt
- lt/figlistgt
- Selektion und Transformation!
6 - Ergebnis ein XML-Dokument, das so aussehen
könnte - ltfiglistgt
- ltfigure height"400" width"400"gt
lttitlegtTraditional client/server
architecture lt/titlegt - lt/figuregt
- ltfigure height"200" width"500"gt
lttitlegtGraph representations of
structures lt/titlegt - lt/figuregt
- ltfigure height"250" width "400"gt
lttitlegtExamples of Relations - lt/titlegt
- lt/figuregt
- lt/figlistgt
7Anfragesprachen 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-QLA. Deutsch, M. Fernandez, D. Florescu, A.
Levy, D. Suciuwww.w3.org/TR/NOTE-xml-ql-19980819 - XQLJ. Robie (editor)metalab.unc.edu/xql/xql-prop
osal.xml - XQuery
- W3C XML Query page
- http//www.w3.org/XML/Query.html
- http//www.research.avayalabs.com/wadler/xml/
8Hauptbestandteile 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
- Xquery, XML-QL unterstützen alle drei
Konstrukte. - XQL unterstützt Patterns und Filters, sowie
implizit auch Constructors (renaming, grouping)
9XQuery die Sprache des Web
- Beispieldaten
- ltbibgt
- ltbook year"1999" isbn"1-55860-622-X"gt
lttitlegtData on the Weblt/titlegt
ltauthorgtAbiteboullt/authorgt
ltauthorgtBunemanlt/authorgt ltauthorgtSuciult/autho
rgt - lt/bookgt
- ltbook year"2001" isbn"1-XXXXX-YYY-Z"gt
lttitlegtXML Querylt/titlegt ltauthorgtFernandezlt/au
thorgt ltauthorgtSuciult/authorgt - lt/bookgt
- lt/bibgt
10Datenmodell / Syntax
- XML Schema
- ltxsdgroup name"Bib"gt
- ltxsdelement name"bib"gt
- ltxsdcomplexTypegt
- ltxsdgroup ref"Book" minOccurs"0"
maxOccurs"unbounded"/gt - lt/xsdcomplexTypegt
- lt/xsdelementgt
- lt/xsdgroupgt
- ltxsdgroup name"Book"gt
- ltxsdelement name"book"gt
- ltxsdcomplexTypegt
- ltxsdattribute name"year"
type"xsdinteger"/gt ltxsdattribute
name"isbn" type"xsdstring"/gt
ltxsdelement name"title" type"xsdstring"/gt
ltxsdelement name"author" type"xsdstring"
maxOccurs"unbounded"/gt - lt/xsdcomplexTypegt
- lt/xsdelementgt
- lt/xsdgroupgt
11XQuery Algebra Repräsentation
- type Bib
- bib Book0,
- type Book book
- _at_year Integer
- _at_isbn String ,
- title String ,
- author String 1,
- let bib0 Bib bib
- book _at_year 1999 ,
- _at_isbn "1-55860-622-X" ,
- title "Data on the Web" ,
- author "Abiteboul" ,
- author "Buneman" ,
- author "Suciu" ,
- book _at_year 2001 , _at_isbn "1-XXXXX-YYY-Z"
, title "XML Query" , author "Fernandez" ,
author "Suciu" -
12XQuery und Schemata
- Autoren und Bücher, die vor 2000 veröffentlich
wurden - schema http//www.example.com/books
- namespace default http//www.example.com/books
- validate
- ltBOOKSgt
- for book in /BOOKS/BOOK_at_YEAR lt 2000 return
- ltBOOKgt book/AUTHOR, book/TITLE lt/BOOKgt
- lt/BOOKSgt
-
-
13XQuery
- Grundstruktur
- For Binden von Variablen an Mengen
- For t in document(http//...)
- Let Binden eines Wertes an Variable
- For t document(http//...)
- Where Prädikat, wird je gebundenem Wert
evaluiert - where t/book/_at_price "20"
- Return Ergebniskonstruktor (manchmal do)
- return t/book/title SORTBY
(t/book/_at_price)
14Projektion
- Finde alle Autoren aller Bücher
- /bib0/book/author
- gt author "Abiteboul" ,
- author "Buneman" ,
- author "Suciu" ,
- author "Fernandez" ,
- author "Suciu"
- author String 0,
type of result - Äquivalent zu entsprechendem XML-Dokument
15Atomare Daten
- Alle Autoren, aber als Werte
- book0/author/data()
- gt "Abiteboul",
- "Buneman",
- "Suciu"
- String 1,
- book0/_at_year/data()
- gt 1999 Integer
Auch Benutzerdefinierte Funktionen erlaubt!
16Iteration
- for b in bib0/book return
- book b/author, b/title
- gt book
- author "Abiteboul" ,
- author "Buneman" ,
- author "Suciu" ,
- title "Data on the Web" ,
- book
- author "Fernandez" ,
- author "Suciu" ,
- title "XML Query"
- book author String 1, , title
String 0,
Semantisch wie "list comprehension" (siehe
Haskell)(b.a,b.t) b lt- book where
book...
17Typableitung
- bib0/book Book0,
- b Book
- b/author author String 1,
- b/title title String
- Type inference gt
- book author String 1, , title String
0,
18Filter
- filter selektiert Teile des Arguments (eines
xml-Baums)
Beispiel Inhaltsverzeichnis lttocgt
filter(document ("cookbook.xml") //
(section section/title section/title/text()))
lt/tocgt
19Selektion
- Bücher mit allen Elementen, die vor 2000
publiziert wurden - for b in bib0/book
- where b/_at_year/data() lt 2000 return
- b
- gt book
- _at_year 1999 ,
- _at_isbn "1-55860-622-X" ,
- title "Data on the Web" ,
- author "Abiteboul" , author "Buneman" ,
author "Suciu" - Book0,
20Quantifizierung
- Bücher, bei denen ein Autor "B..." heißt.
- for b in bib0/book return
- for a in distinct(b/author/data())
- where a "Buneman" return
- b
- gt book
- _at_year 1999 ,
- _at_isbn "1-55860-622-X" ,
- title "Data on the Web" ,
- author "Abiteboul" ,
- author "Buneman" , author "Suciu"
- Book0,
21Negierter Existenzquntor
- Bücher, von denen "B..." kein Autor ist.
- for b in bib0/book return
- where empty (for a in b/author
- where a/data() "Buneman" return
- a)
- return b
- gt book
- _at_year 2001 ,
- _at_isbn "1-XXXXX-YYY-Z" ,
- title "XML Query" ,
- author "Fernandez" , author "Suciu"
- Book0,
22...Quantifizierung
- Alle Bücher, bei denen nur "B..." Autor ist.
for b in bib0/book return where empty (for a in
b/author where a/data() ltgt "Buneman" return
a) return b gt () Book0,
23Binden von Werten (let)
- Äquivalente Formulierung
- for b in bib0/book
- let nonbunemans
- (for a in b/author
- where a/data() ltgt "Buneman"
return a) - where empty(nonbunemans) return
- b
24Verbund
- Erweitertes Schema
- type Reviews
- reviews
- book
- title String ,
- review String
- 0,
- let review0 Reviews
- reviews book title "XML Query" ,
- review "A darn fine book." ,
- book title "Data on the Web" ,
- review "This is great!"
25Verbund (inner join)
- Titel, Autor und Review für jedes Buch
- for b in bib0/book return
- for r in review0/book
- where b/title/data() r/title/data()
return - book b/title, b/author, r/review
- Wie "nested loop-join", Semantik nicht
notwendig Ausführung
26Restrukturierung und Gruppierung
- Buchtitel gruppiert nach Autor.
- for a in distinct(bib0/book/author/data())
- biblio
- authora,
- for b in bib0/book return
- for a2 in b/author/data()
- where a a2 return
- b/title
27XPath und XQuery
- Return all authors of all books
- /BOOKS/BOOK/AUTHOR
-
- for dot1 in root/BOOKS return
- for dot2 in dot1/BOOK return
- dot2/AUTHOR
28Umformungsregeln
- Associativität in XPath
- BOOKS/(BOOK/AUTHOR)
-
- (BOOKS/BOOK)/AUTHOR
- Associativität in XQuery
- for dot1 in root/BOOKS return
- for dot2 in dot1/BOOK return
- dot2/AUTHOR
-
- for dot2 in (
- for dot1 in root/BOOKS return
- dot1/BOOK
- ) return dot2/AUTHOR
29Xquery "Core language"
- /BOOKS/BOOK_at_YEAR lt 2000/TITLE
-
- for book in /BOOKS/BOOK return
- if (not(empty(
- for year in book/_at_YEAR returns
- if year lt 2000 then year else ()
- ))
- ) then
- book/TITLE
- else
- ()
Abbildung von Oberflächensyntax auf "core
language"
30Teil 3 XML und Information RetrievalT. Schlieder
31Gliederung
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
32Grundprinzip 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 Dokument-Repräsentati
on
33Was ä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
- streng in Dokumenten, Query und Abbildung
- streng in Dokumenten, vage in Query und Abbildung
-gt unrealistisch, da Struktur in Dokumenten
vorgegeben
-gt XML-Anfragesprachen, IR-Systeme für strukt.
Dok.
-gt Relevanz-Ranking schwierig (?)
34Vage 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
35XML-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
36Regular 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
- Regular Path Expressions wurden eingeführt um
- mit struktureller Heterogenität umzugehen
- Anfragen mit partieller Kenntnis der Struktur zu
erlauben
37Regular Path Expressions
ltbookgt ltauthorgtSmithlt/authorgt ... lt/bookgt
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."
ltbookgt lteditorgtSmithlt/editorgt ... lt/bookgt
Query 1 /book/author"Smith"
ltbookgt ltchaptergt ltauthorgtSmithlt/authorgt
... lt/chaptergt lt/bookgt
Query 2 /book/(author editor) .
"Smith"
Query 3 /book//(author editor) .
"Smith"
ltbookgt ltchaptergt lttextgt ... Smith ...
lt/textgt lt/chaptergt ... lt/bookgt
Query 4 /book//."Smith"
38Regular 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 (-gtGelegenheitsnutzer
) - Alle Ergebnisse einer Query (mit Regular Path
Expressions) werden gleich bewertet (mit 'true')
39XML-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 - Top-Down-Navigation führt evtl. zu Verlust von
relevanten Ergebnissen.
40Lö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
41Datenmodell
ltbook year"1999"gt ltauthor id"a1"gt
ltnamegtJohn Bradleylt/namegt lt/authorgt ...
ltchapter ref"a1"gt ltauthorgtSmithlt/authorgt
ltsectiongt lttitlegtXMLlt/titlegt
... lt/sectiongt ...
lt/chaptergt ... lt/bookgt
42Normalisierung
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
year "1999"
chapter
author
section
name
author
title
PCDATA
PCDATA
John Bradley
Smith
PCDATA
XML
43Normalisierung
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
chapter
author
section
name
author
title
PCDATA
PCDATA
John Bradley
Smith
PCDATA
XML
44Normalisierung
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
chapter
author
section
name
author
title
Smith
Bradley
John
XML
45Normalisierung
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
root
book
book
chapter
author
section
name
author
title
Smith
Bradley
John
XML
46Anfragesprache (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
"Database"
"Smith"
"XML"
47Was 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
article
book
ähnlich?
author
editor
48Was 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
book
ähnlich?
AND
author
author
title
Verwandschaft zur Bio-Informatik (Tree Edit
Distance, Tree Alignment)
49Sinnvolle Ä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)
50Sinnvolle Ä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)
51Sinnvolle Ä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
author
chapter
author
? vages Enthaltensein
52Enthaltensein
book
Query
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 1
- Vater-Kind-Knoten modellieren Enthaltensein
logischer Ausdruck 1
author
chapter
logischer Ausdruck 2
title
"Database"
"Smith"
"XML"
logischer Ausdruck 2
logischer Ausdruck 1
53Vages 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
book
"XML"
logischer Ausdruck 2
logischer Ausdruck 1
"Smith"
"Database"
54Zusammenfassung 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