Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:mlbda:tmes:xquery1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:master:mlbda:tmes:xquery1 [25/10/2017 15:43]
hubert [TME XQuery (séance 1)]
site:enseignement:master:mlbda:tmes:xquery1 [22/11/2020 15:04] (Version actuelle)
amine [TME XQuery : séance 1]
Ligne 1: Ligne 1:
 {{indexmenu_n>​80}} {{indexmenu_n>​80}}
  
-====== TME XQuery ​(séance 1) BIS ======+====== TME XQuery ​séance 1 (ancienne page)======
 ===== Documentation XQuery ===== ===== Documentation XQuery =====
   * Lire les précisions apportées dans [[xqueryfaq]]   * Lire les précisions apportées dans [[xqueryfaq]]
   * [[https://​www.w3.org/​TR/​xquery-semantics/​|Sémantique d'​après la recommandation du W3C]]   * [[https://​www.w3.org/​TR/​xquery-semantics/​|Sémantique d'​après la recommandation du W3C]]
   * [[http://​www-bd.lip6.fr/​ens/​mabd2013/​extra/​Walmsley_Cours_xquery_xpath.pdf|Tutorial]]   * [[http://​www-bd.lip6.fr/​ens/​mabd2013/​extra/​Walmsley_Cours_xquery_xpath.pdf|Tutorial]]
 +  * [[https://​www.w3.org/​TR/​xquery-use-cases/#​xmp|Use-case XMP]]
  
 ^__commande__ ​ ^ __description__ ^ ^__commande__ ​ ^ __description__ ^
Ligne 37: Ligne 37:
   return $r   return $r
  
-**Remarque** Il est évident que si le résultat de votre requete est un nouvel élément construit par copie d'​autres éléments de votre document interrogé, les éléments de ce dernier ne seront pas coloriés.+**Remarque ​1** Il est évident que si le résultat de votre requete est un nouvel élément construit par copie d'​autres éléments de votre document interrogé, les éléments de ce dernier ne seront pas coloriés. 
 + 
 +**Remarque 2** Pour (dé)commenter un paragraphe, sélectionner le paragraphe et saisir Ctrl-k  
 + 
  
 ===== Exercice 1 ===== ===== Exercice 1 =====
Ligne 51: Ligne 55:
  
  
-Il vous est demandé de formuler en XQuery les requêtes permettant de retourner les informations ci-dessous. Les résultats sont consultables [[site:​enseignement:​master:​mlbda:​tmes:​xquery1:resultats|ici]].+Il vous est demandé de formuler en XQuery les requêtes permettant de retourner les informations ci-dessous. Les résultats sont consultables ​sur la page [[site:​enseignement:​master:​mlbda:​tmes:​xquery:​resultats]].
  
   - Le nom de la personne dont l'​identifiant est "​person0"​.   - Le nom de la personne dont l'​identifiant est "​person0"​.
-  - La valeur initiale ​ des trois premières enchères <fc #​ff0000>​en cours</​fc>​. +  - La valeur initiale ​(élément initial) ​des trois premières enchères <fc #​ff0000>​en cours</​fc>​. 
-  - La valeur de la première et de la dernière augmentation effectuée sur les trois premières des enchères en cours, selon l'​ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). +  - La valeur de la première et de la dernière augmentation ​(élément increase de bidder) ​effectuée sur les trois premières des enchères en cours, selon l'​ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). 
-  - Le prix des objets ​vendu à plus de 480.  +  - Le prix des objets ​vendus ​à plus de 480.  
-  - Le noms des objets du continent africain +  - Le nom des objets du continent africain 
-  - Le noms des objets du continent africain avec leur prix de vente  +  - Le nom des objets du continent africain avec leur prix de vente  
-  - Le nombre de personnes qui ont pas de page web (i.e. les personnes sans élément homepage)+  - Le nombre de personnes qui n'ont pas de page web (i.e. les personnes sans élément homepage) 
 + 
 +<showif isloggedin>​ 
 +**<fc #​ff0000>​Réponses</​fc>​** 
 + 
 +- Le nom de la personne dont l'​identifiant est "​person0"​. 
 +<code xquery>​ 
 +for $x in /​site/​people/​person[@id="​person0"​] 
 +return $x/name 
 +</​code>​ 
 + 
 +- La valeur initiale ​ des trois premières enchères <fc #​ff0000>​en cours</​fc>​. 
 +<code xquery>​ 
 +for $x in /​site/​open_auctions/​auction[position()<​4] 
 +return <result id="​{$x/​@id}"​ >​{$x/​initial}</​result>​ 
 +</​code>​ 
 + 
 +- La valeur de la première et de la dernière augmentation effectuée sur les trois premières des enchères en cours, selon l'​ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). 
 +<code xquery>​ 
 +for $x in /​site/​open_auctions/​auction[position()<​4] 
 +return <result id="​{$x/​@id}"​ ><​first>​{$x/​bidder[1]/​increase/​text()}</​first><​last>​{$x/​bidder[last()]/​increase/​text()}</​last></​result>​ 
 +</​code>​ 
 + 
 +- Le prix des objets vendus à plus de 480.  
 +<code xquery>​ 
 +for $x in //​closed_auctions/​auction,​ 
 +$y in //item 
 +where $x/​price/​text()>​480 and $x/​itemref/​@item =$y/@id 
 +return $x/price 
 +</​code>​ 
 + 
 +- Le nom des objets du continent africain 
 +<code xquery>​ 
 +for $x in //​regions/​africa 
 +return $x/​item/​name 
 +</​code>​
  
 +- Le nom des objets du continent africain avec leur prix de vente 
 +<code xquery>
 +for $x in //​regions/​africa/​item
 +for $y in //​closed_auctions/​auction
 +where $x/​@id=$y/​itemref/​@item
 +return <​res>​{$x/​name,​ $y/​price}</​res>​
 +</​code>​
  
 +- Le nombre de personnes qui n'ont pas de page web (i.e. les personnes sans élément homepage)
 +<code xquery>
 +count(for $p in //person
 +where empty($p/​homepage)
 +return $p)
 +</​code>​
  
 +</​showif>​
 ===== Exercice 2 ===== ===== Exercice 2 =====
 Poursuivre sur les questions de l'​exercice 2 du TD en utilisant les données bib.xml. Pour ce faire, commencer par charger dans BaseX le fichier bib.xml en suivant les instructions décrites précédemment. Poursuivre sur les questions de l'​exercice 2 du TD en utilisant les données bib.xml. Pour ce faire, commencer par charger dans BaseX le fichier bib.xml en suivant les instructions décrites précédemment.
site/enseignement/master/mlbda/tmes/xquery1.1508939007.txt.gz · Dernière modification: 25/10/2017 15:43 par hubert