1 Querying XML: Xquery H. Schweppe und T. Schlieder Literatur: A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql-19980819) A. Deutsch.

Slides:



Advertisements
Ähnliche Präsentationen
Information Retrieval in XML-Dokumenten
Advertisements

XIRQL: Eine Anfragesprache für Information Retrieval in XML-Dokumenten
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
eXist Open Source Native XML Database
HyREX: Eine Hypermedia- Retrievalengine für XML- Dokumente Norbert Fuhr Universität Dortmund
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
Bäume als Datenmodelle
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
DOM (Document Object Model)
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Übung Datenbanksysteme SQL-Anfragen (2)
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
XML-Algebren Martin Winkler.
Betreuerin: Kathleen Jerchel
Bewegte Bezugssysteme
Schieferdeckarten Dach.ppt
Carsten Greiveldinger
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Quilt: Eine XML Anfragesprache für heterogene Datenquellen
- XML-Path Language (xPath) ist eine Empfehlung des W3C - es wurde entwickelt, um durch ein XML- Dokument zu navigieren - und ist ein großer Teil von.
20:00.
Die Geschichte von Rudi
„Küsse deine Freunde“ – FlexKom-App teilen
1 Teil 2 Querying XML Literatur: A. Deutsch et. al. "A Query Language for XML" ( A. Deutsch et. al. "A Query Language.
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
PROCAM Score Alter (Jahre)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Das ist die Geschichte eines kleinen Jungen aus der Schweiz.
Symmetrische Blockchiffren DES – der Data Encryption Standard
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
3. Juni 2003Moritz Petersen Minimales Markup und Templates zur Erstellung von strukturierten Texten Ein Zwischenbericht zur Diplomarbeit.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Mathematical Programming Nichtlineare Programmierung.
Information Retrieval, Vektorraummodell
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Semistructured Data Autor: Stefan Josten 21. Juli 1999 Seminar: Intelligenz im Intranet Intelligenz im Intranet Thema:
Numbers Greetings and Good-byes All about Me Verbs and Pronouns
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Einführung in die Volkswirtschaftslehre, Mikroökonomie und Wettbewerbspolitik Lothar Wildmann ISBN: © 2014 Oldenbourg Wissenschaftsverlag.
Qualitative Interviews Sabina Misoch ISBN: © 2015 Walter de Gruyter GmbH, Berlin/Mu ̈ nchen/Boston Abbildungsübersicht / List of Figures.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
 Präsentation transkript:

1 Querying XML: Xquery H. Schweppe und T. Schlieder Literatur: A. Deutsch et. al. "A Query Language for XML" ( A. Deutsch et. al. "A Query Language for XML" ( Jonathan Robie (ed.) "XQL (XML Query Language)" (metalab.unc.edu/xql/xql-proposal.xml) 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) A. Bonifati, S. Ceri: "Comparative Analysis of Five XML Query Languages" (SIGMOD Record, März 2000) Fankhauser, P., Wadler, P.: XQuery Tutorial Fankhauser, P., Wadler, P.: XQuery Tutorial

2 Gliederung MotivationMotivation –Warum eigentlich XML-Anfragen?? –Einsatzgebiete von XML-Anfragesprachen –Unterschied zu SQL/OQL Anfragesprachen für XMLAnfragesprachen für XML –Hauptbestandteile –Reguläre Pfadausdrücke –Sortieren –Quantifizierung, Negation –Subqueries –Kombinieren von Quellen (Joins) –Bewertung 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 Warum Query Languages für XML? Daten-Extraktion "Liefere alle Autoren aller Bücher"Daten-Extraktion "Liefere alle Autoren aller Bücher" Daten-Transformation "Erstelle ein neues Dokument mit den 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-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"Daten-Integration " Erstelle eine Sicht auf Daten, die zu unterschiedlichen DTDs gehören" 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

4 Warum nicht SQL/OQL verwenden? Relationale/objektorientierte Daten sind wohlstrukturiert:Relationale/objektorientierte Daten sind wohlstrukturiert: –Vorgegebenes Schema –Daten werden passend zu Schema importiert XML-Dokumente sind oft semistrukturiert:XML-Dokumente sind oft semistrukturiert: –Kein Schema vorhanden (Dokumente ohne DTD) –Wenig restriktive DTD SQL: Keine Unterstützung für BaumstrukturSQL: Keine Unterstützung für Baumstruktur Keine/unzureichende Möglichkeiten, Schema- Informationen anzufragenKeine/unzureichende Möglichkeiten, Schema- Informationen anzufragen Keine/unzureichende Konstruktions-OperatorenKeine/unzureichende Konstruktions-Operatoren Keine SQL/OQL-Konstrukte zur Integration von verschiedenen QuellenKeine SQL/OQL-Konstrukte zur Integration von verschiedenen 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

5 Beispiel "Erstelle eine Liste aller Abbildungen eines Buches" <figlist> { for $f in document("book1.xml")//figure { for $f in document("book1.xml")//figure return return { } { } { $f/title } { $f/title } } } Selektion und Transformation!

6 Ergebnis: ein XML-Dokument, das so aussehen könnte Ergebnis: ein XML-Dokument, das so aussehen könnte Traditional client/server architecture Traditional client/server architecture Graph representations of structures Graph representations of structures Examples of Relations Examples of Relations </figlist>

7 Anfragesprachen für XML Vorgestellt und verglichen werden XML-QL A. Deutsch, M. Fernandez, D. Florescu, A. Levy, D. Suciu A. Deutsch, M. Fernandez, D. Florescu, A. Levy, D. Suciu XQL J. Robie (editor) metalab.unc.edu/xql/xql-proposal.xmlXQL J. Robie (editor) metalab.unc.edu/xql/xql-proposal.xml XQueryXQuery W3C XML Query page W3C XML Query page 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

8 Hauptbestandteile der Sprachen Pattern clausePattern clause –Matchen von (verschachtelten) Elementen –Binden von Variablen Filter clauseFilter clause –Vergleichen von Variablen mit Konstanten und Variablen Constructor clauseConstructor 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) 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

9 XQuery – die Sprache des Web Beispieldaten<bib> Data on the Web Abiteboul Buneman Suciu Data on the Web Abiteboul Buneman Suciu XML Query Fernandez Suciu XML Query Fernandez Suciu

Datenmodell / Syntax XML Schema </xsd:group>

11 XQuery Algebra Repräsentation type Bib = bib [ Book{0, *} ] bib [ Book{0, *} ] type Book = book [ Integer ] [ Integer ] [ String [ String ], title [ String ], title [ String ], author [ String ]{1, *} ] author [ String ]{1, *} ] let bib0 : Bib = bib [ book [ 1999 ], [ book [ 1999 [ " X" [ " X" ], title [ "Data on the Web" ], title [ "Data on the Web" ], author [ "Abiteboul" ], author [ "Abiteboul" ], author [ "Buneman" ], author [ "Buneman" ], author [ "Suciu" ] ], author [ "Suciu" ] ], book [ 2001 [ "1-XXXXX-YYY-Z" ], title [ "XML Query" ], author [ "Fernandez" ], author [ "Suciu" ] ] book [ 2001 [ "1-XXXXX-YYY-Z" ], title [ "XML Query" ], author [ "Fernandez" ], author [ "Suciu" ] ]]

12 XQuery und Schemata Autoren und Bücher, die vor 2000 veröffentlich wurden schema namespace default = validate<BOOKS>{ for $book in < 2000] return { $book/AUTHOR, $book/TITLE } { $book/AUTHOR, $book/TITLE } }</BOOKS>

13 XQuery GrundstrukturGrundstruktur For Binden von Variablen an Mengen For Binden von Variablen an Mengen For $t in document( For $t in document( Let Binden eines Wertes an Variable Let Binden eines Wertes an Variable For $t = document( For $t = document( Where Prädikat, wird je gebundenem Wert evaluiert where = "20" where = Return Ergebniskonstruktor (manchmal: do) return $t/book/title SORTBY return $t/book/title SORTBY

14 Projektion Finde alle Autoren aller Bücher / bib0/book/author ==> author [ "Abiteboul" ], author [ "Buneman" ], author [ "Suciu" ], author [ "Fernandez" ], author [ "Suciu" ] : author [ String ] {0, *} :type of result Äquivalent zu entsprechendem XML-Dokument

15 Atomare Daten Alle Autoren, aber als Werte book0/author/data() ==> "Abiteboul", ==> "Abiteboul","Buneman","Suciu" : String {1, *} ==> 1999 : Integer ==> 1999 : Integer Auch Benutzerdefinierte Funktionen erlaubt!

16 Iteration for b in bib0/book return book [ b/author, b/title ] book [ b/author, b/title ] ==> book [ ==> book [ author [ "Abiteboul" ], author [ "Abiteboul" ], author [ "Buneman" ], author [ "Buneman" ], author [ "Suciu" ], author [ "Suciu" ], title [ "Data on the Web" ] ], title [ "Data on the Web" ] ], book book [ author [ "Fernandez" ], [ author [ "Fernandez" ], author [ "Suciu" ], author [ "Suciu" ], title [ "XML Query" ] ] title [ "XML Query" ] ] : book [ author[ String ]{1, *}, title[ String ] ]{0, *} : book [ author[ String ]{1, *}, title[ String ] ]{0, *} Semantisch wie "list comprehension" (siehe Haskell): [(b.a,b.t)| b <- [book] ] where book...

17 Typableitung bib0/book : Book{0, *} b : Book b/author : author [ String ]{1, *} b/title : title [ String ] Type inference => : book [ author[ String ]{1, *}, title[ String ] ]{0, *}

18 Filter filter selektiert Teile des Arguments (eines xml- Baums)filter selektiert Teile des Arguments (eines xml- Baums) Beispiel: Inhaltsverzeichnis: { filter(document ("cookbook.xml") // (section | section/title | section/title/text())) } { filter(document ("cookbook.xml") // (section | section/title | section/title/text())) }

19 Selektion Bücher mit allen Elementen, die vor 2000 publiziert wurden for b in bib0/book where <= 2000 return b ==> book [ 1999 [ " X" ], title [ "Data on the Web" ], author [ "Abiteboul" ], author [ "Buneman" ], author [ "Suciu" ] ] : Book{0, *} : Book{0, *}

20 Quantifizierung Bücher, bei denen ein Autor "B..." heißt. for b in bib0/book return for a in distinct(b/author/data()) for a in distinct(b/author/data()) where a = "Buneman" return where a = "Buneman" return b ==> book [ 1999 [ " X" [ " X" ], title [ "Data on the Web" ], title [ "Data on the Web" ], author [ "Abiteboul" ], author [ "Buneman" ], author [ "Suciu" ] ] : Book{0, *} : Book{0, *}

21 Negierter Existenzquntor Bücher, von denen "B..." kein Autor ist. for b in bib0/book return where empty (for a in b/author where empty (for a in b/author where a/data() = "Buneman" return where a/data() = "Buneman" return a) a) return b return b ==> book [ 2001 [ 2001 [ "1-XXXXX-YYY-Z" ], title [ "XML Query" ], author [ "Fernandez" ], author [ "Suciu" ] author [ "Fernandez" ], author [ "Suciu" ] ] : Book{0, *}

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() <> "Buneman" return where a/data() <> "Buneman" return a) return a) return b ==> () : Book{0, *}

23 Binden von Werten (let) Äquivalente Formulierung: for b in bib0/book let nonbunemans = let nonbunemans = (for a in b/author where a/data() <> "Buneman" return a) where a/data() <> "Buneman" return a) where empty(nonbunemans) return where empty(nonbunemans) return b

24 Verbund Erweitertes Schema type Reviews = reviews [ reviews [ book [ book [ title [ String ], title [ String ], review [ String ] review [ String ] ] {0, *} ] let review0 : Reviews = reviews [ book [ title [ "XML Query" ], reviews [ book [ title [ "XML Query" ], review [ "A darn fine book." ] ], review [ "A darn fine book." ] ], book [ title [ "Data on the Web" ], book [ title [ "Data on the Web" ], review [ "This is great!" ] ] ] review [ "This is great!" ] ] ]

25 Verbund (inner join) Titel, Autor und Review für jedes Buch for b in bib0/book return for r in review0/book for r in review0/book where b/title/data() = r/title/data() return where b/title/data() = r/title/data() return book [ b/title, b/author, r/review ] book [ b/title, b/author, r/review ] Wie "nested loop-join", Semantik – nicht notwendig Ausführung

26 Restrukturierung und Gruppierung Buchtitel gruppiert nach Autor. for a in distinct(bib0/book/author/data()) biblio [ biblio [ author[a], author[a], for b in bib0/book return for b in bib0/book return for a2 in b/author/data() for a2 in b/author/data() where a = a2 return where a = a2 return b/title ] b/title ]

27 XPath und XQuery Return all authors of all books /BOOKS/BOOK/AUTHOR= for $dot1 in $root/BOOKS return for $dot2 in $dot1/BOOK return for $dot2 in $dot1/BOOK return $dot2/AUTHOR $dot2/AUTHOR

28 Umformungsregeln 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

29 Xquery: "Core language" < 2000]/TITLE = for $book in /BOOKS/BOOK return if (not(empty( for $year in returns if $year < 2000 then $year else () )) ) then $book/TITLEelse() Abbildung von Oberflächensyntax auf "core language"

30 Teil 3 XML und Information Retrieval T. Schlieder

31 Gliederung Einbeziehung der Dokument-StrukturEinbeziehung der Dokument-Struktur XML-Anfragesprachen und IRXML-Anfragesprachen und IR –Probleme –Lösungsansatz mit Regular Path Expressions –Lösungsansatz mit User Interface Der ApproXQL-AnsatzDer ApproXQL-Ansatz –Datenmodell –Anfragesprache –Ähnliche Strukturen –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

32 Grundprinzip des IR Grundprinzip des IR:Grundprinzip des IR: –Es gibt ein Informationsbedürfnis –Gesucht sind Dokumente, die Informationsbedürfnis befiedigen MerkmaleMerkmale –vage Dokumentrepräsentation (Vergabe von Deskriptoren) –vage Queryformulierung (Abbildung Informationsbedürfnis auf Keywords) –vage Abbildung von Query auf Dokument- Repräsentation 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

33 Was ändert sich durch Struktur? StrukturStruktur –in den Dokumenten –in den Anfragen kann helfen, die Präzision der Anfragen zu erhöhen. Interpretation der StrukturInterpretation der Struktur –vage in Dokumenten, Query und Abbildung –streng in Dokumenten, Query und Abbildung –streng in Dokumenten, vage in Query und Abbildung -> unrealistisch, da Struktur in Dokumenten vorgegeben -> XML-Anfragesprachen, IR-Systeme für strukt. Dok. -> Relevanz-Ranking schwierig (?) 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

34 Vage Struktur-Interpretation Probleme mit dem Begriff "Relevance Ranking"Probleme mit dem Begriff "Relevance Ranking" –Dokument-Struktur vorgegeben (nicht vage) –Dokument-Struktur muß (teilweise) bekannt sein, um Anfrage zu formulieren KompromißKompromiß –Relevanzbewertung für den 'Inhaltsteil' von Anfragen und Dokumenten –Ähnlichkeitsmaß für 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

35 XML-Anfragesprachen und IR Mächtigkeit von XML-Anfragesprachen höher als für IR nötigMä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 kennenNutzer muß Dokumenten-Struktur kennen Restriktive Interpretation von Struktur und DatenRestriktive Interpretation von Struktur und Daten 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

36 Regular Path Expressions Regular Path Expressions wurden eingeführt umRegular Path Expressions wurden eingeführt um mit struktureller Heterogenität umzugehenmit struktureller Heterogenität umzugehen Anfragen mit partieller Kenntnis der Struktur zu erlaubenAnfragen mit partieller Kenntnis der Struktur zu erlauben 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

37 Regular Path Expressions "Ich möchte alle Bücher, die von Smith geschrieben worden sind." Smith Smith Smith Smith Smith Smith Smith Smith Query 1 /book/author="Smith" /book/author="Smith" Query 2 /book/(author | editor) [. ="Smith"] /book/(author | editor) [. ="Smith"] Query 3 /book//(author | editor) [. ="Smith"] /book//(author | editor) [. ="Smith"] Query 4 /book//[.="Smith"] /book//[.="Smith"] 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

38 Probleme: Regular Path Expressions erfordernRegular 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')Alle Ergebnisse einer Query (mit Regular Path Expressions) werden gleich bewertet (mit 'true') 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

39 User Interfaces machen den Nutzer mit der Dokumentenstruktur bekanntUser Interfaces machen den Nutzer mit der Dokumentenstruktur bekannt Probleme:Probleme: –Anzeige der gesamten Struktur führt zu "Information Overload" Verringerung der Nutzerakzeptanz –Top-Down-Navigation führt evtl. zu Verlust von relevanten Ergebnissen. XML-Anfragesprachen und User Interfaces book author author name name editor editor chapter chapter+ + 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

40 Lösungsansatz Vereinfachtes DatenmodellVereinfachtes Datenmodell Einfache strukturierte AnfragenEinfache strukturierte Anfragen Unterstützung durch User InterfaceUnterstützung durch User Interface Klassische IR-Methoden für Dokument-InhaltKlassische IR-Methoden für Dokument-Inhalt Ähnlichkeitsbewertung der StrukturÄhnlichkeitsbewertung der 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

41 Datenmodell John Bradley John Bradley Smith Smith XML XML book chapter section title XML author name John Bradley author Smit h { year = "1999" } PCDATA

42 Normalisierung book chapter section title XML author name John Bradley author Smit h { year = "1999" } PCDATA Entferne Links Entferne Links Normalisiere Attribute Normalisiere Attribute 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

43 Normalisierung book chapter section title XML author name John Bradley author Smit h PCDATA year 1999 Normalisiere PCDATA Normalisiere PCDATA Entferne Links Entferne Links Normalisiere Attribute Normalisiere Attribute 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

44 Normalisierung book chapter section title author nameauthor year 1999 XML Smit h BradleyJohn Füge neue Wurzel hinzu Füge neue Wurzel hinzu Normalisiere PCDATA Normalisiere PCDATA Entferne Links Entferne Links Normalisiere Attribute Normalisiere Attribute 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

45 Normalisierung book chapter section title author nameauthor year 1999 XML Smit h BradleyJohn book root Füge neue Wurzel hinzu Füge neue Wurzel hinzu Normalisiere PCDATA Normalisiere PCDATA Entferne Links Entferne Links Normalisiere Attribute Normalisiere Attribute 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

46 "Database" Anfragesprache (graph. Interpretation) Eine Query ist ein gelabelter BaumEine Query ist ein gelabelter Baum Kinder eines Knotens werden durch log. Ausdruck verbundenKinder eines Knotens werden durch log. Ausdruck verbunden book authorchapter "Smith " title "XML" logischer Ausdruck z.B. - Boolesche Logik - Gewichtete Summe 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

47 Was sind ähnliche Strukturen? article author book editor ähnlich?bookauthorbookchapter ähnlich? author QueryDokumentbookchapterbookähnlich? author author 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

48 Was sind ähnliche Strukturen? book author book author ähnlich?authorbookbookauthor ähnlich? QueryDokument title AND book author book ähnlich? x y authorLink Verwandschaft zur Bio-Informatik (Tree Edit Distance, Tree Alignment) 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

49 Sinnvolle Ähnlichkeitsoperatoren article author book editor QueryDokument 1. Umbenennen von Knotennamen (Element-, Attributnamen) mit Hilfe von Kostenfunktion Ähnlichkeit der Namen von Administrator festgelegt (DTD-Analyse) von Administrator festgelegt (DTD-Analyse) gelernt (z.B. via Data-Mining) gelernt (z.B. via Data-Mining) 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

50 Sinnvolle Ähnlichkeitsoperatoren book author book chapter QueryDokument 2. Überspringen von Datenknoten mit Hilfe von Kostenfunktion Kosten der Knoten von Administrator festgelegt (DTD-Analyse) von Administrator festgelegt (DTD-Analyse) gelernt (z.B. via Data-Mining) gelernt (z.B. via Data-Mining) author 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

51 Sinnvolle Ähnlichkeitsoperatoren book author book QueryDokument 3. Löschen von Query-Knoten in semantisch sinnvoller weise. vages Enthaltensein vages Enthaltensein authorchapter 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

52 "Smith" author book chaptertitle "XML" "Database"DokumentEnthaltensein "Database" book authorchapter "Smith " title "XML" Query logischer Ausdruck 1 logischer Ausdruck 2 logischer Ausdruck 1 Annahme 1: Vater-Kind-Knoten modellieren Enthaltensein Vater-Kind-Knoten modellieren 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

53 Vages Enthaltensein author "Smith" book chapter title "XML" "Database" Dokument Annahme 2: Nutzer bevorzugt bestimmten Kontext Nutzer bevorzugt bestimmten Kontext Score :=f(book["Smith","XML",Database"]) f(book/author["Smith"]) f(book/author["Smith"]) f(book/chapter["XML",Database"]) f(book/chapter["XML",Database"]) f(book/chapter/titel["XML"]) f(book/chapter/titel["XML"]) gleicheschapter gleichesbookConstraints: logischer Ausdruck 2 logischer Ausdruck 1 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

54 Zusammenfassung Teil 3 Dokumentstruktur erlaubt präzisere AnfragenDokumentstruktur erlaubt präzisere Anfragen Nutzer muß Struktur partiell kennenNutzer muß Struktur partiell kennen Dokumentstruktur sollte vage interpretiert werden (best matches first)Dokumentstruktur sollte vage interpretiert werden (best matches first) Nicht alle strukturellen Ähnlichkeitsmaße sinnvollNicht alle strukturellen Ähnlichkeitsmaße sinnvoll –Semantik –Berechnungskomplexität 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