Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Teil 2 Querying XML Literatur: A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql-19980819) A. Deutsch et. al. "A Query Language.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Teil 2 Querying XML Literatur: A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql-19980819) A. Deutsch et. al. "A Query Language."—  Präsentation transkript:

1 1 Teil 2 Querying XML Literatur: A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql ) A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql ) 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)

2 2 Gliederung MotivationMotivation –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 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 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 5 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 DTD mit strukturellen Alternativen Zutaten werden entweder durch einen Text beschrieben oder einzeln aufgelistet. Optionale Anleitung

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

7 7 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 XML-QL unterstützt 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

8 8PatternPattern FilterFilter Constructor Gebe Subtrees mit Wurzel zutat zurück XML-QL WHERE $z WHERE $z IN "www.me.de/rezepte.xml", IN "www.me.de/rezepte.xml", $m >= 100 $m >= 100CONSTRUCT $z $z XQL document("www.me.de/rezepte.xml") /rezepte/rezept/zutaten/zutat > 100] 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

9 9 name Pfadausdrücke Pfade spezifizieren Position von Objekten über mehrere Knoten hinweg.... rezept anleitungzutaten zutat Salz rezepte TorteXML-QL Torte Torteoder XQL /rezepte/rezept/name="Torte" Pfad 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

10 10 Reguläre Pfadausdrücke Zweck: Überspringen von Knoten (Elementen)Überspringen von Knoten (Elementen) Alternative Pfade zu einem ZielknotenAlternative Pfade zu einem ZielknotenOperatoren Überspringe einen Knoten XQL: a/*/bXML-QL: a.$.bÜberspringe einen Knoten XQL: a/*/bXML-QL: a.$.b Überspringe beliebig viele Knoten XQL: a//bXML-QL: a.$*.bÜberspringe beliebig viele Knoten XQL: a//bXML-QL: a.$*.b Alternative Knoten XQL: a | bXML-QL: a | bAlternative Knoten XQL: a | bXML-QL: a | b Optionaler Knoten (nicht vorh. in XQL, XML-QL)Optionaler Knoten (nicht vorh. in XQL, 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

11 11 Beispiel "Selektiere alle Rezepte, die 'Olive' entweder als Zutat verwenden, oder in der Anleitung erwähnen." XML-QL WHERE '*Olive*' ELEMENT_AS $r IN "www.me.de/rezepte.xml" CONSTRUCT $r XQL /rezepte/rezept/((zutaten/zutat) | anleitung) [text() contains 'Olive'] 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

12 12 Sortieren "Liste alle Zutaten geordnet nach Masse auf" XQL (noch) nicht möglich XML-QL WHERE $z IN "www.me.de/rezepte.xml", ORDERED-BY $m ORDERED-BY $mCONSTRUCT $z $z 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

13 13 Quantoren, Negation Existenzquantor in XML-QL und XQL vorhandenExistenzquantor 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$ >= 10]]Allquantor und Negation nur in XQL " Liefere Rezepte, bei denen jede Zutat mindestens 10 Gramm hat." /rezepte/rezept[zutaten[$all$ >= 10]] "Liefere Rezepte, bei denen die Zutat 'Butter' nicht vorkommt." /rezepte/rezept[$not$ zutaten[zutat = 'Butter']] 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

14 14 Subqueries "Liste alle Zutaten auf, und für jede Zutat die Namen aller Rezepte, in denen sie verwendet wird." CONSTRUCT { WHERE $z IN "www.me.de/rezepte.xml" CONSTRUCT $z { WHERE $n $z IN "www.me.de/rezepte.xml" CONSTRUCT $n } } CONSTRUCT { WHERE $z IN "www.me.de/rezepte.xml" CONSTRUCT $z { WHERE $n $z IN "www.me.de/rezepte.xml" CONSTRUCT $n } } Join über Variable $z Schachtelung von Queries 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

15 15 Subqueries mit Skolem-Funktionen "Liste alle verschiedenen Zutaten auf, und für jede Zutat die Namen aller Rezepte, in denen sie verwendet wird." CONSTRUCT { WHERE $n $z IN "www.me.de/rezepte.xml" CONSTRUCT $z $n } CONSTRUCT { WHERE $n $z IN "www.me.de/rezepte.xml" CONSTRUCT $z $n } Skolem-Funktion: Erzeugt für jedes unterschiedliche Argument-Tupel einen neuen Wert 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

16 16 Kombinieren von Quellen Join-Operationen erst in neuer Version von XQL möglich. Annahme im folgenden: Es gibt ein XML-Dokument über Bücher mit Rezepten:Join-Operationen erst in neuer Version von XQL möglich. Annahme im folgenden: Es gibt ein XML-Dokument über Bücher mit Rezepten: Das Kochbuch Das Kochbuch... Quarkstrudel Quarkstrudel 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

17 17 "Liste alle Rezeptnamen auf, die in einem Kochbuch im Index vorkommen." XML-QL CONSTRUCT { WHERE $r IN "www.me.de/rezepte.xml", $r IN "www.me.de/buecher.xml" CONSTRUCT $r } CONSTRUCT { WHERE $r IN "www.me.de/rezepte.xml", $r IN "www.me.de/buecher.xml" CONSTRUCT $r } Kombinieren von Quellen (XML-QL) Join über Variable $r 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

18 18 "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] ] Kombinieren von Quellen (XQL) Join über Variable $r Variable Binding Filter 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

19 19 Bewertung von XML-QL und XQL XML-QL Sehr mächtig ("relational vollständig")Sehr mächtig ("relational vollständig") Konstruktion neuer DokumenteKonstruktion neuer Dokumente Relativ komplizierte SyntaxRelativ komplizierte Syntax Queries nicht in XML-FormatQueries nicht in XML-FormatXQL Entwickelt als einfache SelektionspracheEntwickelt als einfache Selektionsprache Stark erweiterte Funktionalität in zweiter VersionStark erweiterte Funktionalität in zweiter Version –Syntax der Erweiterungen schwer verständlich In URLs einbettbarIn URLs einbettbar Keine KonstruktorenKeine Konstruktoren –In 2. Version lediglich Umbenennung von Elementen sowie Auswahl der ins Ergebnis übernommenen Elemente. 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

20 20 Teil 3 XML und Information Retrieval

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

42 42 "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

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

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

45 45book author author name name editor editor chapter chapter+ + Diplomarbeit: User Interface Probleme existierender UI: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 ArbeitZiel der Arbeit –Vergleich existierender UI –(Weiter-) Entwicklung eines geeigneten UI für nutzerorientierte Suche –Implementierung als Java-Applet

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

47 47 Diplomarbeit: Realisierung des vagen Enthaltenseins ProblemProblem –Test auf vages Enthaltensein einer Query erfordert: Auffinden der Elemente mit übereinstimmendem NamenAuffinden der Elemente mit übereinstimmendem Namen Test auf Vorgänger-Nachfolger BeziehungTest auf Vorgänger-Nachfolger Beziehung Erfülltsein der logischen Ausdrücke der Knoten-KinderErfülltsein der logischen Ausdrücke der Knoten-Kinder –Bekannte Realisierungen unterstützen nur exaktes Enthaltensein Ziel der ArbeitZiel 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


Herunterladen ppt "1 Teil 2 Querying XML Literatur: A. Deutsch et. al. "A Query Language for XML" (www.w3.org/TR/NOTE-xml-ql-19980819) A. Deutsch et. al. "A Query Language."

Ähnliche Präsentationen


Google-Anzeigen