22.07.2005 1Katharina Bellon Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Verarbeitung von XML-Strömen.

Slides:



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

Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Datenbanken Einführung.
XML: Extensible Markup Language
TelegraphCQ Manuel Hertlein.
Catalog Integration Made Easy P.J. Marrón, G. Lausen und M. Weber Universität Freiburg.
SOAP Simple Object Access Protocol
1 Querying XML: Xquery H. Schweppe und T. Schlieder Literatur: A. Deutsch et. al. "A Query Language for XML" ( A. Deutsch.
HyREX: Eine Hypermedia- Retrievalengine für XML- Dokumente Norbert Fuhr Universität Dortmund
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
DOM (Document Object Model)
Union-Find-Strukturen
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XPATH XML Path Language. Xpath – XML Path Language IT Zertifikat - Daten und Metadatenstandards: XPath 2 Entwicklung des W3C Adressierungssprache für.
XML - Abfragesprache Xpath. Problemstellung Unsere XML-Datei steht und wir wollen alle 1. Titel aller vergangenen Sendungen automatisch aus den Playlists.
XQuery – String Funktionen Datenbanktechnologie / SS 2012 / Leonard Claus.
XML-Anfragesprachen (Schwerpunkt XQuery). © Prof. T. Kudraß, HTWK Leipzig Übersicht Anforderungen an XML-Anfragesprachen Stand der Entwicklung XPath Anfragesprache.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Zusammenfassung Vorwoche
XML-Algebren Martin Winkler.
Vorstellung des Streamkonzepts
EXtensible Server Pages von Belrhiti El mostafa. Inhalt Was ist XSP ? Wichtige XSP Tags Erstellungsmöglichkeiten Die Basis der XSP.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
Xlink / Xpointer - Framework
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Möglichkeiten der Anfragebearbeitung in mobilen Ad-hoc-Netzwerken
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
1 Seminar 2004/2005 von Auszeichnungssprache XPath Ein Referat von Wei CAI
XML Path Language XPath
SEP Halgurt Mustafa Ali Can Önder Marius Morawski Matthias Seidl Themen: Integration von RDQL und OWQL innerhalb des Apache Cocoon Frameworks Semantische.
Quilt: Eine XML Anfragesprache für heterogene Datenquellen
Efficiently Publishing Relational Data as XML Documents Hauptseminar: Datenbanksysteme und XML Dennis Säring.
X Filter …als Beispiel effizienter Filterung von XML-Dokumenten in SDI-Systemen.
- 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.
XSLT.
Xpath und XQuery.
XML - Konzepte XHTML XML Base XPath XInclude XLink XForms XPointer
Datenbanktechnologie Daniel Ebner SS Mai Ulrike Lohner.
Proseminar: „Webtechnologien für Ecommerce“
Java für Fortgeschrittene
XPath Was ist XPath XPath ist eine Syntax für das Definieren der Teile eines XML-Dokumentes. XPath benutzt Pfade, um XML-Elemente zu definieren. XPath.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
SQL Überblick Abfragen aus einer Tabelle
Verarbeiten von XML-Daten
Datenbanksysteme für hörer anderer Fachrichtungen
XSLT Voraussetzungen, trivial
XML und Datenbanken © 2006 Markus Röder
XML (Extensible Markup Language)
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
SQLite und XML in PHP 5.
Eike Schallehn, Martin Endig
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.
XML-Datenbanken Weiterentwicklung eines Prototypen zur nativen Speicherung von XML-Dokumenten Georg Kiekel
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
Peter Brezany Institut für Softwarewissenschaften Universität Wien
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
XPath und XQuery Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
 Präsentation transkript:

Katharina Bellon Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Verarbeitung von XML-Strömen Katharina Bellon Seminar zum Thema Data Streams Sommersemester 2005

Katharina Bellon Gliederung Anwendungen Anforderungen Anfragesprachen XPath XQuery Systeme zur Bearbeitung der XML-Ströme SPEX XMLTK (XPath-Prozessor) XFilter Zusammenfassung

Katharina Bellon Anwendungen (1) Nachrichtenüberwachung Börse Presse MeteorologieAnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon Anwendungen (2) Systemüberwachung und Systemsteuerung Verkehrsteuerung Produktionssteuerung Logistik NetzwerkverwaltungAnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon Anwendungen (3) Analyse von wissenschaftlichen Messdaten in Medizin in Astronomie bei der Früherkennung von TornadosAnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon Anforderungen Möglichst schnelle Bearbeitung von Anfragen, zum Teil sogar in Echtzeit Platzsparende Verfahren Möglichst genaue Approximationsmechanismen Bearbeitung beliebig strukturierter XML-Daten Weiter Anforderungen: Skalierbarkeit Plattformunabhängigkeit... AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon XPath XPath 1.0 Adressiert Knoten eines XML-Baumes Beispiel: /child::name[position()=3] Lokalisierungspfad Kontextknoten Achsen Knotentest Prädikat Ergebnisobjekt vom Typ: node-set, boolean, string, number SXP (Simple XPath) wie XPath mit Ausnahme von Achsen ancestor-or-self und descendant-or-self Wertebasierte Vergleiche der Ergebnisse von Prädikaten (Bsp.: [child::a = desc::a] ) von positionsbasierte Prädikaten (Bsp.: [position() = 3] ) AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon XQuery XML Query Language basiert auf XPath 2.0 Wurde von Quilt, XML-QL und Lorel abgeleitet Ähnliche Semantik wie SQL (Structured Query Language) und OQL (Object Query Language) Wird zur Transformation von XML-Dokumenten benutzt XQuery-Anfrage kann geschachtelte Unteranfragen enthalten Ausdrücke können Funktionen und Operatoren enthalten bedingt und quantifiziert sein boolesche und Vergleichsausdrücke sein Möglich sind Joins und Aggregatfunktionen ähnlich wie in SQL Zentrale Schlüsselwörter: FLWR Beispiel: AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung for $b in doc("books.xml")//book let $c := $b//author where count($c) > 2 return $b/title

Katharina Bellon SPEX (1) Streamed and Progressive Evaluator for XPath Wurde entwickelt, um XPath-Anfragen gegen den XML-Datenstrom auszuwerten Netzwerk aus deterministischen Kellerautomaten Sequentieller Durchlauf Wertet FSXP (Forward Simple XPath) -Anfragen ohne Rückwärtsachsen (z. B. parent, ancestor) aus Die Verarbeitung erfolgt in vier Schritten AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung XPath- Anfrage FSXP- Anfrage 1 Logischer Anfrageplan 2 Physischer Anfrageplan 3 4 Ausgabe- strom

Katharina Bellon SPEX (2) Schritt 1 Beispiel: XPath-Anfrage /desc::process[child::time > 24 or child::memory > 500] /anc::process[child::priority < 10 and child::state = stopped] FSXP-Anfrage /desc::process[child::prority < 10 and child::state = stopped and desc::process[child::time > 24 or child::memory > 500]] process statepriority memorytime... time memory AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon SPEX (3) AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung /desc::process[child::prority < 10 and child::state = stopped and /desc::process[child::time > 24 or child::memory > 500]] Schritt 2 DESC CHILD DESC and process =stopped state <10 priority or process CHILD >24 time >500 memory DESC out cd-and cd-or in stream process funnel CHILD DESC and process =stopped state <10 priority or CHILD >24 time >500 memory Schritt 3 Logischer Anfrageplan Physischer Anfrageplan

Katharina Bellon SPEX (4) Schritt 4 Strom besteht aus XML-Token Transduktor benutzt Stack, um die Tiefe des Knoten zu merken. leitet den Token unverändert oder annotiert weiter. Head: entspricht einem Lokalisierungsschritt, der zur gewünschten Ergebnismenge führt. Funnel: sammelt potentielle Antworten und fügt sie zusammen DESC out cd-and cd-or in stream process funnel CHILD DESC and process =stopped state <10 priority or CHILD >24 time >500 memory Head AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung

Katharina Bellon XMLTK (1) XML Toolkit ist ein System bestehend aus mehreren Kommandozeilen- Werkzeugen, die XML-Daten verarbeiten: xsort: sortiert den XML-Strom xdelete: löscht Element oder Attribut xnest: gruppiert Elemente Beispiel: xsort -c /dblp/* -e title -e author -k text() -e publisher $c in $root/dblp/* $e1 in $c/title $e2 in $c/author $k in $e2/text() $e3 in $c/publisher AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung $root $e3 $e1 $c $e2 $k text() author title publisher dbpl/* Tokenized SAX: startVariable($root) startDocument() startVariable($c) startElement(book) startVariable($e2) startElement(author) startVariable($k) characters(Elliot) endVariable($k)...

Katharina Bellon XMLTK (2) XPath-Prozessor Bekommt als Eingabe den Anfragebaum und Strom von TSAX-Ereignissen Konvertiert den Anfragebaum in NEA, dann in DEA Benutzt Stack Vergleicht Elemente des XML-Baumes und der Anfrage Liefert Ereignisse an die Anwendung AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung Anfrage-Prozessor (Lazy DFA) SIX Manager TSAX Parser Anwendung TSAX Ereignisse Anwendungsereignisse Tree Pattern skip(k) XML Strom XML Strom SIX Strom

Katharina Bellon XFilter (1) Filtermechanismus entwickelt für SDI-Systeme SDI (Selective Dissemination of Information): speichert und vergleicht Benutzerprofile mit eingehenden XML-Dokumenten filtert und verteilt relevante Information an Empfänger Unterschied zu DBS: Speicherung und Verwaltung von Anfragen anstelle von Daten Motivation: Das XML-Dokument genügt den Ausdrücken q1 und q2 aber nicht q3 AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung q1: /catalog/product//msrp q2: = USD]/msrp q3: //product[price/msrp<300]/name Color Monitor

Katharina Bellon XFilter (2) Beispiel: /katalog//drucker/*/details[preis/euro<150]/name Path Nodes: Elementknoten sind Zustände des endlichen Automanten Query Index enthält die Path Nodes Filtering Engine: Ereignisse steuern den Filterprozess AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung Benutzerprofil (XPath- Anfragen) Query Index Ausführungs- Algorithmus Filtering Engine XPath Parser XML Parser (SAX-basiert) Daten- Verteilung Filtering Engine Ereignisse Passende Profile Passende Profile Path Nodes XML Dokumente Filtrierte Daten PN1 PN4 PN3 PN2

Katharina Bellon XFilter (3) Query Index Query ID: eindeutige Bezeichnung der Anfrage Position: Position eines Knoten in der Anfrage RelativePos: beschreibt den Abstand zwischen dem betrachtetem Knoten und seinem Vorgänger Level: bezeichnet die Tiefe des Knoten Q1 = /a/b//c 0 falls Knoten auf 1.Position steht falls vor dem Knoten //-Operator steht 2 falls vor dem Knoten *-Operator steht 1 sonst Q falls 1.Knoten und absolute Distanz zum Wurzel spezifiziert wenn RelativePos = -1 0sonstAnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung c b a Q1-1 Q1-2 Q1-3 CL WL CL WL Query Index

Katharina Bellon XFilter (4) Ausführungsalgorithmus Start Element Handler: Level Check: falls Path Node nicht negativen Levelwert enthält, müssen beide Levels gleich sein Attribut Filter Check Nach dem Bestehen beider Tests wird das nächste Element, falls vorhanden, von der Wait List in die Candidate List kopiert ~Zustandsübergang End Element Handler: beim Auftreten des Ende-Tag- Ereignisses wird entsprechender Path Node von der Candidate List gelöscht Element Character Handler: Arbeitet ähnlich wie der Start Element Handler Wird aufgerufen wenn der Dateninhalt gefiltert werden soll Ist auch in der Lage den Zustandsübergang zu bewirken AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung c b a Q1-1 Q1-2 Q1-3 CL WL CL WL Query Index Q1 3 c

Katharina Bellon Zusammenfassung XPath: Adressierung der Knoten im XML-Baum Basis für viele Anwendungen XQuery: Anfrage- und Transformationssprache De-facto Standard SPEX: Sequentielle Bearbeitung Netzwerk aus Transduktoren XMLTK: System aus Werkzeugen XPath-Prozessor Kein Speichermanagement XFilter: SDI-System Filtering Engine AnwendungenAnforderungenAnfragesprachenSystemeZusammenfassung Beschränkte Anzahl von Elementen

Katharina Bellon Danke für die Aufmerksamkeit!