XML & DBs Interrogation des documents XML

Size: px
Start display at page:

Download "XML & DBs Interrogation des documents XML"

Transcription

1 XML & DBs Interrogation des documents XML A.Boukottaya

2 Interrogation des documents XML HyOQL SGMLQL StruQL Before XML W3QL Lorel XMLQL.. XQL Xpath XML Xquery W3C standard 2

3 XPath (chemin = axes) Position (nœud) courant self. Descendants Direct child / (In)direct descendant // Predecesseurs Direct parent.. (In)direct ancestor Frères Meme niveau sibling Navigation following- / preceding-sibling Autres ancestor-or-self descendant-or-self namespace 3

4 Chemins ancestor processing root parent self sibling attribut children commentaire descendant texte 4

5 XPath (fonctions) Positions relatives et information locale Exemples: position() : postion dans le contexte number() : Nombre de positions possibles dans le contexte count() : Cardinalité d un «node-set» last() : Indicateur de derniere position Autres: Fonctions booléennes: and, not, or, Operateurs : mod, >, <=, Fonctions de chaîne: contains, substring-before Permettent des requêtes de base Analyse des contenus et noms de balises/attributs 5

6 XPath : exemples child::paragraphe : enfant <paragraphe >./paragraphe (premier de la liste) child::text() : texte contenu dans les enfants descendant::paragraphe : element paragraphe dans le ss-arbre //paragraphe child::*/child::paragraphe */paragraphe child::paragraphe/descendant::section./paragraphe//section /descendant::list/child::item //list/item child::paragraphe[position()=last()-1] (avant-dernier paragraphe) /child::doc/child::chapitre[position()=5] /child::section[position()=2] 6

7 XPath: plus d exemples /bank-2/account[balance > 400] /bank-2/account[balance > 400]/@account-nb /bank-2/account[@account-nb = A-101 ]/balance /bank-2/account[balance] /bank-2/account[position() = 2] /bank-2/account[2] /bank-1/customer[count(account) > 2] /bank-2//name /bank/*/account-nb /bank//* /bank-2/account[2] /bank-2/customer 7

8 Xquery : Historique Requêtes primitives sur SGML (Standard Generalized Markup Language) 1998: propositions XQL et XML-QL 1999: création du XML Query WG (Working Group) Juin 2001: XQuery 1.0 WD (Working Draft) Buts du XML Query WG Modèle de données pour les documents XML Des opérateurs de requêtes pour ce modèle de données Un langage de requêtes basé sur ces opérateurs de requêtes 8

9 XQuery: un langage de requêtes pour XML Document XML généré à partir d une base de données Requêtes sur sur le document XML: «Filtrage de données XML» Création de sous-structures de données XML (résultat.xml) XQuery est un langage de requêtes fonctionnel où la requête est représentée sous la forme d une expression. Basé sur OQL, SQL, XML-QL, XPath. Compatible avec la syntaxe XML 9

10 XQuery: Expressions Expression de cheminement (XPATH): /a//b[c = 5] Constructeur d élément: <a>... </a> Expressions FLWR: FOR... LET... WHERE... RETURN Opérateurs et Fonctions: x + y, -z, foo(x, y) Expressions conditionnelles: IF... THEN... ELSE Conditions «Some» et «Every»: EVERY var IN expr SATISFIES expr Variables et constantes : $x, 5 Trie: expr SORTBY (expr ASCENDING,... ) INSERT, REPLACE, DELETE 10

11 XQuery: Expressions de cheminement Trouver les occurrences de figure avec le caption «Tree Frogs» dans le deuxième chapter du document XML «zoo.xml» document("zoo.xml")/chapter[2]//figure[caption = "Tree Frogs"] <bib> <book year="1994"> <title>tcp/ip Illustrated</title> <author> <last>stevens</last> <first>w.</first> </author> <publisher>addison- Wesley</publisher> <price> 65.95</price> document( bib.xml ) /bib/book/author //author[last= Stevens and first= W. ] /bib/book/author[1 TO 2] //book[ author[last= Stevens ] BEFORE author[last= Abiteboul ] ] </book> 11

12 XQuery: Expressions FLWR Prend quelques expressions Fait des liens entre eux Y applique des prédicats Et construit un nouveau résultat 12

13 XQuery: Expressions FLWR 13

14 XQuery: Expressions FLWR <bib> <book year="1994"> <title>tcp/ip Illustrated</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price> 65.95</price> </book> <book year="1992"> <title>advanced Programming in the Unix environment</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price>65.95</price> </book> </bib> 14

15 XQuery: Expressions FLWR Exemple de requête: for $b IN document(" where $b/publisher/text() = "Addison-Wesley" and $b/@year = "1994" return $b/title Réponse obtenue de la requête: <title>tcp/ip Illustrated</title> 15

16 XQuery Find all book titles published after 1995: FOR $x IN document("bib.xml")/bib/book WHERE $x/year > 1995 RETURN $x/title Result: <title> abc </title> <title> def </title> <title> ghi </title> 16

17 XQuery For each author of a book by Morgan Kaufmann, list all books she published: FOR $a IN distinct(document("bib.xml") /bib/book[publisher= Morgan Kaufmann ]/author) RETURN <result> $a, FOR $t IN /bib/book[author=$a]/title RETURN $t </result> distinct = a function that eliminates duplicates 17

18 XQuery Result: <result> <author>jones</author> <title> abc </title> <title> def </title> </result> <result> <author> Smith </author> <title> ghi </title> </result> 18

19 XQuery <big_publishers> FOR $p IN distinct(document("bib.xml")//publisher) LET $b := document("bib.xml")/book[publisher = $p] WHERE count($b) > 100 RETURN $p </big_publishers> count = a (aggregate) function that returns the number of elms 19

20 XQuery Find books whose price is larger than average: LET FOR $b in document("bib.xml")/bib/book WHERE > $a RETURN $b 20

21 XQuery Summary: FOR-LET-WHERE-RETURN = FLWR FOR/LET Clauses List of tuples WHERE Clause RETURN Clause List of tuples Instance of Xquery data model 21

22 FOR v.s. LET FOR $x IN document("bib.xml")/bib/book RETURN <result> $x </result> Returns: <result> <book>...</book></result> <result> <book>...</book></result> <result> <book>...</book></result>... LET $x := document("bib.xml")/bib/book RETURN <result> $x </result> Returns: <result> <book>...</book> <book>...</book> <book>...</book>... </result> 22

23 Collections dans XQuery Ordered and unordered collections /bib/book/author = an ordered collection Distinct(/bib/book/author) = an unordered collection LET $b = /bib/book $b is a collection $a = $b/author a collection (several authors...) RETURN <result> $a/author </result> Returns: <result> <author>...</author> <author>...</author> <author>...</author>... </result> 23

24 Collections dans XQuery What about collections in expressions? list of n prices $b/@price * 0.7 list of n numbers $b/@price * $b/@quantity list of n x m numbers?? $b/@price * ($b/@quant1 + $b/@quant2) $b/@price * $b/@quant1 + $b/@price * $b/@quant2!! 24

25 Sorting dans XQuery <publisher_list> FOR $p IN distinct(document("bib.xml")//publisher) RETURN <publisher> <name> $p/text() </name>, FOR $b IN document("bib.xml")//book[publisher = $p] RETURN <book> $b/title, $b/@price </book> SORTBY(price DESCENDING) </publisher> SORTBY(name) </publisher_list> 25

26 If-Then-Else FOR $h IN //holding RETURN <holding> $h/title, IF = "Journal" THEN $h/editor ELSE $h/author </holding> SORTBY (title) 26

27 Existential Quantifiers FOR $b IN //book WHERE SOME $p IN $b//para SATISFIES contains($p, "sailing") AND contains($p, "windsurfing") RETURN $b/title 27

28 Universal Quantifiers FOR $b IN //book WHERE EVERY $p IN $b//para SATISFIES contains($p, "sailing") RETURN $b/title 28

29 Fonctions Built-in fonctions max(), min(), sum(), count(), avg() distinct(), empty(), contains() the normative set has not yet been fixed User-defined fonctions XQuery syntaxe recursive typed FUNCTION depth(element $e) RETURNS integer { -- An empty element has depth 1 -- Otherwise, add 1 to max depth of children IF empty($e/*) THEN 1 ELSE max(depth($e/*)) + 1 } depth(document("partlist.xml")) 29

30 Group-By dans Xquery?? FOR $b IN document(" $y IN WHERE $b/publisher="morgan Kaufmann" RETURN GROUPBY $y WHERE count($b) > 10 IN <year> $y </year> with GROUPBY SELECT year Equivalent SQL FROM Bib WHERE Bib.publisher="Morgan Kaufmann" GROUPBY year HAVING count(*) > 10 30

31 Group-By dans Xquery?? FOR $b IN document(" $a IN $b/author, $y IN RETURN GROUPBY $a, $y IN <result> $a, <year> $y </year>, <total> count($b) </total> </result> with GROUPBY Without GROUPBY FOR $Tup IN distinct(for $b IN document(" $a IN $b/author, $y IN RETURN <Tup> <a> $a </a> <y> $y </y> </Tup>), $a IN $Tup/a/node(), $y IN $Tup/y/node() LET $b = document(" RETURN <result> $a, <year> $y </year>, <total> count($b) </total> </result> 31

32 Implémentation de XQuery La majorité des constructeur commence déjà à proposer des implémentations de Xquery Intégration dans l ensemble des BDs avec interface XML Classique Native XML Plusieurs démonstrateurs existent permettant de valider les exemples testes proposés par le W3C 32

33 QuiP by Software A.G. 33

34 Microsoft : démonstration XQuery Microsoft Corp. 34

35 X-hieve X-Hieve Corp. 35

36 IPSI - XQ IPSI démonstrateur 36

In this lecture. FLWR expressions FOR and LET expressions Collections and sorting

In this lecture. FLWR expressions FOR and LET expressions Collections and sorting In this lecture Summary of XQuery Resources FLWR expressions FOR and LET expressions Collections and sorting XQuery: A Query Language for XML Chamberlin, Florescu, et al. W3C recommendation: www.w3.org/tr/xquery/

More information

Introduction to Semistructured Data and XML. Management of XML and Semistructured Data. Path Expressions

Introduction to Semistructured Data and XML. Management of XML and Semistructured Data. Path Expressions Introduction to Semistructured Data and XML Chapter 27, Part E Based on slides by Dan Suciu University of Washington Database Management Systems, R. Ramakrishnan 1 Management of XML and Semistructured

More information

Querying XML Documents. Organization of Presentation

Querying XML Documents. Organization of Presentation Querying XML Documents Paul Cotton, Microsoft Canada University of Waterloo Feb 1, 2002 1 Organization of Presentation XML query history XML Query WG history, goals and status XML Query working drafts

More information

Why do we need an XML query language? XQuery: An XML Query Language CS433. Acknowledgment: Many of the slides borrowed from Don Chamberlin.

Why do we need an XML query language? XQuery: An XML Query Language CS433. Acknowledgment: Many of the slides borrowed from Don Chamberlin. Why do we need an XML query language? XQuery: n XML Query Language S433 cknowledgment: Many of the slides borrowed from Don hamberlin XML emerging as dominant standard for data representation and exchange

More information

Lecture 12: XQuery. Friday, February 3, Sorting in XQuery

Lecture 12: XQuery. Friday, February 3, Sorting in XQuery Lecture 12: XQuery Friday, February 3, 2006 1 Sorting in XQuery FOR $b $bin INdocument("bib.xml")//book[publisher = M.K ] ORDER BY $b/price/text() RETURN { $b/title,, $b/price }

More information

A Quilt, not a Camel. Don Chamberlin Jonathan Robie Daniela Florescu. May 19, 2000

A Quilt, not a Camel. Don Chamberlin Jonathan Robie Daniela Florescu. May 19, 2000 A Quilt, not a Camel Don Chamberlin Jonathan Robie Daniela Florescu May 19, 2000 The Web Changes Everything All kinds of information can be made available everywhere, all the time XML is the leading candidate

More information

Traditional Query Processing. Query Processing. Meta-Data for Optimization. Query Optimization Steps. Algebraic Transformation Predicate Pushdown

Traditional Query Processing. Query Processing. Meta-Data for Optimization. Query Optimization Steps. Algebraic Transformation Predicate Pushdown Traditional Query Processing 1. Query optimization buyer Query Processing Be Adaptive SELECT S.s FROM Purchase P, Person Q WHERE P.buyer=Q. AND Q.city= seattle AND Q.phone > 5430000 2. Query execution

More information

XML Query Languages. Yanlei Diao UMass Amherst April 22, Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau

XML Query Languages. Yanlei Diao UMass Amherst April 22, Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau XML Query Languages Yanlei Diao UMass Amherst April 22, 2008 Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau 1 Querying XML How do you query a directed graph? a tree?

More information

Extreme Java G Session 3 - Sub-Topic 6 XML Information Retrieval. Dr. Jean-Claude Franchitti

Extreme Java G Session 3 - Sub-Topic 6 XML Information Retrieval. Dr. Jean-Claude Franchitti Extreme Java G22.3033-007 Session 3 - Sub-Topic 6 XML Information Retrieval Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda

More information

XML and Semi-structured data

XML and Semi-structured data What is XML? Text annotation/markup language ( extensible Markup Language) XML and Semi-structured data Rich Feynman

More information

Lecture 11: Xpath/XQuery. Wednesday, April 17, 2007

Lecture 11: Xpath/XQuery. Wednesday, April 17, 2007 Lecture 11: Xpath/XQuery Wednesday, April 17, 2007 1 Outline XPath XQuery See recommend readings in previous lecture 2 Querying XML Data XPath = simple navigation through the tree XQuery = the SQL of XML

More information

Agenda. Summary of Previous Session. XML for Java Developers G Session 9 - Main Theme XML Information Retrieval (Part I)

Agenda. Summary of Previous Session. XML for Java Developers G Session 9 - Main Theme XML Information Retrieval (Part I) XML for Java Developers G22.3033-002 Session 9 - Main Theme XML Information Retrieval (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

XML Standards and Query Languages. Norbert Fuhr University of Duisburg-Essen

XML Standards and Query Languages. Norbert Fuhr University of Duisburg-Essen XML Standards and Query Languages Norbert Fuhr University of Duisburg-Essen 1 Tutorial Structure 1. XML standards plain XML XML namespaces DTDs and XML schema 2. XML Query Languages Requirements Development

More information

References. Xquery Tutorial. Availability. Xquery Overview. Example XML Document: bib.xml. Advice: Example XML Document: bib.xml

References. Xquery Tutorial. Availability. Xquery Overview. Example XML Document: bib.xml. Advice: Example XML Document: bib.xml References Xquery Tutorial Dan Goldberg & Craig Knoblock University of Southern California XQuery 1.0: An XML Query Language www.w3.org/tr/xquery/ XML Query Use Cases www.w3.org/tr/xmlquery-use-cases What

More information

Quilt: An XML Query Language for Heterogeneous Data Sources

Quilt: An XML Query Language for Heterogeneous Data Sources Quilt: An XML Query Language for Heterogeneous Data Sources Don Chamberlin 1, Jonathan Robie 2, and Daniela Florescu 3 1 IBM Almaden Research Center, San Jose, CA 95120, USA chamberlin@almaden.ibm.com

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 16: Xpath, XQuery, JSON 1 Announcements Homework 4 due on Wednesday There was a small update on the last question Webquiz 6 due on Friday Midterm will be

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 14: XQuery, JSON 1 Announcements Midterm: Monday in class Review Sunday 2 pm, SAV 264 Includes everything up to, but not including, XML Closed book, no

More information

XQuery. Announcements (March 21) XQuery. CPS 216 Advanced Database Systems

XQuery. Announcements (March 21) XQuery. CPS 216 Advanced Database Systems XQuery CPS 216 Advanced Database Systems Announcements (March 21) 2 Midterm has been graded Homework #3 will be assigned next Tuesday Reading assignment due next Wednesday XML processing in Lore (VLDB

More information

XQuery. Leonidas Fegaras University of Texas at Arlington. Web Databases and XML L7: XQuery 1

XQuery. Leonidas Fegaras University of Texas at Arlington. Web Databases and XML L7: XQuery 1 XQuery Leonidas Fegaras University of Texas at Arlington Web Databases and XML L7: XQuery 1 XQuery Influenced by SQL Based on XPath Purely functional language may access elements from documents, may construct

More information

XPath and XQuery. Introduction to Databases CompSci 316 Fall 2018

XPath and XQuery. Introduction to Databases CompSci 316 Fall 2018 XPath and XQuery Introduction to Databases CompSci 316 Fall 2018 2 Announcements (Tue. Oct. 23) Homework #3 due in two weeks Project milestone #1 feedback : we are a bit behind, but will definitely release

More information

Chapter 1: Semistructured Data Management XML

Chapter 1: Semistructured Data Management XML Chapter 1: Semistructured Data Management XML XML - 1 The Web has generated a new class of data models, which are generally summarized under the notion semi-structured data models. The reasons for that

More information

Chapter 8 XQuery. Recent Developments for Data Models

Chapter 8 XQuery. Recent Developments for Data Models Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 8 XQuery Recent Developments for Data Models Outline Overview

More information

Chapter 1: Semistructured Data Management XML

Chapter 1: Semistructured Data Management XML Chapter 1: Semistructured Data Management XML 2006/7, Karl Aberer, EPFL-IC, Laboratoire de systèmes d'informations répartis XML - 1 The Web has generated a new class of data models, which are generally

More information

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW XML and Databases Lecture 10 XPath Evaluation using RDBMS Sebastian Maneth NICTA and UNSW CSE@UNSW -- Semester 1, 2009 Outline 1. Recall pre / post encoding 2. XPath with //, ancestor, @, and text() 3.

More information

Type Based XML Projection

Type Based XML Projection 1/90, Type Based XML Projection VLDB 2006, Seoul, Korea Véronique Benzaken Dario Colazzo Giuseppe Castagna Kim Nguy ên : Équipe Bases de Données, LRI, Université Paris-Sud 11, Orsay, France : Équipe Langage,

More information

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW Outline XML and Databases Lecture 10 XPath Evaluation using RDBMS 1. Recall / encoding 2. XPath with //,, @, and text() 3. XPath with / and -sibling: use / size / level encoding Sebastian Maneth NICTA

More information

Katz_C01.qxd 7/23/03 2:45 PM Page 1. Part I BASICS

Katz_C01.qxd 7/23/03 2:45 PM Page 1. Part I BASICS Katz_C01.qxd 7/23/03 2:45 PM Page 1 Part I BASICS Katz_C01.qxd 7/23/03 2:45 PM Page 2 Katz_C01.qxd 7/23/03 2:45 PM Page 3 Chapter 1 XQUERY: A GUIDED TOUR Jonathan Robie XML (Extensible Markup Language)

More information

XPath an XML query language

XPath an XML query language XPath an XML query language Some XML query languages: XML-QL XPath XQuery Many others 1 XML-QL http://www.w3.org/tr/note-xml-ql (8/98) Features: regular path expressions patterns, templates Skolem Functions

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 12: XQuery 1 XQuery Standard for high-level querying of databases containing data in XML form Based on Quilt, which is based on XML-QL Uses XPath to express

More information

XML in Databases. Albrecht Schmidt. al. Albrecht Schmidt, Aalborg University 1

XML in Databases. Albrecht Schmidt.   al. Albrecht Schmidt, Aalborg University 1 XML in Databases Albrecht Schmidt al@cs.auc.dk http://www.cs.auc.dk/ al Albrecht Schmidt, Aalborg University 1 What is XML? (1) Where is the Life we have lost in living? Where is the wisdom we have lost

More information

Schemas for Safe and Efficient XML Processing

Schemas for Safe and Efficient XML Processing Schemas for Safe and Efficient XML Processing Dario Colazzo Université Paris Sud - INRIA Giorgio Ghelli Università di Pisa Carlo Sartiani Università della Basilicata Tutorial Outline Overview of schema

More information

Progress Report on XQuery

Progress Report on XQuery Progress Report on XQuery Don Chamberlin Almaden Research Center May 24, 2002 History Dec. '98: W3C sponsors workshop on XML Query Oct. '99: W3C charters XML Query working group Chair: Paul Cotton About

More information

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages:

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages: XML Technologies Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz Web pages: http://www.ksi.mff.cuni.cz/~holubova/nprg036/ Outline Introduction to XML format, overview of XML technologies DTD

More information

EMERGING TECHNOLOGIES

EMERGING TECHNOLOGIES EMERGING TECHNOLOGIES XML (Part 3): XQuery Outline 1. Introduction 2. Structure of XML data 3. XML Document Schema 3.1. Document Type Definition (DTD) 3.2. XMLSchema 4. Data Model for XML documents. 5.

More information

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while 1 One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while leaving the engine to choose the best way of fulfilling

More information

Introduction to Database Systems CSE 444

Introduction to Database Systems CSE 444 Introduction to Database Systems CSE 444 Lecture 25: XML 1 XML Outline XML Syntax Semistructured data DTDs XPath Coverage of XML is much better in new edition Readings Sections 11.1 11.3 and 12.1 [Subset

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 11: XML and XPath 1 XML Outline What is XML? Syntax Semistructured data DTDs XPath 2 What is XML? Stands for extensible Markup Language 1. Advanced, self-describing

More information

A Gentle Introduction into Xcerpt, a Rule-Based Query and Transformation Language for XML

A Gentle Introduction into Xcerpt, a Rule-Based Query and Transformation Language for XML INSTITUT FÜR INFORMATIK Lehr- und Forschungseinheit für Programmier- und Modellierungssprachen Oettingenstraße 67, D 80538 München Ludwig Maximilians Universität München LMU A Gentle Introduction into

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL17: XML processing with CDuce David Aspinall (see final slide for the credits and pointers to sources) School of Informatics The University of Edinburgh Friday

More information

XTree and XTreeQuery. for Declarative XML Querying

XTree and XTreeQuery. for Declarative XML Querying XTree and XTreeQuery for Declarative XML Querying CHEN ZHUO (B.Comp (Hons.), NUS) A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF COMPUTING DEPARTMENT OF COMPUTER SCIENCE NATIONAL UNIVERSITY OF SINGAPORE

More information

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344 What We Have Learned So Far Introduction to Data Management CSE 344 Lecture 12: XML and XPath A LOT about the relational model Hand s on experience using a relational DBMS From basic to pretty advanced

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

Introduction. " Documents have tags giving extra information about sections of the document

Introduction.  Documents have tags giving extra information about sections of the document Chapter 10: XML Introduction! XML: Extensible Markup Language! Defined by the WWW Consortium (W3C)! Originally intended as a document markup language not a database language " Documents have tags giving

More information

A DTD-Syntax-Tree Based XML file Modularization Browsing Technique

A DTD-Syntax-Tree Based XML file Modularization Browsing Technique IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.2A, February 2006 127 A DTD-Syntax-Tree Based XML file Modularization Browsing Technique Zhu Zhengyu 1, Changzhi Li, Yuan

More information

TDDD43. Theme 1.2: XML query languages. Fang Wei- Kleiner h?p:// TDDD43

TDDD43. Theme 1.2: XML query languages. Fang Wei- Kleiner h?p://  TDDD43 Theme 1.2: XML query languages Fang Wei- Kleiner h?p://www.ida.liu.se/~ Query languages for XML Xpath o Path expressions with conditions o Building block of other standards (XQuery, XSLT, XLink, XPointer,

More information

Querying and Transforming XML Data Chapter5 Contents

Querying and Transforming XML Data Chapter5 Contents Contents Outline of Lecture... 153 Sources... 153 Motivation... 153 Querying and Transforming XML Data... 154 Tree Model of XML Data... 154 XML Hierarchy... 155 What is XPath?... 156 XPath - Selecting

More information

DRAFT. Un Système de gestion de données XML probabilistes * Pierre Senellart Asma Souihli

DRAFT. Un Système de gestion de données XML probabilistes * Pierre Senellart Asma Souihli Un Système de gestion de données XML probabilistes * Pierre Senellart Asma Souihli Institut Télécom; Télécom ParisTech CNRS LTCI, 46 rue Barrault 75634 Paris, France [first.last]@telecom-paristech.fr Cette

More information

Semi-structured Data. 8 - XPath

Semi-structured Data. 8 - XPath Semi-structured Data 8 - XPath Andreas Pieris and Wolfgang Fischl, Summer Term 2016 Outline XPath Terminology XPath at First Glance Location Paths (Axis, Node Test, Predicate) Abbreviated Syntax What is

More information

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9 XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2

More information

Pre-Discussion. XQuery: An XML Query Language. Outline. 1. The story, in brief is. Other query languages. XML vs. Relational Data

Pre-Discussion. XQuery: An XML Query Language. Outline. 1. The story, in brief is. Other query languages. XML vs. Relational Data Pre-Discussion XQuery: An XML Query Language D. Chamberlin After the presentation, we will evaluate XQuery. During the presentation, think about consequences of the design decisions on the usability of

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 13: XML and XPath 1 Announcements Current assignments: Web quiz 4 due tonight, 11 pm Homework 4 due Wednesday night, 11 pm Midterm: next Monday, May 4,

More information

Seleniet XPATH Locator QuickRef

Seleniet XPATH Locator QuickRef Seleniet XPATH Locator QuickRef Author(s) Thomas Eitzenberger Version 0.2 Status Ready for review Page 1 of 11 Content Selecting Nodes...3 Predicates...3 Selecting Unknown Nodes...4 Selecting Several Paths...5

More information

Introduction. " Documents have tags giving extra information about sections of the document

Introduction.  Documents have tags giving extra information about sections of the document Chapter 10: XML Introduction! XML: Extensible Markup Language! Defined by the WWW Consortium (W3C)! Originally intended as a document markup language not a database language " Documents have tags giving

More information

XML and Databases XSLT Stylesheets and Transforms

XML and Databases XSLT Stylesheets and Transforms XML and Databases XSLT Stylesheets and Transforms Kim.Nguyen@nicta.com.au Lecture 11 1 / 38 extensible Stylesheet Language Transformations Outline 1 extensible Stylesheet Language Transformations 2 Templates

More information

EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML

EXtensible Markup Language (XML)   a W3C standard to complement HTML A markup language much like HTML XML and XPath EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML origins: structured text SGML motivation: HTML describes presentation XML describes content

More information

CSC Web Programming. Introduction to SQL

CSC Web Programming. Introduction to SQL CSC 242 - Web Programming Introduction to SQL SQL Statements Data Definition Language CREATE ALTER DROP Data Manipulation Language INSERT UPDATE DELETE Data Query Language SELECT SQL statements end with

More information

An Algebra for XML Query

An Algebra for XML Query An Algebra for XML Query Mary Fernández AT&T Labs Research mff@research.att.com Jérôme Siméon Bell Labs, Lucent Technologies simeon@research.bell-labs.com Philip Wadler Bell Labs, Lucent Technologies wadler@research.bell-labs.com

More information

Special Session: Semantic Gossiping. 2003/4, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations répartis Semantic Gossiping - 1

Special Session: Semantic Gossiping. 2003/4, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations répartis Semantic Gossiping - 1 Special Session: Semantic Gossiping 2003/4, Karl Aberer, EPFL-SSC, Laboratoire de systèmes d'informations répartis Semantic Gossiping - 1 1 Overview 1. XPath revisited 2. XQuery 3. XSLT 4. Introduction

More information

CSE 344 Final Examination

CSE 344 Final Examination CSE 344 Final Examination June 8, 2011, 8:30am - 10:20am Name: This exam is a closed book exam. Question Points Score 1 20 2 20 3 30 4 25 5 35 6 25 7 20 8 25 Total: 200 You have 1h:50 minutes; budget time

More information

The XML Query Language Xcerpt: Design Principles, Examples, and Semantics

The XML Query Language Xcerpt: Design Principles, Examples, and Semantics The XML Query Language Xcerpt: Design Principles, Examples, and Semantics François Bry and Sebastian Schaffert Institute for Computer Science, University of Munich http://www.pms.informatik.uni-muenchen.de/

More information

Introduction to Semistructured Data and XML

Introduction to Semistructured Data and XML Introduction to Semistructured Data and XML Chapter 27, Part D Based on slides by Dan Suciu University of Washington Database Management Systems, R. Ramakrishnan 1 How the Web is Today HTML documents often

More information

XML, DTD, and XPath. Announcements. From HTML to XML (extensible Markup Language) CPS 116 Introduction to Database Systems. Midterm has been graded

XML, DTD, and XPath. Announcements. From HTML to XML (extensible Markup Language) CPS 116 Introduction to Database Systems. Midterm has been graded XML, DTD, and XPath CPS 116 Introduction to Database Systems Announcements 2 Midterm has been graded Graded exams available in my office Grades posted on Blackboard Sample solution and score distribution

More information

Course Content. extensible Markup Language. Objectives of Lecture 8 XML and Databases. CMPUT 391: XML and Databases. Dr. Osmar R.

Course Content. extensible Markup Language. Objectives of Lecture 8 XML and Databases. CMPUT 391: XML and Databases. Dr. Osmar R. Database Management Systems Winter 20023 CMPUT 391: XML and Databases Dr. Osmar R. Zaïane University of Alberta Chapter 27 of Textbook Course Content Introduction Database Design Theory Query Processing

More information

XPath. Lecture 36. Robb T. Koether. Wed, Apr 16, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, / 28

XPath. Lecture 36. Robb T. Koether. Wed, Apr 16, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, / 28 XPath Lecture 36 Robb T. Koether Hampden-Sydney College Wed, Apr 16, 2014 Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, 2014 1 / 28 1 XPath 2 Executing XPath Expressions 3 XPath Expressions

More information

Data Services (II): XML Transformation and Query Techniques

Data Services (II): XML Transformation and Query Techniques Data Services (II): XML Transformation and Query Techniques Helen Paik School of Computer Science and Engineering University of New South Wales Week 9 H. Paik (CSE, UNSW) XML Week 9 1 / 50 Part I XQuery

More information

XML Parsers XPath, XQuery

XML Parsers XPath, XQuery XML Parsers XPath, XQuery Lecture 10 1 XML parsers XPath XQuery XML publishing Outline Background (reading) http://www.w3.org/tr/xmlquery-use-cases/ several Xquery examples http://www.xmlportfolio.com/xquery.html

More information

XML. Semi-structured data (SSD) SSD Graphs. SSD Examples. Schemas for SSD. More flexible data model than the relational model.

XML. Semi-structured data (SSD) SSD Graphs. SSD Examples. Schemas for SSD. More flexible data model than the relational model. Semi-structured data (SSD) XML Semistructured data XML, DTD, (XMLSchema) XPath, XQuery More flexible data model than the relational model. Think of an object structure, but with the type of each object

More information

Query Engines for Web-Accessible XML Data

Query Engines for Web-Accessible XML Data Query Engines for Web-Accessible XML Data Leonidas Fegaras Ramez Elmasri University of Texas at Arlington Fegaras & Elmasri CSE @ UTA 1 I will present: Adding XML Support to an OODB an extension to ODMG

More information

An Encoding of XQuery in Prolog

An Encoding of XQuery in Prolog An Encoding of XQuery in Prolog Jesús M. Almendros-Jiménez Dpto. Lenguajes y Computación, Universidad de Almería jalmen@ual.es Abstract. In this paper we describe the implementation of (a subset of) the

More information

XSLT and Structural Recursion. Gestão e Tratamento de Informação DEI IST 2011/2012

XSLT and Structural Recursion. Gestão e Tratamento de Informação DEI IST 2011/2012 XSLT and Structural Recursion Gestão e Tratamento de Informação DEI IST 2011/2012 Outline Structural Recursion The XSLT Language Structural Recursion : a different paradigm for processing data Data is

More information

XML & Databases. Tutorial. 3. XPath Queries. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl

XML & Databases. Tutorial. 3. XPath Queries. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl XML & Databases Tutorial Christian Grün, Database & Information Systems Group University of, Winter 2007/08 XPath Introduction navigational access to XML documents sub-language in XQuery, XSLT, or XPointer

More information

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data Querying XML Data Querying XML has two components Selecting data pattern matching on structural & path properties typical selection conditions Construct output, or transform data construct new elements

More information

XPath Lecture 34. Robb T. Koether. Hampden-Sydney College. Wed, Apr 11, 2012

XPath Lecture 34. Robb T. Koether. Hampden-Sydney College. Wed, Apr 11, 2012 XPath Lecture 34 Robb T. Koether Hampden-Sydney College Wed, Apr 11, 2012 Robb T. Koether (Hampden-Sydney College) XPathLecture 34 Wed, Apr 11, 2012 1 / 20 1 XPath Functions 2 Predicates 3 Axes Robb T.

More information

VLANs. Commutation LAN et Wireless Chapitre 3

VLANs. Commutation LAN et Wireless Chapitre 3 VLANs Commutation LAN et Wireless Chapitre 3 ITE I Chapter 6 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Objectifs Expliquer le rôle des VLANs dans un réseau convergent. Expliquer le rôle

More information

Course: The XPath Language

Course: The XPath Language 1 / 27 Course: The XPath Language Pierre Genevès CNRS University of Grenoble, 2012 2013 2 / 27 Why XPath? Search, selection and extraction of information from XML documents are essential for any kind of

More information

XML Data Management. 5. Extracting Data from XML: XPath

XML Data Management. 5. Extracting Data from XML: XPath XML Data Management 5. Extracting Data from XML: XPath Werner Nutt based on slides by Sara Cohen, Jerusalem 1 Extracting Data from XML Data stored in an XML document must be extracted to use it with various

More information

Example using multiple predicates

Example using multiple predicates XPath Example using multiple predicates //performance[conductor][date] L C C C C p c s p p s o t d p p c p p Peter Wood (BBK) XML Data Management 162 / 366 XPath Further examples with predicates //performance[composer='frederic

More information

Query Languages for XML

Query Languages for XML Query Languages for XML XPath XQuery 1 The XPath/XQuery Data Model Corresponding to the fundamental relation of the relational model is: sequence of items. An item is either: 1. A primitive value, e.g.,

More information

Querying XML. COSC 304 Introduction to Database Systems. XML Querying. Example DTD. Example XML Document. Path Descriptions in XPath

Querying XML. COSC 304 Introduction to Database Systems. XML Querying. Example DTD. Example XML Document. Path Descriptions in XPath COSC 304 Introduction to Database Systems XML Querying Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Querying XML We will look at two standard query languages: XPath

More information

XML Origin and Usages

XML Origin and Usages Kapitel 1 XML Outline XML Basics DTDs, XML Schema XPath, XSLT, XQuery SQL/XML Application Programming Integration N. Ritter, WfWS, Kapitel1, SS 2005 1 XML Origin and Usages Defined by the WWW Consortium

More information

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington Introduction to Semistructured Data and XML Based on slides by Dan Suciu University of Washington CS330 Lecture April 8, 2003 1 Overview From HTML to XML DTDs Querying XML: XPath Transforming XML: XSLT

More information

XML-XQuery and Relational Mapping. Introduction to Databases CompSci 316 Spring 2017

XML-XQuery and Relational Mapping. Introduction to Databases CompSci 316 Spring 2017 XML-XQuery and Relational Mapping Introduction to Databases CompSci 316 Spring 2017 2 Announcements (Wed., Apr. 12) Homework #4 due Monday, April 24, 11:55 pm 4.1, 4.2, 4.3, X1 is posted Please start early

More information

A Serialization Framework for XQuery

A Serialization Framework for XQuery A Serialization Framework for XQuery by Roxana Zapata Gomez in partial fulfillment of the requirements for the degree of Master of Applied Computer Sciences Supervisors: Submitted to: Dipl.-Inf. Sebastian

More information

Navigating an XML Document

Navigating an XML Document University of Dublin Trinity College Navigating an XML Document Owen.Conlan@scss.tcd.ie Athanasios.Staikopoulos@scss.tcd.ie What is XPath? Language for addressing parts of an XML document Used in XSLT,

More information

The NEXT Framework for Logical XQuery Optimization

The NEXT Framework for Logical XQuery Optimization The NEXT Framework for Logical XQuery Optimization Alin Deutsch Yannis Papakonstantinou Yu Xu University of California, San Diego deutsch,yannis,yxu @cs.ucsd.edu Abstract Classical logical optimization

More information

XPath. by Klaus Lüthje Lauri Pitkänen

XPath. by Klaus Lüthje Lauri Pitkänen XPath by Klaus Lüthje Lauri Pitkänen Agenda Introduction History Syntax Additional example and demo Applications Xpath 2.0 Future Introduction Expression language for Addressing portions of an XML document

More information

XML-Relational Mapping. Introduction to Databases CompSci 316 Fall 2014

XML-Relational Mapping. Introduction to Databases CompSci 316 Fall 2014 XML-Relational Mapping Introduction to Databases CompSci 316 Fall 2014 2 Approaches to XML processing Text files/messages Specialized XML DBMS Tamino(Software AG), BaseX, exist, Sedna, Not as mature as

More information

XQuery Query Processing in Relational Systems

XQuery Query Processing in Relational Systems XQuery Query Processing in Relational Systems by Yingwen Chen A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master of Mathematics in Computer

More information

Data Formats and APIs

Data Formats and APIs Data Formats and APIs Mike Carey mjcarey@ics.uci.edu 0 Announcements Keep watching the course wiki page (especially its attachments): https://grape.ics.uci.edu/wiki/asterix/wiki/stats170ab-2018 Ditto for

More information

Big Data 12. Querying

Big Data 12. Querying Ghislain Fourny Big Data 12. Querying pinkyone / 123RF Stock Photo Declarative Languages What vs. How 2 Functional Languages for let order by if + any else = then every while where return exit with Expression

More information

VHDL par Ahcène Bounceur VHDL

VHDL par Ahcène Bounceur VHDL VHDL Ahcène Bounceur 2009 Plan de travail 1. Introduction au langage 2. Prise en main 3. Machine à état 4. Implémentation sur FPGA 1 VHDL Introduction au langage Ahcène Bounceur VHDL VHIC (Very High-speed

More information

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views 1. (4 points) Of the following statements, identify all that hold about architecture. A. DoDAF specifies a number of views to capture different aspects of a system being modeled Solution: A is true: B.

More information

Overview. Structured Data. The Structure of Data. Semi-Structured Data Introduction to XML Querying XML Documents. CMPUT 391: XML and Querying XML

Overview. Structured Data. The Structure of Data. Semi-Structured Data Introduction to XML Querying XML Documents. CMPUT 391: XML and Querying XML Database Management Systems Winter 2004 CMPUT 391: XML and Querying XML Lecture 12 Overview Semi-Structured Data Introduction to XML Querying XML Documents Dr. Osmar R. Zaïane University of Alberta Chapter

More information

XML Information Retrieval. Norbert Fuhr

XML Information Retrieval. Norbert Fuhr XML Information Retrieval Norbert Fuhr 1 Contents 1. XML standards plain XML XML namespaces DTDs and XML schema 2. XML Query Languages Requirements Development XPath and XQuery XML databases 2 3. Approaches

More information

Java et Mascopt. Jean-François Lalande, Michel Syska, Yann Verhoeven. Projet Mascotte, I3S-INRIA Sophia-Antipolis, France

Java et Mascopt. Jean-François Lalande, Michel Syska, Yann Verhoeven. Projet Mascotte, I3S-INRIA Sophia-Antipolis, France Java et Mascopt Jean-François Lalande, Michel Syska, Yann Verhoeven Projet Mascotte, IS-INRIA Sophia-Antipolis, France Formation Mascotte 09 janvier 00 Java Java et Mascopt - Formation Mascotte 09 janvier

More information

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

XPath. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University XPath Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview What is XPath? Queries The XPath Data Model Location Paths Expressions

More information

Informatics 1: Data & Analysis

Informatics 1: Data & Analysis T O Y H Informatics 1: Data & Analysis Lecture 11: Navigating XML using XPath Ian Stark School of Informatics The University of Edinburgh Tuesday 26 February 2013 Semester 2 Week 6 E H U N I V E R S I

More information

Introduction to XQuery and XML Databases

Introduction to XQuery and XML Databases Introduction to XQuery and XML Databases TEI@Oxford July 2009 XQuery While XSLT is good for transforming XML to other formats (XML, HTML, PDF, Text, etc.) sometimes you may wish to query a large database

More information

Symmetrically Exploiting XML

Symmetrically Exploiting XML Symmetrically Exploiting XML Shuohao Zhang and Curtis Dyreson School of E.E. and Computer Science Washington State University Pullman, Washington, USA The 15 th International World Wide Web Conference

More information