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:xpath

Ceci est une ancienne révision du document !


TME XPATH

Préparation

Ce TME utilise le SGBD XML BaseX.

  • Créer un répertoire de travail pour ce tme.
  • Télécharger et décompresser, dans votre répertoire de travail, le fichier tmexpath2020, cela va créer le répertoire tmexpath2020
  • Télécharger et décompresser, dans votre répertoire de travail, l'archive BaseX945.zip (ou ici)
  • Lancer l'interface graphique de BaseX (voir la description de l'interface graphique à cette adresse: https://docs.basex.org/wiki/Graphical_User_Interface):
Windows: cliquer sur l'icône **BaseX GUI** (ou lancer le script basexgui.bat)
Unix: exécuter bin/basexgui depuis le répertoire racine de basex

Dans BaseX:

  • Créer la base de données contenant tous les fichiers du répertoire tmexpath décompressé précédemment: Database→New… cliquer sur Browse… pour choisir comme répertoire source pour cette base le répertoire tmexpath. Vérifier aussi que le champ Input Format vaut bien XML.
  • Évaluer une expression XPath (son résultat sera affiché dans la fenêtre Result): dans Input Bar changez dans le menu déroulant Find par XQuery, vous pouvez ensuite écrire l'expression XPath.

Exercice: Films

On veut extraire des données du fichier Film.xml (le fichier est déjà dans le dossier tmexpath), dont la DTD est donnée ci-dessous:

<!ELEMENT FILMS (FILM*)>
<!ELEMENT FILM (TITRE, GENRE, PAYS, MES,ROLES,RESUME) >
<!ATTLIST FILM Annee CDATA#REQUIRED>
<!ELEMENT TITRE (#PCDATA) >
<!ELEMENT GENRE (#PCDATA) >
<!ELEMENT PAYS (#PCDATA) >
<!ELEMENT MES EMPTY >
<!ATTLIST MES idref IDREF #REQUIRED>
<!ELEMENT ROLES (ROLE*) >
<!ELEMENT ROLE (PRENOM,NOM,INTITULE) >
<!ELEMENT PRENOM (#PCDATA) >
<!ELEMENT NOM (#PCDATA) >
<!ELEMENT INTITULE (#PCDATA) >
<!ELEMENT RESUME (#PCDATA) >

Ecrivez les requêtes XPath permettant de récupérer:

  1. Tous les titres de films.
  2. Les titres des films d'horreur.
  3. Le résumé d'Alien.
  4. Titre des films avec James Stewart.
  5. Titre des films avec James Stewart et Kim Novak.
  6. Quels films ont un résumé ?
  7. Quels films n'ont pas de résumé ?
  8. Quel est l'identifiant du metteur en scène du film Vertigo?
  9. Quel rôle joue Harvey Keitel dans le film Reservoir dogs ?
  10. Quel est le dernier film du document ?
  11. Quel est le titre du film qui précède immédiatement le film Shining (dans l'ordre du document).
  12. Qui a mis en scène le film Eyes Wide Shut ?
  13. Donnez les titres des films qui contiennent un 'V' (utiliser la fonction contains)
  14. Donner les noeuds qui ont exactement trois descendants (utiliser la fonction count).
  15. Donner les noeuds dont le nom contient la chaîne 'TU' (fonction name)

Exercice: Guide touristique

Reprendre les questions Xpath de l'exercice 1 du TD avec les deux fichiers xml fournis (restaurant.xml et restaurant.dtd). On adaptera les valeurs des champs afin d'obtenir un résultat non vide sur les fichiers fournis.

Exercice: Atlas

Reprendre les questions Xpath de l'exercice 2 du TD avec les deux fichiers xml fournis (atlas.xml et atlas.xml). On adaptera les valeurs des champs afin d'obtenir un résultat non vide sur les fichiers fournis.

site/enseignement/master/mlbda/tmes/xpath.1606395002.txt.gz · Dernière modification: 26/11/2020 13:50 par hubert