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