1 / 47

Teil 2 Querying XML

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)

langer
Download Presentation

Teil 2 Querying XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teil 2Querying 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)

  2. 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

  3. Warum Query Languages für XML? Querying XML MotivationEinsatzgebiete 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"

  4. 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, Schema-Informationen anzufragen • Keine/unzureichende Konstruktions-Operatoren • Keine SQL/OQL-Konstrukte zur Integration von verschiedenen Quellen

  5. DTD mit strukturellen Alternativen OptionaleAnleitung 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 <!ELEMENT rezepte (rezept)+> <!ELEMENT rezept (name, zutaten, (anleitung)?)> <!ELEMENT name (#PCDATA)> <!ELEMENT zutaten (text| (zutat)+)> <!ELEMENT text (#PCDATA)> <!ELEMENT zutat (#PCDATA)> <!ATTLIST zutat nummer ID #REQUIRED mische-mit IDREF #IMPLIED nötig (ja|nein) "ja"> <!ELEMENT anleitung (#PCDATA)> Zutaten werden entwederdurch einen Text beschriebenoder einzeln aufgelistet.

  6. 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-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-proposal.xml

  7. 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)

  8. Pattern Filter Constructor Pattern Filter Gebe Subtrees mitWurzel zutat zurück Beispiel XML-QL WHERE <rezepte.rezept.zutaten> <zutatmasse=$m> $z </zutat> </> IN "www.me.de/rezepte.xml", $m >= 100 CONSTRUCT <hauptzutat> $z </hauptzutat> XQL document("www.me.de/rezepte.xml") /rezepte/rezept/zutaten/zutat[@masse > 100] 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. Pfad XML-QL <rezepte><rezept><name> Torte </></></> oder <rezepte.rezept.name>Torte</> XQL /rezepte/rezept/name="Torte" 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 rezept name zutaten anleitung zutat ... Torte Salz

  10. 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 KnotenXQL: a/*/b XML-QL: a.$.b • Überspringe beliebig viele KnotenXQL: a//b XML-QL: a.$*.b • Alternative KnotenXQL: a|b XML-QL: a|b • Optionaler Knoten (nicht vorh. in XQL, XML-QL)

  11. 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']

  12. 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> <zutatmasse=$m> $z </zutat> </> IN "www.me.de/rezepte.xml", ORDERED-BY $m CONSTRUCT <zutat> $z </zutat>

  13. 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']]

  14. 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." CONSTRUCT <zutaten> { WHERE <rezepte.rezept.zutaten.zutat> $z </> IN "www.me.de/rezepte.xml" CONSTRUCT <zutat> <name> $z </name> { WHERE <rezepte.rezept> <name> $n </> <zutaten.zutat> $z </> </> IN "www.me.de/rezepte.xml" CONSTRUCT <rezept> $n </rezept> } </zutat>} </zutaten> Schachtelungvon Queries Join überVariable $z

  15. 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 jedesunterschiedlicheArgument-Tupel einen neuen Wert

  16. 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>

  17. 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 überVariable $r

  18. 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 document("www.me.de/rezepte.xml") /rezepte/rezept/name[$r := .] [ document("www.me.de/buecher.xml") /bücher/buch/index[rezept = $r] ] VariableBinding Filter Join überVariable $r

  19. 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.

  20. Teil 3XML und Information Retrieval

  21. 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

  22. 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 Dokument-Repräsentation

  23. 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 • 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 (?)

  24. 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

  25. 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

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

  27. Regular Path Expressions <book> <author>Smith</author> ... </book> 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." <book> <editor>Smith</editor> ... </book> Query 1 /book/author="Smith" <book> <chapter> <author>Smith</author> ... </chapter> </book> Query 2 /book/(author | editor) [.="Smith"] Query 3 /book//(author | editor) [.="Smith"] <book> <chapter> <text> ... Smith ... </text> </chapter> ... </book> Query 4 /book//[.="Smith"]

  28. 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')

  29. book author name editor chapter + + 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 Strukturführt zu "Information Overload"  Verringerung der Nutzerakzeptanz • Top-Down-Navigation führt evtl. zu Verlust von relevanten Ergebnissen.

  30. 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

  31. { year = "1999" } book author chapter name author section PCDATA PCDATA title John Bradley Smith PCDATA XML 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>

  32. Entferne Links 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 • Normalisiere Attribute { year = "1999" } book author chapter name author section PCDATA PCDATA title John Bradley Smith PCDATA XML

  33. year 1999 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 author chapter name author section PCDATA PCDATA title John Bradley Smith PCDATA XML

  34. year 1999 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 author chapter name author section John Bradley Smith title XML

  35. year 1999 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 root • Normalisiere PCDATA • Füge neue Wurzel hinzu book book author chapter name author section John Bradley Smith title XML

  36. 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"

  37. book book ähnlich? author chapter author book book ähnlich? chapter author author 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 article book ähnlich? author editor

  38. author book ähnlich? book author Link book book y ähnlich? author x author 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 book AND ähnlich? author title author Verwandschaft zur Bio-Informatik (Tree Edit Distance, Tree Alignment)

  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 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)

  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 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)

  41. 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

  42. Dokument book author title chapter "XML" "Smith" "Database" Enthaltensein 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 "Smith" "XML" "Database" logischer Ausdruck 2 logischer Ausdruck 1

  43. author title chapter Constraints: Score := f(book["Smith","XML",Database"])  f(book/author["Smith"])  f(book/chapter["XML",Database"])  f(book/chapter/titel["XML"]) gleiches book gleiches chapter 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 book "XML" logischer Ausdruck 1 logischer Ausdruck 2 "Smith" "Database"

  44. 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

  45. book author name editor chapter + + 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. • Ziel der Arbeit • Vergleich existierender UI • (Weiter-) Entwicklung eines geeigneten UI für nutzerorientierte Suche • Implementierung als Java-Applet

  46. book author chapter section title (more) AND chapter author section title (more) Smith title XML Diplomarbeit: User Interface (2) Beispiel: article bookchapter section (more)

  47. 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

More Related