Aide à la formulation de requête : Un outil d interrogation graphique de requêtes XQuery

Documents pareils
Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Le langage SQL Rappels

Langage SQL : créer et interroger une base

Manipulation de données avec SAS Enterprise Guide et modélisation prédictive avec SAS Enterprise Miner

Cookies de session ils vous permettent de sauvegarder vos préférences d utilisation et optimiser l expérience de navigation de l Utilisateur ;

TD n 10 : Ma première Base de Données

Aide à l utilisation

données en connaissance et en actions?

Gestion des fichiers sur micro-ordinateur

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

SQL Historique

XML et Bases de données. Les bases de données XML natives.

Créer sa première base de données Access Partie 3/4 - Création d un formulaire

Business Intelligence simple et efficace

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

LES TOUT PREMIERS PAS

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Dossier I Découverte de Base d Open Office

Cours d algorithmique pour la classe de 2nde

Pourquoi un GMAO? Pourquoi GMAO-Machine Bateau? Démarrage Dossier Menu Principal Structure, classification des équipements Fiche d intervention

Excel 2007 Niveau 3 Page 1

MODE D EMPLOI DU LOGICIEL LIGNES DE TEMPS A partir du film La Mort aux trousses d Alfred Hitchcock

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Procédure : Sauvegarder un Windows 7 sur un disque réseau

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Générer du code à partir d une description de haut niveau

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Préparation à l examen EFA en Macro

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

MODE OPERATOIRE OPENOFFICE BASE

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Business Intelligence

OCL - Object Constraint Language

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

Les différents types de relation entre les tables

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Les structures de données. Rajae El Ouazzani

La réplication sous SQL Server 2005

Réglages du module de sauvegarde de Biblionet (Monoposte)

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Manuel d'installation de GESLAB Client Lourd

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Paginer les données côté serveur, mettre en cache côté client

Cours de Génie Logiciel

1 Introduction et installation

BI2 : Un profil UML pour les Indicateurs Décisionnels

Bases de données avancées Introduction

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

BIRT (Business Intelligence and Reporting Tools)

Objet du document. Version document : 1.00

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY

Création de Site Web. Atelier Cyber-Base Emploi Pays Beaujolais

PROJET 1 : BASE DE DONNÉES REPARTIES

La base de données XML exist. A. Belaïd

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

LibreOffice Calc : introduction aux tableaux croisés dynamiques

CREG : versailles.fr/spip.php?article803

Didacticiel Études de cas. Description succincte de Pentaho Data Integration Community Edition (Kettle).

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

.NET - Classe de Log

Mise à jour : Octobre 2011

Chapitre 9 : Informatique décisionnelle

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

STAGE IREM 0- Premiers pas en Python

Guide utilisateur des services WASATIS (Manuel Version 1.1)

Comment utiliser RoundCube?

BASE DE DONNÉES XML NATIVE

COURS WINDEV NUMERO 3

Bases de données. Table des matières. Introduction. (ReferencePlus.ca)

AIDE AU PILOTAGE. BO Web intelligence Session 1

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Licence Sciences et Technologies Examen janvier 2010

DOCM Solutions officielles = n 2 10.

Manuel d installation de Business Objects Web Intelligence Rich Client.

Microsoft Application Center Test

Premier cours d informatique

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/ / 15

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Synoptique des icônes Interwrite Workspace

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

XML et recherche d information

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

AWS avancé. Surveiller votre utilisation d EC2

Création WEB avec DreamweaverMX

Transcription:

Aide à la formulation de requête : Un outil d interrogation graphique de requêtes XQuery L interrogation de documents semi-structurés se base sur des langages d interrogation comme XQL, XML-QL ou bien XQuery. Ces langages ont été conçus pour l interrogation et la recherche d information dans tout type de sources de données XML, dans lesquelles une interrogation est représentée comme une expression. Cependant, l interrogation demeure difficile à réaliser pour la majorité des utilisateurs. Une solution d interrogation graphique peut donc alléger la tâche d interrogation. Dans ce document, nous allons détailler notre outil d aide à la formulation graphique de requête XQuery. Nous présentons les différents étapes d interrogation en détaillant l interface utilisée. Cette interface permet d utiliser les expressions de XPath, de représenter les fonctions définies par l utilisateur et d utiliser les opérateurs booléens (or, not, and). Elle combine les avantages du texte et du graphique. La Figure (1) montre les composants de cette interface. Figure (1) : L interface graphique Elle est composée de trois parties : 1 : La zone graphique. Dans cette zone se construit le graphe qui représente la requête XQuery. 2 : La zone textuelle. Cette zone se compose de deux parties : contient le texte de la requête qui est représentée dans la zone graphique,

CU (Conditions Utilisateur) : contient le texte des fonctions (définies par l utilisateur, logique, ) s appliquant sur la requête. 3 : La zone de boutons. Cette zone contient quatre boutons : Le bouton Ajout permet de choisir le document source, Le bouton Résultat déclenche l évaluation de la requête et l affichage du résultat de la requête sous forme graphique, Le bouton Lien désigne le lien entre les éléments source et les éléments résultat pour montrer la correspondance entre les deux, Le bouton CU permet de préciser les fonctions définies par l utilisateur afin de les utiliser dans la CU (Conditions Utilisateur). Dans la barre de menu, nous trouvons le menu Fichier qui contient les commandes : Nouveau : pour choisir le document source, Nouvelle requête : pour définir une nouvelle zone graphique et une nouvelle zone textuelle pour formuler la nouvelle requête. Les symboles Pour la formulation graphique de la requête selon notre interface, nous utilisons les symboles suivants. représente un élément de documents XML. Désigner un rectangle dans la zone graphique, revient à choisir cet élément avec ses sous éléments. Cercle : Nous proposons deux types de cercles: représente le contenu de l élément (#PCDATA). représente un attribut de l élément du document XML. : Nous proposons deux types de liens qui ont la même forme : Le lien (a) : Ce type de lien représente la relation directe entre les éléments. L élément Y est le descendant direct de l élément X. Il relie les éléments de document source ou les éléments du résultat. Le lien (b) : Ce type de lien représente la relation de jointure entre les éléments du document source et les éléments du résultat. représente la relation indirecte entre les éléments. L élément Y est un descendant indirect de l élément X. : Cette fenêtre sert à écrire des expressions logiques, des conditions (if then else) et des fonctions définies par l utilisateur. : Pour écrire les fonctions d agrégations comme avg, sum,

Nous allons dans ce qui suit présenter des exemples d interrogation graphique de requête XQuery en utilisons notre interface. Pour illustrer nos exemples dans les sections suivantes, nous utilisant la collection de documents XML de la plateforme PRETI (http://www.irit.fr/preti/accueil.fr.php) comme document source. Requête simple " Pour chaque Gite, afficher son numéro et le nombre des chambres" : for $a in document( gite.xml )//GITE return <resultat> <GITE> {$a/numero} {$a // NBCHAMBR} < /GITE> </resutat> Pour formuler cette requête sous forme graphique via notre interface nous suivons les étapes suivantes : 1- Nous sélectionnons le document de source (gite.xml), en activant dans la fenêtre principale le bouton Ajout ou l ordre Nouveau de la barre de menu. La figure (2) montre la fenêtre qui permet de choisir le document source : Figure (2) : La fenêtre de choix du document source Après la sélection du document source, la racine du document portant le nom logique du document dans la zone graphique est représentée par un rectangle. Le nom logique du document est composé de mots "fichier" et le nom de document, comme il apparaît dans la figure (3).

Figure (3) : L interface graphique 2- Nous sélectionnons les éléments de la requête, en faisant un click droit sur le rectangle qui porte le nom logique du document source. Un menu apparaît dans la zone graphique : AjouterElement permet de choisir des éléments du document source. Conditionlement permet de préciser les conditions de la requête sur les éléments et les attributs Pour sélectionner les éléments, nous activons l ordre AjouterElement du menu précédent pour faire apparaître la fenêtre suivante : Figure (4) : La fenêtre qui permet le choix des éléments Cette fenêtre contient tous les éléments de document source, nous choisissions les éléments demandés dans la requête puis nous cliquons sur le bouton (Ajouter Element) qui permet de dessiner dans la zone graphique l élément choisi. 3- Pour choisir les éléments du résultat, nous activons le bouton Resultat situé dans la fenêtre principale. La figure (5) montre la fenêtre qui permet de choisir les éléments du résultat

. Figure (5) : La fenêtre d aide au choix des éléments de résultat 3- Pour afficher le lien de jointure entre les éléments de document source et les éléments du résultat, nous activons le bouton Lien situé dans la fenêtre principale. La figure (6) montre la fenêtre qui permet d afficher le lien de jointure Figure (6) : La fenêtre d affichage du lien Cette fenêtre contient les éléments de document source et les éléments de résultat. Nous pouvons préciser les deux éléments qui sont liés. La figure (7) montre la représentation graphique de cette requête : Figure (7) : La présentation graphique de l exemple de la requête simple

Ainsi, la racine du graphe de notre interface qui présente la requête, est composée de deux parties : La première (filtre) porte le nom "fichier + le nom du document de source". Sous cette partie, nous trouvons des éléments et des attributs de document source qui servent la requête. La deuxième (résultat) porte le nom "Résultat". Sous cette partie nous trouvons les résultats de la requête c est-à-dire les éléments qui réalisent les conditions de la requête. Le texte de la requête est généré en XQuery dans la zone textuelle (N) via une écriture progressive qui correspond aux étapes de dessin du graphe de la requête. L exemple de requête présenté ici est un exemple simple car aucune condition sur les éléments ou les attributs n y figure. Requête avec conditions " Quels sont les gites contenant 2chambres et dont le prix de la réservation pendant le mois de juin est inférieures de 1200? " : for $a in document( gite.xml )/ /Gite for $u in $a //NBCHAMBRE for $t in $a//prixp where contains ($u, 2 ) and $t [@PERIODE_ID = juin ] and contains ($t, <1200 ) return <resultat> { $a} </resutat> Nous précisons les conditions des éléments et des attributs dans notre interface, en faisant un click droit sur l élément pour lequel nous voulons affecter des conditions. Une nouvelle fenêtre s affiche qui contient les opérations possibles pour les conditions sur les éléments ou sur les attributs. La figure (8) montre la fenêtre qui permet de définir ces conditions : Figure (8) : La fenêtre d aide pour les conditions sur les éléments Cette fenêtre est composée de trois parties.

La première partie contient le nom d élément, deux listes, une zone de texte et deux boutons. La liste contient les opérateurs que nous pouvons appliquer sur les éléments (ex : and, ). La zone de texte permet de formuler le texte des conditions. La liste contient les opérations booléennes (and, ), s il y a plusieurs conditions sur l élément. Le bouton AjouterCondition deuxième partie, pour écrire le texte des conditions dans la Le bouton ConditionAttribut, pour ajouter des conditions sur les attributs de cet élément. La deuxième partie contient les boutons Valider et Annuler. La troisième partie, est une zone de texte, qui présente le texte des conditions. Pour ajouter des conditions sur les attributs des éléments, nous devons activer le bouton (Condition Attribut) dans la Figure (8). La figure (9) montre la représentation graphique de cette requête : Figure (9) : Représentation graphique de la requête avec conditions Requête avec les conditions utilisateur Soit le document : <!DOCTYPE meta_document SYSTEM "meta_document.dtd"> <Meta nom="meta.xml"> <fichier_video nom="pres_sig" langue="francais" taille="80 Mo" type="avi">

<sequence seq_debut="00:00:00" seq_fin="00:01:33"> <son_cle_video scv="activité.wav"/> <son_cle_video scv="équipe.wav"/> <scene sce_debut="00:00:00" sce_fin="00:05:00"/> </sequence> <sequence seq_debut="00:01:34" seq_fin="00:05:00"> <mot_cle_video mcv="équipe SIG"/> <image_cle_video icv="organisation.gif"/> <image_cle_video icv="preti.gif"/> <scene sce_debut="00:01:34" sce_fin="00:02:50"/> <scene sce_debut="00:02:51" sce_fin="00:05:00"/> </sequence> </fichier_video> < fichier_audio nom="pres_sig" langue="français" taille="300" type="wav"> </ fichier_audio > </Meta> Document (1) : Exemple de structure de description de document multimédia "Restituer les séquences de la vidéo "pres-sig.avi" dans lesquelles on entend la voix de "Anis" " : let $au := (for $s1 in doc (Meta.XML)// fichier_audio where $s1/ @nom = "pres_sig" return $s1) let $ loc:= ( for $g in $au/ segment where $q//locuteur//@ nom_loc= "Anis" return $q) let $vi:= ( for $s2 in doc ( Meta.XML)//fichier_vidéo where $s2 /@nom= "pres_sig" return $s2) for $segd in $loc, $seqd in $vi//sequence let $x:= time ( $seqd/@seq_debut) let $y:= time ( $seqd/@seq_fin) let $a:= time ( $segd/@seq_debut) let $b:= time ( $segd/@seq_fin) let $res as xs: Boolean:=(local: CHEVAUCHE ($a, $b, $x, $y) or PENDANT ($a, $b, $x, $y) ) where $res return <resultat> {$seqd} </resultat> Nous remarquons que cette requête contient deux fonctions définies par l utilisateur CHEVAUCHE et PENDANT permettant respectivement de dire si deux intervalles temporels se chevauchent ou si l un se déroule pendant l autre, avec la prise en compte de l inverse de chacune d elle. Ces deux fonctions reçoivent en entrée 4 variables ($a, $b, $x, $y) représentant respectivement les instants de début et de fin du premier et deuxième intervalle. Elles retournent à la requête un résultat de type booléen indiquant vrai si les conditions de la fonction sont vérifiées et faux dans le cas contraire. Pour présenter ces fonctions dans notre interface, nous activons le bouton CU (Conditions Utilisateur) (1) situé dans la zone de boutons.

Figure (10) : L interface graphique La figure (11) montre la fenêtre qui permet de préciser les fonctions définies par l utilisateur. Figure (11) : La fenêtre d aide à la formulation des conditions définies par l utilisateur Cette fenêtre est composée de cinq parties : : contient les fonctions définies par l utilisateur. : contient les noms des éléments de document. : contient trois boutons. 1. Le bouton Ajouter : permet de choisir les éléments qui forment les variables de la fonction et de les ajouter dans. 2. Le bouton supprimer : permet de supprimer des éléments ajoutés à. 3. Le bouton Ajoutercondition : ajoute le nom de fonction et les noms des éléments sélectionnés dans. : Est une zone de texte contant les noms des éléments où nous appliquons la fonction. : contient les boutons valider, annuler et condattri. Nous pouvons ajouter les conditions définies par l utilisateur sur les attributs en activant ce dernier bouton.

: Est une zone de texte qui contient le texte des conditions. Quand nous activons le bouton condattri pour ajouter des conditions sur les attributs, la figure (12) apparaît. Figure 12 : La fenêtre d aide à la formulation des conditions définies par l utilisateur sur les attributs Nous remarquons que cette fenêtre a les mêmes composants que de la fenêtre précédente (11) pour les attributs. Après avoir précisé les conditions sur les éléments et les attributs, le texte des conditions apparaît dans la zone de texte (CU) (cf. figure (10)). La représentation graphique de cette requête selon notre interface est : Figure (13) : Représentation graphique de la requête avec les conditions utilisateur Pour présenter les variables de fonctions dans le graphe de la requête, nous proposons d ajouter un identifiant à chacun des éléments dans la partie de filtre. Puis dans le texte des fonctions nous précisons les identifiants.