• Aucun résultat trouvé

Modélisation et requêtes des documents semi-structurés : exploitation de la structure de graphe

N/A
N/A
Protected

Academic year: 2021

Partager "Modélisation et requêtes des documents semi-structurés : exploitation de la structure de graphe"

Copied!
149
0
0

Texte intégral

(1)

HAL Id: tel-00619303

https://tel.archives-ouvertes.fr/tel-00619303

Submitted on 6 Sep 2011

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

semi-structurés : exploitation de la structure de graphe

Denis Debarbieux

To cite this version:

Denis Debarbieux. Modélisation et requêtes des documents semi-structurés : exploitation de la

struc-ture de graphe. Génie logiciel [cs.SE]. Université des Sciences et Technologie de Lille - Lille I, 2005.

Français. �tel-00619303�

(2)

Mod´

elisation et requˆ

etes des

documents semi-structur´

es :

exploitation de la structure de graphe

TH`

ESE

pr´esent´ee et soutenue publiquement le vendredi 9 d´ecembre 2005

pour l’obtention du

Doctorat de l’Universit´

e des Sciences et Technologies de Lille

(sp´

ecialit´

e informatique)

par

Denis

Debarbieux

Composition du jury

Pr´

esident :

R´emi Gilleron, Professeur

Grappa, Universit´e de Lille 3

Rapporteurs :

V´eronique Benzaken, Professeur

LRI, Universit´e Paris-Sud 11

Francoise Gire, Professeur

CRI, Universit´e Paris I

Examinateurs :

St´ephane Demri, Charg´e de recherche au CNRS

LSV, ENS Cachan

M´ırian Halfeld Ferrari Alves, Maˆıtre de Conf´erences

LI, Universit´e F. Rabelais Blois-Tours-Chinon

Directeurs :

Sophie Tison, Professeur

LIFL, Universit´e de Lille I

Anne-C´ecile Caron, Maˆıtre de conf´erences

LIFL, Universit´e de Lille I

UNIVERSIT ´

E DES SCIENCES ET TECHNOLOGIES DE LILLE

Laboratoire d’Informatique Fondamentale de Lille — UPRESA 8022

U.F.R. d’I.E.E.A. – Bˆ

at. M3 – 59655 VILLENEUVE D’ASCQ CEDEX

(3)
(4)

Tout d'abord, jetiensàexprimermasin èreetprofondere onnaissan eàma dire -tri ede thèse,SophieTisonetàma o-dire tri e,Anne-Cè ileCaronpour leur soutien ontinu, leurs onseils avisés, leur disponibilité ex eptionnelle et pour m'avoir appris lare her he pendant toutes es années. Mer i de m'avoirlaissé libre d'allerlà oùmes idées m'ont mené et mer i de m'avoir rattrapé avant qu'elles me mènent tout droit dans lemur.

Jeremer ie haleureusementtouslesmembresdujury.VéroniqueBenzakenetF ran- oise Gire pour avoir a epté d'être les rapporteurs de ma thèse, RémiGilleron pour avoirprésiderlejury.Jeremer ie StéphaneDemrietMírianHalfeldFerrariAlveseme fairel'honneur d'assister àma soutenan e.

Je souhaite aussi remer ier les autres her heurs ave qui j'ai travaillé. Mer i en parti ulier à Yves André et à Yves Roos pour m'avoir a ompagné pendant trois ans et pour les é hanges de points de vue sur mon travail. J'ai aussi appré ié de pouvoir parti iper à de nombreux séminaires Mostrare, Tralala, L.I.F.L....Ils m'ont permis d'élargirmes hamps d'investigations.

Mes ollègues de bureau ont largement parti ipé à la bonne humeur quotidienne dans mon travail : Iovka Boneva et Laurent Planque. Je leur souhaiteà tous les deux une belle arrière.

Mer i à Monique pour sa rele ture patiente et impitoyable de ette thèse. C'est ertainement grâ e à ellequ'il n'y a pas une dizainede répétitions par page et autant de oquilles.

N'oublions pas les stagiaires, les ingénieurs, les te hni iens, les se rétaires...pour leur aide et pour m'avoir permis de réaliser e travail de la manière la plus agréable possible.

Je remer ie aussi tous les membres de ma famille qui ont régulièrement pris des nouvelles de l'avan ement de mon travail même si le sujet de ma thèse doit en ore leursemblerobs ur.Pourterminer,tout mesremer iements(etplus)pourClotilde,ses en ouragementset son soutien onstant.

(5)
(6)

Remer iements i

Table des gures v

Liste des tableaux vii

1 Introdu tion 1

2 Les requêtes graphes 9

2.1 Introdu tion . . . 9

2.2 Interroger undo ument XML oloré . . . 16

2.2.1 XML,XPath etXQuery . . . 16

2.2.2 Requêtegraphesurun do ument XML oloré . . . 18

2.3 Deuxexemples derequêtes graphes :leCore XPath etlesrequêtes onjon tives 22 2.3.1 LeCore XPath . . . 22

2.3.2 Requêtes onjon tives . . . 30

2.4 Complexitéetexpressivité desrequêtes graphes . . . 34

2.4.1 Évaluationd'unerequêtegraphe . . . 34

2.4.2 Expressivitédesrequêtes graphes . . . 39

2.5 Con lusion. . . 45

3 Do uments représentés par un graphe : ontraintes d'in lusions 47 3.1 Introdu tion . . . 47

3.2 Requêtesrégulières de hemins . . . 51

3.3 Les ontraintes d'in lusions . . . 53

3.3.1 Leproblème de l'impli ation. . . 53

3.3.2 Modèles de ontraintes . . . 57

3.4 Les ontraintes d'in lusions bornées . . . 59

(7)

3.4.2 Modèlede ontraintes d'in lusions bornées . . . 66

3.4.3 Le problème delabornenie . . . 69

3.5 Les ontraintes d'équivalen esentre mots . . . 76

3.5.1 Un modèleexa t . . . 76

3.5.2 Modèlede ontraintes de mots . . . 79

3.5.3 Le problème del'impli ation. . . 82

3.6 Optimisation derequêtes :Qri . . . 86

3.7 Con lusion. . . 87

4 Requêtes Régulières: indexation de hemins 89 4.1 Introdu tion . . . 89

4.2 Dataguide . . . 93

4.2.1 Algorithme de onstru tion du dataguide . . . 93

4.2.2 Saturation dudataguide . . . 96

4.2.3 Extra tion des ontraintes satisfaites parune donnée . . . 98

4.3 Fusionner desn÷udsindiéren iables par les requêtes . . . .102

4.3.1 Algorithme dePaigeetTarjan . . . .105

4.3.2 IndexPerfe t :fusionnerdesn÷uds FB-bi-similaires . . . .110

4.3.3 1-index :fusionner desn÷udsB-bi-similaires . . . .112

4.4 Ensemblede données . . . .113

4.5 Con lusion. . . .119

5 Con lusion 121

6 Nouveau hapitre de la thèse 123

Bibliographie 129

(8)

1.1 Représentation d'unedonnéesemi-stru turée par un arbreetdesréféren es . . 3

1.2 Représentation d'unedonnéesemi-stru turée par un graphe . . . 4

2.1 Do ument XML oloré représentépar ungraphe . . . 11

2.2 Exemplede requêtegraphe . . . 12

2.3 Exemplede requêtes graphes binaires. . . 13

2.4 Exemplede requêtegraphe surdesdo umentsXML oloré . . . 14

2.5 Plongement d'unerequête graphedansundo ument XML . . . 20

2.6 Plongement partield'une requêtegraphe dansun do ument XML . . . 21

2.7 Arbre orrespondant à larequête/d ::*[ : :aorridref ::*℄/idref ::b . . . 24

2.8 HyperGraphe . . . 32

2.9 Requête onjon tive binaire . . . 33

2.10 Requête onjon tive y lique . . . 33

2.11 3- olorationd'ungraphe ave une requêtegraphe . . . 35

2.12 Algorithmede 3- oloriage . . . 36

2.13 Requêtegraphe onstruite à partir d'unerequêteC

=

Xquery oloré . . . 42

2.14 Requêtegraphetotale . . . 44

3.1 Une représentation de donnéesemi-stru turée. . . 48

3.2 Diérents typesde ontraintes de hemins. . . 49

3.3 Diéren esentre

|=

et

|=

1

. . . 56

3.4 Tout ensemblede ontraintes d'in lusions a unmodèle . . . 57

3.5 Lesdonnées

D

a

et

D

b

. . . 59

3.6 Une partie dumodèle exa t

I

C

. . . 60

3.7

C |= a

+

 (b + c)

mais

C 6|= a  b

et

C 6|= a  c

. . . 62

(9)

3.9 graphe

D

f

C

. . . 77

3.10 Constru tion dugraphe

D

f

C

ave l'algorithmede l'union-nd . . . 81

4.1 Exemple d'unedonnée onstruite à partir de IMDB . . . 91

4.2 Une donnéeetsondataguide . . . 94

4.3 Représentation du dataguide saturé . . . 96

4.4 Partition d'unensemble de n÷uds . . . .106

4.5 Exemple de al ul delaF-bi-simulation . . . .108

4.6 Guide perfe t. . . .111

4.7 Donnée danslaquelleil n'ypasde n÷uds B-bi-similaires . . . .112

4.8 Diéren eentrel'index perfe t etle 1-index . . . .113

4.9 Base de données onstruite à partirdeIMDB . . . .115

4.10 Expérien es ee tuées ave la basedeslms . . . .116

4.11 1-index ouU-index?(lms) . . . .116

4.12 Gain de temps enutilisant 1-index(E) . . . .117

4.13 Ensemblede données dé rivant desbibliothèques . . . .118

(10)

2.1 Des riptiondu Core XPath oloré . . . 24

2.2 Transformation d'unerequêteCore XPath en requêtearbre . . . 26

2.1 3- olorationd'ungraphe.. . . 36

2.2 Des riptiondu Core Xquery oloré ave opérateurs d'égalité . . . 40

2.3 D'unerequête graphevers unerequête C

=

Xquery oloré . . . 41

2.4 D'unerequête C

=

Xquery oloré versune requêtegraphe . . . 43

3.1 Cal uldes lasses de

C

. . . 79

3.2 Cal uldes lasses de

C

(algorithme quasi-linéaire) . . . 80

3.1 Optimisationde requêtes . . . 87

4.1 Algorithmede partition . . . 107

(11)
(12)

Introdu tion

Les données semi-stru turées sont des données dont la stru ture, in onnue a priori, doit être dénie en l'inférant a posteriori à partir de la donnée elle-même (on peut dire qu'une donnéesemi-stru turée s'auto-dé rit). Dansla mesureoù lareprésentation hoisiepeut tenir ompte dutypede traitement qu'on souhaiteappliquerà ladonnée, e ipeutêtrevu omme un avantage. Un exemple de données semi-stru turées sont les do uments XML (eXtensible Markup Language [Brayetal.,1998 ℄), ou plus largement un ensemble de do uments et de lienspermettant de passerde l'un à l'autre. Pour résumer, les données semi-stru turées sont biensouvent omplexes, hétérogènes etde formatsvariés.

De manière générale une donnée semi-stru turée ne doit se onformer à au un s héma. Pourtant, dans le but d'introduire de la sémantique sur les données, de omprendre la stru ture d'un do ument ou dans le but d'aider un algorithme à répondre e a- ement à une requête...des s hémas de données semi-stru turées ont été introduits. Les DTDs (Do ument Type Denition) et XML-s hema [Thompson etal.,2001 ℄ sont les standards retenus pour les do uments XML. D'autres propositions existent omme les grammaires de graphes [Bidoit etal.,2004 ℄, ou les travaux de [Dalzilio andLugiez, 2003 ℄, [Nestorovetal.,1998 ℄.... Bien que les do uments valides vis-à-vis d'un s héma soient sou-misà ertaines ontraintes,ilrestedenombreuxdegrésdelibertépourlesé rire.Par exemple la présen e d'un? dans une DTD permet d'avoir des éléments optionnels alors que l'opé-rateur ANY permet d'avoir des n÷uds de n'importe quel type. Il semble que la tendan e a tuellesoitpluttà l'utilisationd'uns hémaquitteàl'extraireaprèsavoiré ritledo ument ([Goldmanand Widom, 1997 ,Bunemanet al.,1997 ℄)ouàl'apprendreàpartird'unensemble dedo uments qui seressemblent ([Fernau, 2001 , Bry etal.,2001 ,Chidlovskii, 2002℄).

Une donnéesemi-stru turéene doitse onformeràau uns hémaetpourtantilyaenson seindeséléments destru ture (souvent é rits ave desbalises)qu'il fautexploiter etqui sont utiliséspar leslangages derequêtes. Il est don né essaire de disposer de représentations (de modèles)adaptées à esdonnées. Il en existedeux grandesfamilles :

1. Une représentation arbores ente, qui onvient parti ulièrement à la modélisation d'un do umentXML.Cetteidéeestaussivalable pour représentertousleslangagesàbalises tels queHTML, L

A T

E X...

2. Une représentation par un graphe orienté étiqueté multi-ra ines, qui orrespond à une modélisation de pages Web ave des liens hyper-textes entre es pages. De

(13)

ma-nière générale e modèle onvient dès que les n÷uds représentent des objets, simples ou omplexes, omposant la donnée et où les ar s représentent la omposition de es objets, par agrégation ou par asso iation. Cette représentation est elle dé rite dans[Abiteboul etal.,2000 ℄.

Les bases de données semi-stru turées ne s'expriment que très di ilement dansles mo-dèles debasesdedonnéesrelationnellesouobjets[Rysetal.,2005 ℄.Plusieurs raisonspeuvent expliquerqu'undo umentsemi-stru turéestdi ilement exprimabledanslemodèle relation-nel. Par exemple,les appli ationsInternet produisentetmanipulent denombreux do uments semi-stru turés dont la stru ture évolue dynamiquement, e qui est un véritable problème dans lemodèle relationnel. Au niveau logique, un attributpeutêtre absent d'unedonnée ou le même attribut peut avoir deux typesdiérents en deux endroitsdiérents d'unmême do- ument, e quiest in ompatibleave une baserelationnelle. C'estpourquoitousles systèmes a tuels permettant demanipuler XML sto kent lesdonnées defaçon native.

Une base de donnée est dite native XML si elle est spé iquement onçue pour XML. Le modèle utilisé est prévu pour le sto kage et l'a ès à des arbres ordonnés. Le do ument XMLestl'entité entrale delabase( ommeunerelationd'unebasededonnéesrelationnelle). Autrement dit, le do ument XML est une entité logique du système. Deux avantages sont asso iés à une base native XML : les algorithmes de hargement des gros do uments et les algorithmes de miseàjour sont très e a es.

Pour orir les mêmes possibilités que le modèle relationnel plusieurs problèmes sont à résoudredanslesbases dedonnéessemi-stru turées [XMLbase,2004 ℄,[Klarlund etal.,2004℄. Lesréféren es suivantessont à onsidérer ommeuné hantillondesquestionsàseposer.Par exemple, la question de l'intégrité référentielle (notion intiment liée à elle de la normalisa-tion) dansles do uments XML est un sujeten ore non résolu[Arenasand Libkin, 2004 ℄.De même, beau oup de questions intéressantes se posent lorsque l'on souhaite évaluer, à la vo-lée, une requêtesurun do umentXML (problème dustreaming) [Segounand Vianu,2002℄. Citons enn le problème de l'in lusion entre deux requêtes Xpath [Miklauand Su iu, 2002, Neven andS hwenti k, 2002 ℄.

Dans ette thèse, une donnée semi-stru turée est modélisée par un graphe. On exploite ette représentions pour étudierlestrois thèmessuivants:

1. Les requêtes : omment dénir un langage de requêtes qui séle tionne des n÷uds d'un graphe?

2. Les ontraintes d'intégrités : omment exploiterdes ontraintes déniessur les hemins d'ungraphe?

3. L'indexation :Comment onserverlastru ture d'unedonnéelors de sonindexation? La stru ture interne d'un do ument XML est un arbre ordonné d'arité non bornée dont l'ensemble desbalises estnoté

Σ

.Une fon tion

τ

asso ieà toutn÷ud d'unarbreun labelde

Σ

.On ditque lafon tion

τ

type les n÷uds du do ument. Généralement, lara ine de l'arbre a un labelparti ulier :

/

. Cettestru ture est souvent enri hie en yajoutant un ensemble de référen es entredeuxn÷uds.Le do ument peutalors être vu omme ungraphemaisdontla stru ture inhérente est elle d'un arbre. An que ette stru ture reste visible, les ar s arbreset lesar s référen es n'ont paslemême type.

(14)

doc,1

/

auteur,4

auteur,7

co-auteur,6

co-auteur,8

journal,10

article,11

´ecritPar,13

´ecritPar,12

article,16

´ecritPar,18

titre,15

auteur,19

auteur,2

nom,20

nom,5

nom,3

nom,9

titre,14

titre,17

Fig. 1.1 Représentation d'unedonnéesemi-stru turée par un arbreetdesréféren es

par le label é ritPar. Ce do ument XML ontient aussi quatre auteurs ave leur nom et éventuellement un o-auteur. Cette base orrespond à lastru ture d'arbre du do ument. On peutluiajouter,pardesar sdiéren iés(enpointillés),desréféren es.Cesréféren essignient soitque haque arti leesté ritpar unou plusieursauteurs,soitquedeuxauteursd'unmême arti le sont o-auteurs de etarti le.

Stru turer un do ument par un graphe étiqueté orienté multi ra ines revient à le re-présenterpar un triplet

< N, R, T >

. Les étiquettes du graphe appartiennent à un alphabet

A

ni,

N

est un ensemble de n÷uds. Certains de es n÷uds sont parti uliers : e sont les ra inesdudo ument.Onlesregroupedansl'ensemble

R

.Enn

T

estunensemblein lusdans

N × A × N

etreprésente lestransitions de e graphe.

Au lieu d'ajouter desréféren es dansledo ument de lagure1.1, on peut aussile repré-senterpar ungraphe(gure1.2).Dupointdevuedelastru ture,touslesn÷udsde egraphe ont un identiant unique,l'unique ra ine est len÷ud0 (il pourrait yavoir plusieurs ra ines) etil est y lique (grâ e aux ar s o-auteur). En déplaçant les labels des n÷uds vers les ar s entrantson peuttransformer toutarbreen graphe; laré iproqueest fausse:un graphepeut avoirplusieursra ines.Legrapheestdon plusgénéral quel'arbremaisilestmoinsinformatif (parexemple l'information surl'ordre deslsest perdue).

Interrogerundo ument semi-stru turé onsiste àséle tionner desensembles den÷uds de e do ument ( ertainslangagespermettent de séle tionner desn-uplets den÷uds). Pour ela onnavigue dansledo ument en utilisantles ar setonrestreint lesn÷uds visitésgrâ eà des prédi ats. En imposant des restri tions sur les alphabets utilisés, on va pouvoir dénir des langagestelsqueXpath[Berglund etal.,2002a ℄,Xquery[Berglund etal.,2002b ℄,lesrequêtes régulières de hemins [Abiteboul andVianu, 1997℄...Dans tous les as, si

q

est une requête,

D

est un do ument et

C

un ensemble den÷uds du do ument,

D(C, q)

représentel'ensemble desn÷udsde

D

séle tionnéspar

q

dansle ontexte

C

.Onpeutainsi ombinerdeuxrequêtes: ombinerlesrequêtes

p

et

q

onsisteàévaluer

p

,puisàévaluer

q

àpartir du ontexte

D(C, p)

. Onévaluealors

D(D(C, p), q)

.

(15)

Xpath est proposé par le W3C omme le langage pour séle tionner des n÷uds dans un do umentXML.DeuxraisonsfontqueXpathestdevenuunlangageimportant.Premièrement il est adopté par de nombreuses te hnologies utilisées de la ommunauté XML. Onpeutpar exemple iterXSLT,XpointerouXquery.Deuxièmementl'utilisationde este hnologiesdans lemonde de l'entreprise etdansles systèmes debases de donnéesne essed'augmenter.

0

2

auteur

3

auteur

4

journal

6

7

article

article

12

titre

´

ecritPar

´

ecritPar

5

auteur

´

ecritPar

1

auteur

14

nom

9

8

nom

nom

10

nom

11

13

titre

titre

co-auteur

co-auteur

Fig.1.2 Représentation d'unedonnée semi-stru turée par ungraphe

Pour répondre àune requêtetype Xpathou Xquery,ledo ument estvu ommeun arbre dans lequel on ajoute desréféren es. La sous-stru ture d'arbre étant onnue il est très fa ile de naviguer dans le do ument. Onze axes sont dénis à et eet tels que hild, an estor, des endent-or-self...De plus, on enri hitXpath dedeux axes permettant denaviguer en sui-vantlesréféren es :idref permetdesuivreun lienréféren ealorsquereverse idref permetde leremonter.

Par exemple, on peut séle tionner, dans un do ument XML, les auteurs d'un arti le qui ont un nom(les n÷uds 4, 7 et 19 dans la gure 1.1) à l'aide de la requête Xpath suivante: /des endent-or-self::é ritPar/idref::auteur[ h ild::nom ℄. Lapartie entre ro hets orrespond àunprédi at. Ceprédi atséle tionnelesn÷udsquiontunlsétiquetépar lelabelnom. Elle s'exprimedansle ontextedéniparletron delarequête.Letron delarequête (/des endent-or-self::é ritPar/idref::auteur) estunerequêteabsolue quiséle tionnelesn÷uds d'un do u-mentXML :on séle tionnelesdes endantsde lara ineétiquetés paré ritParpuisles n÷uds de type auteura essibles par une référen e.

Le deuxième type de requêtes étudié dans ette thèse sont les requêtes régulières qui s'utilisent sur lemodèle degraphe. Contrairement auxrequêtes Xpath, une requêterégulière s'exprime ex lusivement ave les labels desar s.On formedes mots ave les labels de

A

.On asso ieà haquemotles heminsétiquetéspar e motdansledo ument.Le résultatestalors l'ensemblede n÷uds a essiblespar es heminsdepuis un n÷uddu ontexte

C

.Si

q

estune expression régulière et

D

un do ument alors

D(C, q)

est l'union des

D(C, u)

pour tous les mots

u

de

L(q)

,le langagerégulier dé ritpar

q

.

La requêterégulière réduiteau motjournal.titre séle tionne, depuis lara ine,len÷ud12 dans ledo ument de lagure 1.2. La requêterégulière auteur. o-auteur

.nom séle tionne les n÷uds 8,9,10 et14.

(16)

On a montré la spé i ité desdo uments semi-stru turés et lapla e roissante qu'ils o - upentdanslesbasesdedonnées. Unpoint lépourque etteextension ontinueestlaqualité desalgorithmes quirépondent auxrequêtes. Trois fa teurspeuvent inuersur ette qualité :

1. Évaluationd'unerequête surundo ument:étant donnésunerequête

q

,undo ument

D

et un ontexte

C

, omment évaluer

D(C, q)

de manière e a e? G .Gottlob, C. Ko h et R .Pi ler ont proposé dans [Gottlobetal.,2002 ℄ un fragment de Xpath ( ontenant toutes les possibilités de navigation Xpath) pour lequel l'évaluation est linéaire dans la taille ombinée de

D

et

q

(i.e. leur algorithme est

O(|D|.|q|)

). De même on peut répondre à une requête régulière en utilisant un algorithme type produit artésien et avoirune omplexitéen

O(|D|.|q|

2

)

[Abitebouletal.,2000 ℄.Leproblèmeestsouvent de trouverunlangagederequêteleplusexpressifpossibledontonsaitévaluere a ement lesrequêtes.

2. Optimisation

|

transformation des requêtes : Peut-on réé rire la requête en une requête plusprotable (i.e. dont onpeuttirer protpourune évaluationrapide)?

Par exemple, on peut simplier une requête

q

en re her hant des sous-requêtes de

q

qui séle tionnent le même ensemble de n÷uds (i.e. enlever les redondan es d'une re-quête).S.Amer-Yahiaetalintroduisentdans[Amer-Yahiaetal.,2001 ℄desalgorithmes qui minimalisent des requêtes onnaissant des éléments de s hémas (par exemple, un n÷ud de type A a toujours un des endant de type B). On peut aussi utiliser des systèmes de lefs primaires

|

lefs étrangères omme le proposent P. Buneman et al dans [Bunemanet al.,2000a ℄ pour les do uments XML sans référen e ou W. Fan et J.Siméon maisen utilisant desréféren es[Fan andSimeon, 2000 ℄.

Une autre piste est d'utiliser un ensemble de ontraintes satisfaites par le do ument pour trouver(tester si) desrequêtes (sont) équivalentes. Pour elaon étudie souvent le problèmed'in lusion ( ontainment) :on ditqu'un do ument

D

satisfaitune ontrainte (dans un ontexte

C

xe) 

p

est in lus dans

q

 si lerésultat

D(C, p)

est in lus dansle résultat

D(C, q)

.Leproblèmeétudiéest:étantdonnéunensemblede ontraintes

C

,tout do umentsatisfaisant

C

satisfait-ilaussila ontrainte

p

estin lusdans

q

?Ceproblème estpar exemple étudié par S.AbitebouletV.Vianudans [Abitebouland Vianu,1997 ℄ maisaussidans[S hwenti k, 2004 ℄ou dans[Miklau andSu iu, 2002℄.

Une dernière voie est l'utilisation de vues. Les n÷uds séle tionnés par une vue étant pré- al ulés, il sut d'interroger le do ument uniquement par rapport aux fragments de la requête qui ne sont pas exprimables ave des vues. Les auteurs de [Grahneand Thomo,2001 ℄ et de [Grahneand Thomo,2003 ℄ proposent de tels al-gorithmes.

3. Indexation:

Peut-on transformerle do ument an derendre les algorithmes dé rits danslepremier item plus e a es? Ces transformations reviennent en fait à indexer le do ument. Le do ument étant modélisé par un graphe, les algorithmes d'indexation doivent utiliser deste hniques d'indexation de graphes.Deux grandes familles d'indexexistent dans la littérature.

La première te hnique onsiste à regrouper des n÷uds du do ument qui sont indié-ren iables par les requêtes. Deux n÷uds

n

1

et

n

2

sont indiéren iables si quelque soit la requête

q

,

n

1

est sele tionné par

q

si et seulement si

n

2

l'est aussi. Un avantage de

(17)

auteurs de [Miloand Su iu, 1999 ℄,de [Amer-Yahiaet al.,2001℄ou de [Ramanan, 2003℄ proposent desalgorithmes basés sur ette idée.

La se onde te hnique modie la forme du do ument pour développer des algorithmes d'évaluation 'ad ho '. La base de es index est d'ajouter du déterminisme dans les graphes [Goldman andWidom, 1997 ℄, [Abiteboul etal., 2003 ℄ ou [Bertino etal.,2004℄. Ce déterminisme peut aussi servir à dénir un s héma, un guide (par exemple le dataguide) dudo ument.En e sensl'indexation estaussiune re her he de s héma.

L'étude des requêtes sur les do uments semi-stru turés est don très importante et 'est un domaine danslequel lare her he fondamentale maisaussipratique esttrès a tive. Repre-nonsles troispointspré édentspour présenter l'organisationet lesprin ipaux résultatsde e mémoire.

Chapitre2 :les requêtesgraphes

Dans le hapitre 2 nous expliquons omment utiliser les do umentsXML pour modéliser une donnée qui a une stru ture de graphe. On présente le modèle lassique (arbre ordonné, ensemble de référen es) mais aussi le XML oloré [Jagadish et al.,2004 ℄. Le prin ipe est de prendre en ompte plusieurs do umentsXML quisepartagent desn÷uds.Chaquedo ument peutainsiavoir une sémantiquepropre etêtre en ore plusinformatif queleXML lassique.

On dénit alors les requêtes graphes qui exploitent simultanément la stru ture d'arbre sous-ja enteà haque do ument, les référen es entre deux n÷uds etles diérents do uments présents.Cesrequêtespermettentdenaviguerdans haquearbreXMLave lesaxes lassiques ( hild, an estor...) mais aussi de hanger d'arbre grâ e aux n÷uds ommuns à plusieurs do uments XML.On montreensuite quel'évaluation detelles requêtes est un problème NP- omplet.

Onétudieennl'expressivitéde elangagederequêtes.LeXML oloréétantuneextension de XML, on repla e nos résultats dans deux ontextes onnus. On montre par exemple que toute requête du Core Xpath [Gottlobetal.,2002 ℄ (fragment de Xpathqui ontient tous les axesdenavigationdansundo umentXML)peuts'é rireave unerequêtegraphe.Onmontre demêmequelesrequêtes onjon tivespourXML[Gottlobetal.,2004℄sontun asparti ulier des requêtes graphes. On propose enn le Core Xquery oloré ave égalité, un langage basé surXquery,quipermetde testerl'égalitéentredeuxn÷uds dudo ument.Onmontre queles requêtes graphes ont exa tement lamême expressivité que e langage.

Chapitre3 :do umentsreprésentéspar un graphe: ontraintes d'in lusions

Dans e hapitre, les do uments sont vus omme desgraphes à plusieurs ra ines dont les ar s sont étiquetés. Lesrequêtes utiliséessont don les requêtes régulières.

Dans le but d'évaluer ou d'optimiser des requêtes, on utilise des informations liées à la stru turedugraphe.Certainesde es ontraintesportentsurles heminsetontétéintroduites dans [Abitebouland Vianu,1997℄. On étudie plus parti ulièrement les ontraintes d'in lu-sion maisd'autres lasses ont déjà étéétudiées ([Buneman etal.,1999 , Ale hina etal.,2003, Grahne and Thomo,2003 ℄).

Ondénit don lanotionde ontrainte d'in lusion:soient

p

et

q

deuxrequêtesrégulières, undo umentestmodèledela ontrainted'in lusion

p  q

sitoutn÷udsolutionde

p

estaussi solution de

q

.Si

p

estin lus dans

q

etvi e-versa ondit que

p

et

q

sont équivalentes.

(18)

Soit

C

un ensemble de ontraintes, on dit que

C

implique une ontrainte

p  q

si tout do ument modèle de

C

est aussi un modèle de

p  q

. Le problème de l'impli ation dé ide à partir d'un ensemble de ontraintes d'in lusions

C

et deux requêtes

p

et

q

si

C

implique la ontrainte

p  q

.

La gure 1.2 satisfait la ontrainte de l'ensemble

C =

{ auteur. o-auteur



auteur}. Tout do ument vériant ette ontraintevérie aussila ontrainteauteur. o-auteur

2



auteur. On étendmême leraisonnement pour obtenir que

C

impliqueque auteur. o-auteur



auteur. Grâ eàdeste hniquesinspiréesdelathéoriedesautomates,delathéoriedestransdu teurs etdelathéoriedelaréé riturepréxeonpeutmanipulerles ontraintesd'in lusionsetprouver lesrésultats suivants.

On montre que tout ensemble

C

de ontraintes a un modèle exa t : il existe un do- ument

D

C

tel que

D

C

soit un modèle de

p  q

si et seulement si

C

implique que

p  q

[Debarbieuxetal., 2003℄ et [Debarbieux etal.,2004 ℄. Dans es mêmes arti les on af-ne le problème à l'étude des modèles exa ts nis. De plus, on y montre que le problème de l'impli ation est PSPACE- omplet dans le as des ontraintes bornées maisqu'il devient quasi-linéaire dansle astrès parti ulierdes équivalen esentremots [Andre etal.,2004 ℄.On utilise erésultatpour her heràpartir d'unerequête

q

unerequête

q

f

telleque

q

et

q

f

soient équivalentes et

L(q

f

)

soit ni. C'est leproblèmedit del'équivalen e nie.

Chapitre 4 :requêtes régulières :indexation de hemins

Outredes ontraintesd'intégrité, unlogi ielquigèrebeau oupdedonnéesdoitutiliserdes indexpourrépondredemanièree a eàunerequête.Parexemple,danslemodèlerelationnel, destables de ha hage ou desB-arbres sont utiliséspour sto ker lesvaleurs desattributs. De même,lore[Lore,1997 ℄oueXist[eXist,2000 ℄sontdesbasesdedo umentssemi-stru turésqui utilisent des index. La forme de es index dépend bien évidemment des requêtes onsidérées par eslogi iels.

On s'est don onsa ré à l'indexation des do uments graphes. Un index est lui-même un grapheorienté étiquetéàplusieursra ines. Grâ eauxpropriétéssursaforme,sataille,et .,il estpluse a ed'interrogerl'indexqueledo umentd'origine.Denombreuxindexontdéjàété étudiésetnousnoussommes intéressésauxliensquiexistententreles ontraintesd'in lusions satisfaitesparunindexet ellessatisfaitesparledo ument.Unindexpermetdéjàderépondre à une requête sans onsulter le do ument. Onsouhaite don savoir s'il est possible d'utiliser lastru turede l'index(ses ontraintesd'in lusion) pouroptimiser unerequêtesans seréférer aux ontraintes satisfaites par ledo ument.

On extrait à partir du dataguide [Goldman and Widom, 1997 ℄ les ontraintes satisfaites parundo ument [Andreetal., 2004℄.Cetalgorithmenoussertaussiàtrouverles ontraintes ommunes à plusieurs données. On utilise enn et algorithme pour montrer qu'un do- ument et son 1-index [Miloand Su iu,1999 ℄ satisfont exa tement le même ensemble de ontraintes[Andre etal., 2005 ℄.

An d'étudier de possibles optimisations de requêtes ave des ontraintes d'égalité, nous utilisons un outil développé pendant ette thèse : Qri (Query Rewriting with in lu-sion onstraints[Debarbieux andLu hier,2004 ℄). Cetoutil permet d'interrogerun do ument graphe ave une requête régulière, d'extraire les ontraintes d'égalité de mots d'un do u-ment,deréé rireunerequêterégulière parrapportàunensemblede ontraintes, d'indexerun

(19)

do ument

. . .

On s'intéresse plus parti ulièrement à la problématique suivante : étant donné un ensemble de do uments qui se ressemblent, quel est le meilleur moyen de les interroger? Construire un index ommun à tous les do uments? Les indexer séparément? Réé rire les requêtes par rapportà des ontraintes d'in lusions ommunes?

(20)

Les requêtes graphes

2.1 Introdu tion

Ce hapitre présente unemodélisationde donnéessemi-stru turées par desgraphes et un langage de requêtes asso ié. Pour ela, on utilise le formalisme asso ié à XML, eXtensible Markup Language, un langage de des ription de do uments semi-stru turés. Un do ument XML s'é rit textuellement ave des balises. Mais sa stru ture interne est un arbre ordonné d'ariténon bornée.Deux dérivations de emodèlepermettent de former ungraphe :

1. Onpeutenri hir l'arbreXML deréféren es etobtenir un graphe.

2. On peut utiliser, non pas un do ument XML, mais un ensemble d'arbres XML qui partagent des n÷uds, omme 'estle aspour leXML oloré [Jagadishetal., 2004 ℄. Il estbiensûr possible de ombiner es deuxsolutions etde onsidérer unensemblede do u-mentsXML ave référen esqui ont desn÷udsen ommun.

Supposons quequelqu'un désireé rire undo ument on ernant un journal.Ce do ument doit ontenirlesinformationssuivantes:letitredujournal,l'ensembledesarti lespubliésdans lejournaletunensembled'auteurs.Onsouhaitedeplus, sto kerl'information quipré iseque deuxauteurs d'un même arti le sont o-auteurs l'unde l'autre.

Utiliser un arbre XML pour modéliser un tel do ument est possible et ledo ument n'est pas très di ile à onstruire. Il y a néanmoins un problème : la redondan e d'information. En eet, un arti le pouvant avoir plusieurs auteurs et un auteur pouvant publier plusieurs arti les,quelle quesoitl'organisationde l'arbreil ya uneredondan e soit surlesarti lessoit surles auteurs.

Une solution pour pallier e problème est d'ajouter des référen es entre des n÷uds de l'arbre. Le do ument peut alors être vu omme un graphe dans lequel les ar s arbres et référen es n'ont pas la même nature. Dans ette représentation, la stru ture d'arbre reste visibledanslegraphe.

Par exemple,ledo ument XML suivant (seuleune partie desbalises sont présentes) peut sereprésenter par legraphede lagure1.1(page 3).

<do id=1> <auteur id=2>

(21)

<nom id=3/> </auteur> <auteur id=4>

<nom id=5/>

< o-auteur id=6 href=7/> </auteur>

<auteur id=7>

< o-auteur id=8 href=4/> <nom id=9/>

</auteur>

<journal id=10> <arti le id=11>

<e ritPar id=12 href=4/> <e ritPar id=13 href=7/> <titre id=14/> </arti le> ... </journal> ... </do >

Lastru turede edo ument estbaséesurunarbrequi ontient unjournaletdesauteurs. Les auteurs ont éventuellement un o-auteur et le journal a un titre et desarti les. Chaque arti le a un ls de type titre et des (un) ls de type é ritPar. Il y a de plus des référen es entre desn÷uds é ritParet desn÷uds auteur (qui signient que haque arti le est é ritpar unouplusieurs auteurs)etdesréféren esentredesn÷uds o-auteuret desn÷udsauteur(qui signient quedeuxauteurs d'unmême arti le sont o-auteurs de etarti le).

Les référen es dans un do ument XML sont représentées grâ e à deux attributs : id et href.Lesattributs d'unn÷ud sontgénéralement représentés omme deslsnon ordonnés du n÷ud. Mais, dans e hapitre, nous en avons une représentation diérente. Tous les n÷uds ont un attribut id qui est leur unique identiant (dans la gure 1.1 haque n÷ud ontient sonidentiant etlenomdelabaliseXML auquel il orrespond).On onsidère qu'une égalité de valeur entre un attribut href d'un n÷ud

n

1

et un attribut id d'un n÷ud

n

2

permet de onstruire unar de typeréféren e entreles n÷uds

n

1

et

n

2

(si l'attributhref d'unn÷udne orrespond àau un attribut id,alors et attribut n'est pas représentédans legraphe). Dans la gure 1.1, il y a un ar référen e (en pointillé) du n÷ud 12 vers le n÷ud 4 ar l'attribut hrefdu n÷ud12 alavaleur 4.

(22)

di ulté peut être ontournée en onstruisant un do ument plat (i.e. de profondeur un ou deux) etenutilisant uniquement lemé anisme id

|

hrefpour é hanger del'information entre leséléments.Cetypededo umentn'estpaslameilleuresolution:onperd,eneet,lastru ture arbores entequiestl'essen ed'undo umentXML.Deplus,dansuneimplémentation lassique du standard XML, les référen es sont des jointures entre un n÷ud id et un n÷udhref. Leur oûtestbeau oupplus important que le oûtd'uneliaison père

|

lsdansun arbre.

Unetroisièmeréponse, ellequiest onsidéréedans e hapitre,estd'utiliserlesdo uments XML oloré [Jagadish etal.,2004℄. Un do ument XML oloré sereprésente par unensemble d'arbres XML. Chaque arbre a une ouleur diérente (i.e. une sémantique propre) et, an d'éviter laredondan e, deux arbres diérents peuvent se partager un même n÷ud ( e n÷ud est alors multi olore). Si on ontinue l'exemple pré édent, notre donnée peut se représenter par un do ument à trois ouleurs : le bleu pour les auteurs, le vert pour les arti les et le rouge pour les journaux (gure 2.1). Pour la se onde fois, une stru ture de graphe apparaît dans le modèle XML. La gure 2.1 met aussi en éviden e les référen es présentes dans un do ument XML oloré (les référen es ne sont autorisées qu'à l'interieur d'un même arbre). C'estun enri hissement dumodèle proposépar Jagadishetal.

/

bleu

Auteur

Auteur

Auteur

Auteur

/

rouge

journaux

. . .

/

vert

article

article

VLDB

TCS

bleu (auteur)

bleu (r´ef´erences)

vert (articles)

rouge (journaux)

co-auteur

co-auteur

Fig. 2.1 Do ument XML oloré représentépar un graphe

Un n÷ud pouvant être a essible par un ar arbre ou par un ar référen e, un n÷ud pouvant appartenir à plusieurs arbres...on souhaite développer un langage de requêtes qui permette d'exprimer l'égalité entre deux n÷uds. L'un des buts de e hapitre est don de dénir les requêtes graphes qui permettent d'interroger un do ument XML oloré modélisé parungraphe.Siundo umentXML oloréne ontientqu'une ouleuralors 'estundo ument XMLave desréféren es.Unautreobje tif de e hapitre estdon de omparerl'expressivité denotre langage derequête ave XPath etXQuery,les langagesasso iés àXML.

Parexemple,onpeutséle tionnerdansundo umentXML(gure1.1),letitredesarti les desjournaux parla requêteXPath suivante:

(23)

/des endent-or-self::journal/ hild::arti le/ hild::titre

Cetterequêtepermetdenaviguerdansl'arbresuivant lesaxes des endent-or-selfet hild. journal, arti le ou titre sont des tests surles n÷uds du do ument etpermettent (respe tive-ment) de séle tionner les n÷uds du do ument qui ont le type (la balise) journal, arti le ou titre.

/,and,0

auteur,and,1

$

co-auteur,and,2

descendant

child

idref

Fig.2.2 Exemple derequête graphe

UnerequêteXPath permetaussid'utiliseruneréféren eparuneégalitédevaleurentreun attributidetunattributhref.LarequêteXPathsuivantepermet,parexemple,deséle tionner lenom desauteurs quiont é ritunarti le dansun journal:

/des endent-or-self::nom[parent::auteur/id= /des endent-or-self::é ritPar/href℄

La partie entre ro hets est un prédi at qui est vrai pour les n÷uds dont le père est de type auteur et qui sont a essibles par une référen e depuis un n÷ud typé par é ritPar. Les prédi ats se ombinent entre-eux grâ e auxopérateurs booléens andetor.

Bien que les référen es soient des ar s du graphe modélisant le do ument XML, XPath n'a pasd'axe prédéni permettant de les utiliser. Il est néanmoins possible de suivre unlien de typeréféren een al ulant unejointureentreunattributdetypeid etunattributde type href.Onenri hitdon e langage de deuxaxes [Ramanan,2003 ℄ :

 idref qui permetde suivre unlien detype référen e.

 ridref (pour reverse idref) quipermetderemonterun lien référen e.

XPath permetdetesterl'égalité entre deuxn÷udsgrâ eà l'opérateur is. Par exemple,la requête XPath suivanteséle tionneles auteurs quisont o-auteurs d'eux-mêmes.

/des endent::auteur[self::* is hild:: o-auteur/idref::auteur℄

CetterequêteXPathestexprimableparlarequêtegraphedelagure2.2.Lesar sde ette requête sont étiquetés par un axe de navigation dansle do ument, les n÷uds sont étiquetés paruntriplet(prédi atunaire,opérateurbooléen hoisidansl'ensemble{and,or},identiant). Enn, le n÷ud1est parti ulierpuisqu'il est désigné parle symbole$.

Répondreà ette requêtegraphe onsiste à onstruire toutes les fon tions

β

possiblesdes n÷uds de larequêtevers desn÷udsdu do ument tels que:

(24)



β(1)

portelelabelauteuretondoitatteindredepuis

β(1)

,len÷ud

β(2)

ensuivantl'axe hild,



β(2)

estétiqueté par o-auteur.Deplus, il existe unaxe référen e de

β(2)

vers

β(1)

. Unn÷ud

n

d'undo umentestséle tionnépar etterequêtegraphes'ilexisteunefon tion

β

dé rite i-dessustellequel'anté édentde

n

par

β

soitlen÷udmarquépar lesymbole

$

(i i, telque

β(1) = n

).

$

1

$

2

$

1

$

2

(a)

/

article

´ecritPar

auteur

descendent

child

idref

(b)

/

auteur

co-auteur

auteur

descendent

descendent

child

idref

Fig. 2.3 Exemplede requêtes graphes binaires

En plusduandetduor,un troisièmeopérateur booléenestutile:lenot. Par manque de temps,nousne l'avonspasintégré dansnotreformalisme.

XQuery est un langage de transformation d'arbres XML (i.e. séle tion de n÷uds et re- onstru tion d'arbres). Dans ette thèse, nous ne onsidérons que la partie du langage qui séle tionnedesn÷uds.Elle estbasée surXPath pour dénir desrequêtes

n

-aires. Larequête XQuerysuivante séle tionne, dans ledo ument 1.1, tous les ouples

(article, auteur)

du do- ument :

for $arti le in /des endent::arti le

for $auteur in $arti le/ hild::é ritPar/idref::auteur return ($arti le, $auteur)

La gure 2.3

(a)

(dans un sou i de lisibilité, les opérateurs and ne sont pas représentés) montre que ette requête peut sereprésenter par une requête graphedans lequel il ya deux séle tionneurs(

$

1

et

$

2

).Cetterequêteestenfaitunerequête'arbre'.Cettemêmegure(partie

(b)

)montrequel'onpeuté riredesrequêtes

n

-airesquisereprésententpardesgraphes. Celle- ipermetdeséle tionnerles ouplesd'auteurs

1

quionté rit unarti leen ommun equipeut setraduireave larequêteXQuerysuivante :

for $auteur1 in /des endent::auteur for $auteur2 in /des endent::auteur

where $auteur1/ hild:: o-auteur/idref::* is $auteur2 1

(25)

return ($auteur1,$auteur2)

Onproposed'étendre, surleprin ipeproposépar lesauteursde [Jagadishetal.,2004 ℄,la syntaxe de XPath et deXQuery pour naviguerdansun do ument XML oloré :l'idée estde préxer l'axe de navigation utilisé par la ouleur de l'arbre onsidéré. Par exemple, trouver les auteurs d'unarti le publiéà TCS ( f.gure 2.1)peutsefaireave larequête suivante: /{rouge}des endent::TCS/{rouge} hild::arti le/{vert} hild::auteur

Cette requête her he parmi les journaux (arbre rouge), le n÷ud de type TCS. A partir de e n÷ud,larequête lo alisetous lesarti lesde TCS.Les n÷udsarti les étant ommuns à l'arbre rouge et l'arbre vert (des ription desarti les), lasous requête {vert} hild::auteur permetde trouverles auteurs d'unarti le àTCS.

Ondénit de la même manière des requêtes graphes sur desdo uments XML oloré :la gure 2.4proposeune requêtequi séle tionnelesauteurs qui ont une publi ation à VLDBet une publi ation à TCS.Elle setraduiten XPath oloré par :

/{rouge}des endent::VLDB/{rouge} hild::*/{vert} hild::auteur [self::* is /{rouge}des endent::TCS/{rouge} hild::*/{vert} hild::auteur℄

/

rouge

,and,1

VLDB,2

*,3

auteur,4

TCS,5

*,6

$

{rouge}descendent

{rouge}child

{vert}child

{rouge}descendent

{rouge}child

{vert}child

Fig. 2.4 Exemplede requêtegraphe surdesdo uments XML oloré

Lesrequêtes graphes permettent aussid'exprimer desrequêtes disjon tives. Par exemple, si on rempla e l'opérateur booléen and du noeud 1 (gure 2.4) par un or, alors la requête séle tionne les auteurs qui ont une publi ation à VLBD ou à TCS. Dans e asune fon tion (partielle)

β

estun plongement de

q

versun do ument

D

si elle estdéniesoit surle hemin (1,2,3,4)soit sur le hemin (1,5,6,4).

Remarquons que les requêtes graphes entrent dans la atégorie des Pattern Query. On peut même dire que e sont des graph pattern queries. Dans e sens on étend les tra-vaux de [Amer-Yahiaetal.,2001 ℄, de [Gottlobetal.,2004 ℄ ou de [Gottlobet al.,1998 ℄ (ou [Gottlob etal., 2001 ℄pourla versionjournal).

(26)

Un obje tifde e hapitre estdedénirleCore XQuery oloré ave deségalités den÷uds (C

=

XQuery oloré) et de le modéliser par des requêtes graphes. Un mé anisme de variables (inspiré de XQuery) dénit les n÷uds d'une requête. Les ar s du graphe sont onstruits à partird'égalité entreles variables.

Pour terminer etteintrodu tion,résumons lesapports de e hapitre :

1. Nousdénissons les requêtes graphes qui permettent d'interroger desdo uments XML oloré.Notreappro heétendlesrequêtes onjon tivesdéniesdans[Gottlobetal.,2004 ℄ sur deux points : on ne restreint pas les opérateurs aux andmais on prenden ompte leor. Deplus, on modélise undo ument par un grapheetnon par un arbre. Signalons aussi que les requêtes graphes généralisent les travaux de [Ramanan,2003 ℄ sur l'étude deCore XPath.

2. Apartirdelanotiondedo umentXML oloré[Jagadish etal.,2004 ℄,nousproposonsle CoreXQuery oloré ave deségalités(C

=

XQuery oloré).Celangage,inspiré deXPath etde XQuery,permetde fairedesrequêtes

n

-airesennaviguantdansledo umentet en exprimant deségalitésentrelesn÷udsd'undo ument.Il alamêmeexpressivitéqueles requêtes graphes.

3. Onmontrequel'évaluationd'unerequêtegraphesurundo umentXML oloré est NP- omplète.Onen déduitque leC

=

XQuerya lamême omplexité.

Signalons enn que les points 2 et 3 re oupent des résultats publiés en Juin 2005 [Ko h,2005a , Ko h,2005b ℄. Dans ses travaux, C. Ko h dénit le Core XQuery (pour des do uments XML mono hrome et sans référen e) et étudie la omplexité de e langage. Bienque e hapitre aitétéé ritindépendamment,lasyntaxe,l'expressivitéetleste hniques utilisées pour étudierXQ

(le Core XQuery sans omposition) dans[Ko h,2005b ℄ sont sem-blablesauxntres.

Organisation de e hapitre

La se tion 2.2 présente les requêtes graphes pour les do uments XML oloré. Dans un premier temps, on rappelle les notions de XML,XPath etXQueryutiles pour notre langage de requêtes. Dans un se ond temps, la syntaxe et la sémantique des requêtes graphes sont données.

La se tion2.3sefo alisesurdeuxexemplesderequêtes (graphes)existant dansla littéra-ture.LeCoreXPathestlefragmentdeXPathqui ontienttouteslespossibilitésdenavigation. Onexplique omment une requête duCore XPath peutsereprésenterpar une requêtearbre ( as parti ulier desgraphes). On donne enn un algorithme très e a e qui évalueune telle requêtesurundo ument XML.Ledeuxièmeexemple estlesrequêtes onjon tivespourXML dont l'évaluation estNP- omplète.

La se tion 2.4 étudie formellement les requêtes graphes. On y étudie le problème de l'évaluation d'une requête graphe : on prouve que le problème de dé ider si un n-uplet de n÷uds est séle tionné par une requête graphe est NP- omplet. On utilise les résultats de [Gottlobetal.,2004 ℄ pour étudier pré isément la omplexité des requêtes graphes. Du point devuedel'expressivité,onfaitlelienentrelesrequêtes graphesetXQuery:onpropose leCoreXQuery oloré ave deségalités. Celangagepermetd'exprimer deségalités den÷uds

(27)

à l'aide d'un mé anisme de variables. Il a exa tement lamême expressivité que les requêtes graphes.

2.2 Interroger un do ument XML oloré

Le but de ette se tion est de présenter les requêtes graphes pour les do uments XML oloré. Dans un premier temps, on expose les grandes idées liées aux do uments XML non oloré.Onintroduitnotamment lesdeuxprin ipaux langagesderequêtes pour XMLquesont XPath etXQuery.Dansunse ondtemps ondénitlesdo umentsXML oloré etlesrequêtes graphes.

2.2.1 XML, XPath et XQuery

La parti ularité d'un do ument XML estde ontenir en même temps des données etdes informations permettant d'identierlastru tureetlesensde esdonnées. Ilestalors utilede pouvoir s'appuyersur ette information pourdésigner unepartie d'un do ument XML.

La stru ture d'un do ument XML est elle d'unarbre ordonné d'arité non bornée. Side plus, on modélise une jointure entre un attribut href et un attribut id par une référen e on obtient ladénitionsuivante:

Dénition 2.1 Undo ument XML

D

estreprésenté par un ouple

(A, ref )

dans lequel

A

est unarbreordonné d'ariténonbornée et

ref

est unensemble deréféren es (orientées)entredes n÷uds de l'arbre.

Dans la suite de e hapitre, si

D

est un do ument XML alors

/

D

désigne sa ra ine, N÷uds(

D

) estl'ensemblede ses n÷uds.Ar s(

D

) estl'ensemble desar sde

D

.

XPath est un langage de requêtes qui désigne des ensembles de n÷uds d'un do ument XML. Il a été réé pour dénir une syntaxe et une sémantique aux fon tions ommunes à XPointer etXSL,maisil estunlangage d'interrogation à partentière.

Pourdésignerunn÷uddansundo ument,XPathproposeunlangaged'adressaged'objets etun ensemblede fon tionspermettant d'augmenterl'expressivité du langage.

Le langaged'adressage reposesurles notions d'axes etde séle tion.Plus pré isément, un hemin,qui peutêtre absolu ourelatif sedé ompose en:

 un axedenavigation, hoisiparmi hild (lesls), parent (les parents),following-sibling ou pre edingsibling(les frères)...

 untestsurletyped'unn÷ud.Parexemple,le heminan estor:: hapitreséle tionne les an êtresde type hapitre;

 unouplusieursprédi ats.Par exemple,larequêtesuivanteséle tionneledernierdesls de type hapitre : hild:: hapitre[position()=Last()℄.

Ces étapes se omposent entre elles en utilisant l'opérateur "/". Par exemple, le titre du parent d'unn÷ud hapitre s'é rit self:: hapitre/parent::titre.

(28)

expli itement des axes XPath. Néanmoins, nous les utiliserons omme tels ar on peut les déniren utilisant les attributsid ethref.

Dénition 2.2 Soit

D = (A, ref )

un do ument XML. Dénissons treize relations sur les n÷uds de

D

. Les onzepremières se référentuniquement à la stru ture d'arbre de

D

alors que les deux dernières n'utilisent que la relation

ref

.

1. self meten relationun n÷ud ave lui-même, 2. hildmet enrelationun n÷ud ave ses ls,

3. des endent meten relationun n÷ud ave ses des endants 2

,

4. des endent-or-self est l'uniondela relationdes endent et dela relation self 5. parent met enrelation un n÷udave son père,

6. an estor met enrelation un n÷udave sesan êtres,

7. an estor-or-self est l'unionde la relation an estor et dela relation self,

8. pre eding met en relation un n÷ud et ses prédé esseurs. Un n÷ud

n

1

est prédé esseur d'un n÷ud

n

2

si la balise fermante de

n

1

pré ède la balise ouvrante de

n

2

. Autrement dit, un n÷ud

n

est en relation ave tous les n÷uds qui sont avant lui dans l'ordre (du par ours préxe) du do ument, à l'ex lusion detout an être

9. pre eding-sibling met enrelation un n÷udave sesfrères gau hess,

10. followingmetenrelationunn÷udave sessu esseurs. Unn÷ud

n

1

est su esseurd'un n÷ud

n

2

sila balise fermantede

n

2

pré ède la balise ouvrante de

n

1

. Autrement dit, un n÷ud

n

est en relation ave tous les n÷uds qui sont après lui dans l'ordre (dupar ours préxe) du do ument, à l'ex lusion de toutdes endant.

11. following-sibling met enrelation unn÷ud ave ses frères droits,

12. un ouple den÷uds

(n

1

, n

2

)

appartient à la relationidref si

(n

1

, n

2

)

appartientà

ref

, 13. reverse idrefest la relationir

−1

La syntaxe omplète deXPath étant,parmoment, troplourde,lare ommandation in lut une syntaxe abrégée.Par exemple,// est une abréviationde des endent-or-self::node(). Onretrouveainsidesidéessemblablesà ellesdel'adressagedusystèmede hiers.Dans ette thèse,un hoix un peu diérent aété fait:les axessont souvent nomméspar leurs initiales.

Enn, pour dénir les prédi ats, XPath propose un langage d'expressions, utilisant un ensembledefon tionsdebase,telleslamanipulationde haînesde ara tères( on at, ontains, start-with...) oul'étude dela position d'unn÷udparmi sesfrères(position, last, ount...). Lerésultatd'unerequêteXPathestunensembleden÷udsdansl'arbreXMLdudo ument, ensemblequi peutêtre réutilisé, par exemple par unerequête XQuery.

XML Query ou XQuery est aussi une spé i ation du W3C. XQuery est un langage de requêtepermettant d'extrairedesinformationsd'undo umentXML.Sémantiquementpro he deSQL(ilestsouvent onsidéré ommeunlangagehybrideàmi- heminentreXPathetSQL), XML Queryutilise lasyntaxe XPath pour lo aliser desparties d'undo ument XML.

(29)

XQuery permet d'é rire des requêtes plus omplexes que XPath. Par exemple, XQuery permet de faire des requêtes imbriquées ontenant des expressions FLWOR (elles assignent desvaleursà uneou plusieurs variablesutilisées pour dénirlerésultat).

De plus, XQuery permet de faire des requêtes à la fois sur plusieurs sour es XML etde réer un résultat XML. XQuery est don plus qu'un langage de requêtes surles arbres XML aril estun langage detransformation d'arbres.

2.2.2 Requête graphe sur un do ument XML oloré

Cette se tion donne la représentation d'un do ument XML oloré, introduit les requêtes graphes etdénit leproblèmede l'évaluation.

Dénition 2.3 Soit

Σ

un alphabet de labels. Un do ument XML oloré est un triplet

D =

{N, C, {D

C

}

C

∈C

}

tel que :



N

est un ensemble ni den÷uds étiquetéspar un élément de

Σ

3

, 

C

est un ensembleni de ouleurs,

 pourtout

C

de

C

,

D

C

est un do ument XML.  la famille

{D

C

}

C

∈C

est ouvrante i.e.

N = ∪

C

∈C

N÷uds

(D

C

)

.

Plusieurs remarquessont àfaire sur e modèle :

Remarque 2.1 1. Il n'y a au une restri tionsur les arbres onsidérés dans un do ument oloré. Par exemple, s'il existe une relation lsentre les n÷uds

n

1

et

n

2

dans un arbre, il est possibled'avoir une relation ls entre

n

2

et

n

1

dans un autre arbre.

2. Si

C

est réduit à une ouleur alors un do ument oloré est un do ument XML. Les requêtes pour les do uments XML oloré peuvent don être utilisées pour interroger des do uments XML lassiques.

3. Si les arbres d'un do ument

D

sont disjoints (les ensembles de n÷uds de la famille

{N

C

}

C

∈C

sontdeux à deux disjoints), alors

D

est unensemble de do uments XML.

Ondénitmaintenant lesrequêtes graphes.Pour ela,onsedonne unensemblede primi-tives qui ontient un ensemble ni

P

de prédi ats unairesetun ensemble ni

R

de relations binaires.

P

sedé ompose endeux sousensembles disjoints:

P

absolu

et

P

relatif

Soient

Σ

un ensemble ni de labels et

C

un ensemble ni de ouleurs. L'ensemble

P

Σ,C

de primitivesutilisées dans ette thèse est omposéde l'ensemble deprédi ats

P

relatif

= {∗}

∪{σ, σ ∈ Σ}

,

P

absolu

= {/

C

,

C

∈ 2

C

}

etde l'ensemblederelations

R = {{

C

}axe |

C

∈ 2

C

∧ axe ∈

{c, d, ds, pa, a, as, p, ps, f, f s, s, ir, rir}}

.

Unerequêtegrapheestungrapheorientédanslequellesar setlesn÷udssont étiquetés:

Dénition 2.4 Soit

E = (P, R)

unensemble deprimitives. Unerequête graphe est untriplet

< N, A, $ >

où 3

(30)



N

désigne unensemble den÷uds.L'étiquette d'un n÷ud

v

est un ouple

(pred

v

, bool

v

)

.

pred

v

est unprédi atappartenant à

P

.

bool

v

est un opérateurbooléen hoisiparmi l'en-semble {and, or}

4 .



A

est l'ensemble des ar s orientés (i.e. un sous ensemble de

N × N

). L'étiquette d'un ar

a

est un élément de

R

qui est noté

axe

a

.



$

est un

n

-uplet de n÷uds séle tionneurs (i.e.

$

est de la forme

($

1

, . . . , $

n

)

ave

$

i

un n÷udde

N

).

En parti ulier, une requête DAG (Dire t A y li Graph) est une requête graphe qui est a y lique et une requête arbre est une requête graphe dans laquelle (N,A) a une stru ture d'arbre.

Attention, deuxgraphessontdésormaisutilisés.L'unreprésenteundo ument XML oloré

D

.Sesn÷uds sont soitétiquetéspar unlabeld'unalphabet ni

Σ

soit unera ine del'un des arbres de

D

.Lesar s de

D

peuvent être desar s arbre ou desar s référen es. Dans lesdeux as, ilsont une unique ouleur.L'autre graphe estune requête. Sesn÷udssont étiquetés par un ouple (prédi atunaire,opérateur booléen).Lesétiquettes de sesar sappartiennent àun ensemblede relations binaires.

Par ommodité,dansles gures,lesn÷udsd'ungrapheseront désignéspar unidentiant numérique.

La réponseà unerequêtegraphe

< N

q

, A

q

, $

q

>

,quia pour primitive

(P, R)

,surle do u-ment

{N, C, {D

C

}

C

∈C

}

reposesurl'interprétationdesprédi atsde

P

enprédi atde

N → bool

etlesrelations de

R

en relation de

N × N

.

L'interprétationdes élémentsde

P

Σ,C

estlasuivante: 

estun prédi atqui esttoujours vrai,



σ

estun prédi atqui estvraipourles n÷uds ayant letype

σ

,



/

C

est un prédi at qui est vrai pour les n÷uds

n

appartenant à l'ensemble

{/

couleur

|

couleur ∈

C

}

,

 Si

C

est une ouleur et

a

est un axe, alors la relation

{c}a

ontient tous les ouples de n÷uds

(n

1

, n

2

)

n

2

esta essibledepuis

n

1

ensuivant l'axe

a

5

dansl'arbrede ouleur

C

.

 Si

C

estunensemblede ouleursalors

{

C

}a

estl'uniondetouteslesrelations

{couleur}a

pour

couleur

une ouleur de

C

.Quand

{D

C

}

estun singleton, ette relation est simple-ment notée

a

.

Dans un deuxième temps, il faut dénir les n÷uds d'un do ument qui sont séle tionnés par unerequête. Dans e but,on utilise lesnotations suivantes :

 pour tout prédi at

p

de

P

, pour tout ensemble de n÷uds

N

in lus dans

N

,

p(N

)

désigne l'ensemble des n÷uds de

N

pour lesquels le prédi at

p

est vrai (i.e.

p(N

) = {n

∈ N

| p(n

)}

).

 Si

r

est une relation de

R

alors

r[N

]

désigne l'ensemble des n÷uds

n

pour lesquels il existe un n÷ud

n

dans

N

telque

(n

, n)

soit dansla relation r (i.e.

r[N

] = {n ∈ N |

∃n

∈ N

, (n

, n) ∈ r}

).

4

Andesimplierles s hémas,on onsidèrequelavaleurpardéfautestleand 5

(31)

Dénition 2.5 Une fon tion

β

des n÷uds d'une requête vers les n÷uds d'un do ument est un plongement si

 Pour toutn÷ud

v

de la requête, si

pred

v

appartientà

P

absolu

, alors

β(v)

est déni.  Pour toutséle tionneur

$

i

,

β($

i

)

est déni.

 Pour toutn÷ud

v

de la requête tel que

β(v)

est déni 1.

β

satisfait les prédi ats i.e.pred

v

(β(v))

est vrai. 2.

β

préserve les ar s sortantset les opérateurs booléens :

 Si bool

v

l'opérateur booléen asso ié à

v

est un and alors pour tout ar sortant

a = (v, v

)

on doit avoir

β(v

)

dèni et qui appartientà axe

a

[

β(v)

 Si bool

v

l'opérateur booléen asso ié à

v

est un or alors il existe un ar sortant

a = (v, v

)

pour lequel

β(v

)

dèni et appartientà axe

a

[

β(v)

℄ Onpeutdénir lerésultat d'unerequête surundo ument ommesuit :

Dénition 2.6 Soient

D

un do ument XML oloré et

q = (N, A, ($

q

1

. . . $

q

n

))

une requête graphe, lerésultat de

q

sur

D

est l'ensemble de

n

-uplets n÷uds

D(q) =

β:q→D

{(β($

q 1

), . . . , β($

q n

))}

β

estuneappli ationpartiellede

q

vers

D

arilpeutexisterdesn÷udsde

q

pour lesquels

β

n'est pasdéni. Eneet, siun noeud estétiqueté par un oralors

β

peutne pasêtre déni surunsous-graphe de

q

.Enparti ulier, danslerésultat i-dessus,il estpossible qu'iln'existe au un plongement entre larequêteetle do ument.Dans e as

D(q)

est l'ensemblevide. Au ontraire, si

β

estdéni pour tousles n÷uds de

q

,

β

estdite totale.

requˆete

document

/,0

w,1

y,3

x,2

$

2

y,6

w,7

z,8

z,9

x,10

d

z,4

d

p

a

idref

/,5

$

1

y,11

z,12

x,13

Fig. 2.5 Plongement d'une requêtegraphedansun do ument XML

Exemple2.2.1: Lagure2.5représenteunerequêtegraphe

q

,undo ument

D

(undo ument XML à une ouleur), etl'unique plongement de

q

vers

D

.

Dé rivons le do ument : la ra ine du do ument est le n÷ud 5. Les n÷uds peuvent être étiquetés par les lettres {w,x,y,z }. Les ar s dé rivant l'arbre XML sont représentés par des ar s pleins, lesar s del'ensemble

ref

sont en pointillés.

(32)

Dé rivons la requête : la requête, dont tous les opérateurs sont des and, a deux séle -tionneurs

$

1

et

$

2

(n÷uds 3 et 2). Les n÷uds et les ar s sont étiquetés par les primitives suivantes :/,w,x, yetzpour lesprédi ats eta,d,petidref pour les relations.Interprétons esprimitives:

Le prédi at w (rep. x, y, z) est vrai pour tous les n÷uds du graphe qui ont l'étiquette w(resp. x, y, z) etle prédi at / désigne la ra ine du do ument. Les relations permettent de naviguer dansledo ument ensuivant lesar sdu do ument:pmeten relationunn÷udave sonpère, idref estl'ensemble{

(n, n

) | (n, n

) ∈ ref

}...

L'unique plongement de la requête dans le do ument apparaît en pointillés entre la re-quête et le do ument. Comme

(3, 4)

est un ar de la requête étiqueté par idref on a un ar

(β(3), β(4)) = (6, 8)

de type référen e dans le do ument. Comme

(1, 3)

est un ar étiqueté par a,on a

β(3) = 6

qui est un an être de

β(1) = 7

etainside suite pour tous les ar s de la requête.Larequêteestbinaire,sonrésultatestdon le ouple

{(β(3), β(2)}

quivaut

{(6, 10)}

. Le n÷ud 11 n'ayant pas de des endant de type w, une fon tion dénie par

β(3) = 11

ne peutpasêtre unplongement.

Le but del'exemple suivant est de montrer un plongement partield'une requête dansun do ument :

$

requˆete

document

/,0

y, or, 1

z,3

w,2

y,6

w,7

z,8

z,9

x,10

c

d

d

/,5

y,11

z,12

x,13

Fig. 2.6 Plongement partiel d'unerequêtegraphe dansundo ument XML

Exemple 2.2.2 : Reprenons le do ument de l'exemple 2.2.1 et onsidérons la requête dis-jon tive de lagure2.6. Cette requêteséle tionne lesn÷uds 6 et11.En eet,leplongement partielreprésenté en pointillés danslagure 2.6séle tionnelen÷ud 11.

Plusieurs plongements permettent de séle tionnerlen÷ud 6.Tous esplongements

β

ont en ommumlesvaleurs

β(0) = 5

et

β(1) = 6

.Par ontreilyaplusieursvaleurspossiblespour

β(2)

et

β(3)

.Si

β(u) = ⊥

signiequele

u

n'estpasplongé alors

(β(2), β(3))

peutprendreles valeurssuivantes:



(7, ⊥)

estun plongement partiel. 

(7, 8)

est unplongement total. 

(⊥, 9)

estun plongement partiel.

(33)



(⊥, 8)

est unplongement partiel. 

(7, 9)

estun plongement total.

Pourterminer etteétude,dénissonsleproblèmedel'évaluation.Plusieursquestionssont intéressantesà résoudre:

 Comment al ulerl'ensemble

D(q)

desn÷udsde

D

séle tionné par

q

?  L'ensemble

D(q)

est-il vide (problème dumodel he king)?

 Étant donné unn-uplet

τ

den÷uds du do ument,

τ

appartient-il à

D(q)

?

Lesdo umentsXML oloré étant nis, letroisièmeproblème permetderésoudreles deux autres. Par ontre, les résultatsde omplexité ne sont pasfor ément les mêmes.

Dénition 2.7 Soit

E

un ensemble deprimitives. Le problème del'évaluation se dénit par :

Entrée : une requête graphe

q

utilisant les primitives de

E

, un do ument

D

et un

n

-uplet

τ

de n÷uds de

D

Sortie : vrai siet seulement si le

n

-uplet

τ

est séle tionné par

q

And'étudierla omplexitéduproblème,ilestutiledepré iserlatailledesesparamètres. Latailled'ungraphe

G

(unerequêteouundo ument)estdénieparlesommedesonnombre d'ar setde sonnombre de n÷uds.Un

n

-uplet den÷uds a unetaille

n

.

2.3 Deux exemples de requêtes graphes : le Core XPath et les

requêtes onjon tives

Avant d'étudierlesrequêtesgraphesdanstouteleurgénéralité,onprésentedeuxexemples de la littérature. Le premier onsiste à onsidérer des requêtes arbres. Pour ela, on étudie un fragment deXPath :leCore XPath [Gottlobetal.,2002 ℄.Lese ondexemple est onsa ré auxrequêtes onjon tivespour interrogerlesdo umentsXML [Gottlobetal.,2004℄. Contrai-rement aux requêtes duCore XPath, les requêtes onjon tives peuvent se représenter par un graphe y lique. Par ontre, tousles opérateurs booléens utilisésseront desand.

Unediéren eexisteentrelaprésentationquenousfaisonsi iet elled'origine.Nous éten-donseneetlesrésultatsde[Ramanan,2003 ℄etde[Gottlobetal.,2004 ℄au asdesdo uments XML oloré.Nousmontronsque etteextensionsefaitsansmodi ationdela omplexitédes algorithmes d'évaluation.

2.3.1 Le Core XPath

ComplétonslaprésentationgénéraledeXPathetdeXQuerydelase tion2.2.1ave des ré-sultatsde omplexité:l'évaluationd'unerequêteXPathestPTIME-dur[Gottlob et al.,2003℄ tandisqueXQuery(ainsiqueXSLT)estTuring omplet[Kepser, 2002℄.Danslebutd'avoirdes

(34)

L'un des problèmes étudiés jusqu'à maintenant est de trouver le fragment de XPath le pluslargepossiblequiaitdebonsalgorithmesd'évaluation. TroisfragmentsdeXPath ontété dénis dans e but. Pour estrois fragments, l'évaluationest linéaire dansla taille ombinée dudo ument etde larequête. Onles présente i ipar expressivité dé roissante:

1. G. Gottlob, C. Ko h et R.Pi ler ont déni dans [Gottlobetal.,2002 ℄ un fragment de XPath dans lequelle al ulest linéaire danslataille ombinéedu do ument

D

etde la requête

q

(i.e. le al ul de

D(q)

est

O(|D|.|q|)

). Ce fragment, le Core XPath, ontient touteslespossibilitésdenavigation deXPath.Onpeutnaviguerdansundo ument sui-vantlesonzeaxes lassiques(self, hild,des endent,des endent-or-self,parent,an estor, an estor-or-self, pre eding, pre eding-sibling, following etfollowing-sibling).Ces travaux s'étendent fa ilement (voirpar exemple [Ramanan,2003 ℄) si on onsidère les axes idref etridref(pour prendre en ompte les référen es).Lesprédi ats du CoreXPath se om-binent ave lesopérateursand, or etnot.

Sansêtre exhaustif, donnonsquelques exemples de requêtes XPath qui ne s'expriment pasave leCoreXPath:séle tionnerlesn÷udsquiontunepositionpairesousleurpère ([position() mod 2 = 0℄), séle tionner les n÷uds qui ont plus de ls étiqueté par

a

quede ls étiqueté par

b

(fon tion ount), a éder au ontenu d'unn÷ud...Enn, une requêtedu CoreXPath ne permetpas d'utiliserl'axe 'attribut'de XPath.

2. R .Kaushiket al. ont déni dans[Kaushik et al.,2002a ℄ un fragment du Core XPath : BPQ (Bran hing Path Queries)dans lequell'ordre des frèresn'apas d'importan e.En eetseulsneufdestreizeaxessont autorisés:lesaxes faisant appelàl'ordredesn÷uds (pre eding, pre eding-sibling, following et following-sibling) ne sont pas onsidérés dans lesrequêtes BPQ.

3. Enn un fragment de BPQ a été introduit par Amer-Yahia et al.

dans [Amer-Yahia etal.,2001 ℄. Ce sont les TPQ (Tree Pattern Queries) aussi onnus sous le nom de twig. Les twigs sont des requêtes onjon tives et n'autorisent que l'utilisation des trois axes verti aux des endant :self, hild, des endent-or-self. Signalons enn les auteurs de [Jiang etal.,2004 ℄ enri hissent les requêtes twig ave l'opérateur booléens or et que les auteurs de [Luetal.,2005℄ dénissent des requêtes twig ordonnés.

Ces trois fragments de XPath ont la même omplexité (pour le problème de l'évaluation) mais ils se diéren ient par les algorithmes d'optimisation de requêtes ([Amer-Yahia etal., 2001 ℄, [Bruno etal.,2002 ℄, [M Hughand Widom, 1999 ℄ ) et les algo-rithmes d'indexation([Ramanan, 2003 ℄,[Kaushiketal., 2002a ℄).

A partirdu CoreXPath,leplus expressifde estroisfragments,leCore XPath oloréest déni. Ce langage permet de séle tionner des n÷uds en naviguant dansun do ument XML oloré. Pour ela, haque axe de navigation est préxé par un ensemble de ouleurs d'arbre auxquelsils'applique.

La table 2.1montrequ'une requête duCore XPath 6

oloré estde laforme

/

C

ch

1

/ch

2

/ . . .

Chaque

ch

représenteun hemin(lo ationsteep).Le

/

C

initialsigniequelarequêteestabsolue (i.e. onsidérée àpartirdel'une desra inesdesarbresdésignée parl'ensemblede ouleurs

C

). Unerequêtede laforme

ch

1

/ch

2

/ . . .

estrelative àun ontextequ'ilfaut spé ier.Chaque

ch

est de la forme

{

C

}

axe : :test-noeud[predi at

1

℄[predi at

2

. . .

C

est un ensemble de ouleurs et

6

LeCore XPath déni dans[Gottlobetal.,2002 ℄ ontient l'opérateur not. Pour ela, onajoute la règle predi at

not(predi at).

Références

Documents relatifs

L’événement « manger une salade verte et une pizza aux quatre fromages » a une probabilité de 1/6. L’événement «manger une salade verte, une pizza végétarienne et une

de la routine de servie de l'interruption se trouve à l'adresse 4 × n pour le type n : les deux otets de IP se trouvent à l'adresse 4 × n et les deux otets de CS à l'adresse 4 × n +

C’est en fonction du contexte (l’ensemble des mots qui l’accompagnent) que l’on peut identifier le sens dans lequel il est employé.. Exemple : Cet explorateur a parcouru

C’est en fonction du contexte (l’ensemble des mots qui l’accompagnent) que l’on peut identifier le sens dans lequel il est employé.. Exemple : Cet explorateur a parcouru la terre

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

1. Etablir le diagramme de Gantt correspondant à la durée minimale de l’arrêt 2.. Une école lance un projet de mise en oeuvre de différentes études post grades en..

On décompose le volume du liquide en rotation en couronnes cylindriques de rayon r, d’épaisseur dr et de hauteur z(r). Exprimer le volume dV d’une telle couronne. En supposant que

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp