• Aucun résultat trouvé

0

1 2 ... 199 200

201 202 ... 399

films

film

film film film

film

joueDans

acteur

joueDans

acteur

joueDans

acteur

joueDans

acteur

suivant suivant suivant suivant

suivant

Fig. 4.1 Exempled'unedonnée onstruite àpartir de IMDB

Une autre propriété importante d'unindex est d'avoir un algorithme de mise à jour par rapportàunemodi ationd'unedonnéequinere al ulepastoutl'index.Commenousallons levoir, toutes les méthodesque nousprésentons ont ette propriété.

Dans la littérature, les points 1 et 2 sont les plus étudiés. Historiquement, le data-guide[Goldman andWidom, 1997 ℄fut,dansle adreduprojetLore, lepremierindex de he-minsproposé.Commesonnoml'indique,outresonrled'indexation,ledataguideaunrlede guide:guiderl'utilisateur lors desoné riture derequêtes (ledataguide étant déterministe,il estfa iled'assisterl'é riturederequêtesenutilisantledataguide ommeunplan-sitemap-de ladonnée).Danslebutde ontrlerlatailleduguided'unedonnée,S.Nestorov,S.Abiteboul etR.Motwaniproposentdetyperunedonnéeave exa tement

K

types[Nestorov et al.,1998 ℄. Même si leur algorithme est basé sur des algorithmes de lustering qui ne sont pas des mé-thodesd'indexation(pasdenotionde ouverture), ilsdénissent letypageperfe tqui peut se transformerenl'index perfe t. Enn, le1-index [MiloandSu iu, 1999 ℄(et sesméthodes d'in-dexation dérivées, le A(k)-index [Kaushiketal.,2002b ℄ et le D(k)-index [Chen etal.,2003℄) apourbutd'être optimal quantà lapla e qu'ilo upe,quant àsontemps de onstru tion et quant augain ee tuéen l'interrogeant plutt queladonnée.

Par ontre, à ma onnaissan e, le lien entre les ontraintes d'in lusions et les index est nouveau(point3).Ilestl'apportprin ipalde e hapitre.Unpremierrésultatestque, omme l'indexest ouvrant,toute ontraintesatisfaiteparunindexd'unedonnée

D

etaussisatisfaite par

D

.Onétudiedon leproblèmeinversequiestdetrouverdansl'indexlesmêmes ontraintes que ellessatisfaites parladonnée. Autrement dit,si

ID

estun indexd'unedonnée

D

,a-t-on

D |= p  q

implique

ID |= p  q

?

Dans un premier temps, nousprésentons ledataguide [Goldman and Widom, 1997℄ (se -tion 4.2).Le dataguide regroupe des n÷uds tels que haque hemin de ladonnée apparaisse

est e a e.Par ontre, ledataguide ne onservepasles ontraintes d'in lusions.Néanmoins, larelationdesous-typageinduitedela onstru tion dudataguide ontienttoutel'information on ernant les in lusions de mots. On en déduit un algorithme de saturation du dataguide qui permet de onstruire un index satisfaisant les ontraintesde mots de ladonnée. Enn, le prin ipe de onstru tion dudataguidepermetd'extraired'unedonnéetoutesses ontraintes: on peut onstruire un ensemble ni

C(D)

de ontraintes nies tel que la donnée

D

soit un modèleexa t del'ensemble

C(D)

.

Dansundeuxième temps(se tion 4.3)nousprésentons desméthodesquiregroupent dans l'index, des n÷uds d'une donnée qui sont indiéren iables du point de vue des requêtes. L'idée estdefusionnerdesn÷udsquiontlemêmelangagede heminsentrants.Testersideux n÷uds sont équivalents étant très oûteux ( 'est un problème PSPACE- omplet), la ondi-tion d'équivalen e est aaiblie pour devenir un test de bi-simulation sur les n÷uds. L'index perfe t[Nestorovetal.,1998 ℄,le1-index[Miloand Su iu, 1999 ℄etsesméthodesd'indexation dérivées leA(k)-index [Kaushiketal.,2002b ℄ etD(k)-index [Chen etal.,2003 ℄sont baséssur e prin ipe.Tout esindex sont ompa ts,fa ilesà al uler etsatisfontlesmêmes ontraintes d'in lusions queladonnée initiale.

La dernière se tion de e hapitre est onsa rée à l'étude des ensembles de données. En eet,interrogerunensemble

E

dedonnéesave unerequête

q

revientà al uler

E(q)

l'unionde tousles

D(q)

pour

D

unedonnéede

E

(onsuppose,sansrestreindrelagénéralitéduproblème, quedeuxdonnées diérentesn'ontpasde n÷udsen ommun). Dupoint vuedesrequêtes,on ne faitdon pasla diéren e entre l'ensemble de données

E

etla donnéeà plusieurs ra ines

DE =< NE, RE, TE >

onstruite ommesuit :

NE

estl'unionde tousles n÷uds desdonnées présentesdans

E

,

RE

estl'uniondetouteslesra ineset

TE

estl'uniondetouteslestransitions. Il faut noter que ette donnéesatisfait une ontrainte siet seulement sielle est satisfaitepar toutes les donnéesde l'ensembleE.

Pour résumer, étudier les ontraintes ommunes aux données de l'ensemble

E

revient à her her les ontraintes satisfaites par ladonnée

DE

.Onpeut don utiliser tousles résultats pré édentspourétudierles ontraintesd'in lusions ommunesàplusieursdonnées.Néanmoins, latroisième se tion porte surune diéren e :supposonsque l'onait un ensemble de données

E

et unalgorithme d'indexation index et quequelqu'un veuille interroger non pastoutes les données de

E

maisuniquement un sousensemble

E

de

E

.Deux méthodesd'indexationsont possibles:

 Indexer haque donnée séparément puis onstruire U-index(E) omme l'union de tous esindex.

 Indexerl'ensemble

E

enle onsidérant ommeuneuniquedonnéeet onstruireindex (E). La troisième se tion estdon onsa rée à la omparaison entre U-index(E)etindex (E). Plus pré isément nousprenons ommeréféren ele 1-indexetnousétudions expérimentalement le rapportentrelenombre dedonnéesprésentesdans

E

etlenombrededonnéesprésentesdans

E

etles for es

|

faiblesses duU-index(E)par rapportau 1-index (E).

Pour omparerlesdiérentsalgorithmesd'indexationnousavonspris unedonnéede réfé-ren equinoussertdelrougetoutaulongde e hapitre.Cettedonnée ontient 200lmsde l'année1966 etaété onstruite àpartirde labasededonnées MovieDB(aussiappeléeIMDB pourTheinternationalmovie database). Lagure4.1montreune(petite)sous-partiede ette donnée. Il manque en eet toutes les informations on ernant les produ teurs, les titres, les

lms. Cette partie permetde omprendre les mé anismes d'indexation. On remarque quele lm orrespondantaun÷ud200n'apasd'a teur.Ils'agitdeWolnamjeonseonisangeobtda,un do umentaire de guerre tourné en Coréedu sud etpour lequel iln'y pasd'a teurs. Onverra les onséquen es de e manque de régularité pour ha un desalgorithmes.

4.2 Dataguide

La onstru tion d'un dataguide ([Goldman andWidom, 1997℄, [Abitebouletal.,2000℄) a été la première méthode d'indexation de données semi-stru turées. Le besoin d'une telle onstru tion estapparu dansle adredu projetLore[Lore, 1997 ℄.

Le projet Lore a été développé à l'université de Stanford et il a pour obje tif de gérer des données semi-stru turées modélisées par des graphes. Le langage de requêtes utilisé est Lorel. C'est un langage basé sur les requêtes régulières mais qui permet en plus d'interroger le ontenu desn÷udsdu graphe.

Il y a beau oup d'alternatives possibles pour développer une base de données semi-stru turées.Ilestpossibledepartird'unsystèmedéjàexistantsurlemodèlerelationnelousur lemodèleobjet...Les on epteursdeLoreontdé idéde onstruireunsystèmeàpartirderien etde proposer, pour haqueproblème, dessolutions propres auxdonnées semi-stru turées.

Il est évident que l'un des problèmes majeurs à résoudre est l'absen e de s héma qu'il faut ompenser par des index ([M Hugh et al.,1998 ℄, [M Hughand Widom, 1999 ℄, [Abitebouletal.,2000 ℄). Cinq typesd'index sont utilisés dans Lore: le Vindex(Value index i.e.unindexnumérique),leLindex(Link index)quipermetdesuivreunlien(oudele remon-ter),leBindexqui,étant donnéunlabel,retourne touteslespairesden÷udsliéspar elabel, leTindex(fulltextindex)etlePindex(Pathindex).Depuis,desindexindexantsimultanément letexteetles hemins ont étédéveloppés[Weigeletal.,2004 , Gardarin andYeh,2005 ℄.

Dans ette se tion,seull'unde esindex nousintéresse:lePindex surles heminsquiest ommunément appelédataguide.

Dénition 4.1 Étant donné une donnée semi-stru turée

D

on appelle dataguide de

D

toute donnée déterministe DG

D

qui vérie que :

 Chaque hemin de

D

a exa tement une instan e dans DG

D

,  Chaque hemin deDG

D

est un heminde

D

.

 Pourtout ouple de mots(l,l') de

A× A

,

D(l) = D(l)

sietseulement siDG

D(l) =

DG

D(l)

4.2.1 Algorithme de onstru tion du dataguide

On donne maintenant une série de propriétés montrées dans [Caronetal.,2003 ℄, mais qui sont déjà évoquéesdans[Miloand Su iu, 1999℄. Pour ela on voit une donnée ommeun automate:tousles n÷udsdugraphe sont desétatsnaux ettous lesn÷uds ra inessont des états initiaux.

Proposition 4.1 Ledataguide DG

D

d'unedonnée

D

estunique (àunisomorphisme près)et il est lerésultat de l'appli ation sur la donnée

D

del'algorithme lassique dedéterminisation des automates nis demots [Hop roft andUllman, 1979℄.

Preuve :

1. Montronsd'abord queDG

D

est unique(à un isomorphismeprès).

Supposonsque pour une donnée

D

il existe deuxdataguidesdiérents (DG

D

etDG'

D

) et onstruisons un isomorphismeentre es index.Soit

l

un hemin de DG

D

,il estalors un hemin de

D

etdon de DG'

D

(dénitiondesdataguides).

 Bije tion entre lesn÷uds.

On dénit l'appli ation

Φ

qui à un n÷ud

N1

de DG

D

asso ie un n÷ud

N2

deDG'

D

par le pro essussuivant. Soit

c1

un hemin de DG

D

quiatteint

N1

,onnotealors

N2

le n÷ud asso ié par e même hemin dans DG

D′

.S'il existe

c1

un autre hemin qui atteint

N1

dans DG

D

,alors

c1

et

c1

ont le même résultat dans DG

D

ils ont don le mêmeensemblerésultatdans

D

etlemêmerésultatdansDG

D′

(i.e.la onstru tionde

N2

estindépendantedu hemin hoisi).LefaitqueDG

D

etDG

D′

soientdéterministes permetd'armer que

Φ

estee tivement une appli ation.

Notons

|

DG

D|

le nombre de n÷uds de DG

D

.

|

DG

D|

est égal au nombre de résultats diérentsquel'onpeutatteindreave des heminsde

D

.Pardénitiond'undataguide, DG

D′

aexa tement lamême taille.

Soit un n÷ud

N2

de DG

D′

. On peut l'atteindre par un hemin

c2

dans DG

D′

. Ce heminatteint

N1

dansDG

D

.Ilestensuiterapidedevérierque

N1

estunanté édent de

N2

par

Φ

.C'està direque

Φ

estsurje tive.

Φ

estdon uneappli ation surje tive entredeuxensembles nisayant lemême ardi-nal. Elle estdon bije tive.

 Bije tion entre lesar s.

On montre, par ré urren e, quesi un hemin

c

atteint unn÷ud

N1

c

dansDG

D

alors le hemin

c

atteint

Nc2= Φ(Nc1)

dansDG

D′

.

sile hemin est vide lerésultatest évident.

silerésultat estvraipour un hemin

c

montrons qu'ilest vraipour le hemin

c.l

(

l

est unlabel).

Dans DG

D′ c

atteint le n÷ud

Φ(Nc1)

. L'ar

(Nc2, l, Nc.l2 )

existe ( ar DG

D′

est déter-ministe et que tout hemin de DG

D

est aussi hemin de DG

D′

) et don

c.l

atteint

N2

c.l= Φ(N1

c.l)

.

DG

D

etDG'

D

sont don isomorphesetladataguide estunique.

2. Il estfa ilede montrerqueledéterminisé

det(D)

d'unedonnée

D

vérieles troispoints de ladénitiondu dataguide etquedon

det(D)

est undataguide. Onsait deplus que ledataguide est unique (point1) etdon

det(D)

est ledataguide du donnée

D

.

C'est en utilisant e résultat que R. Goldman et J. Widom ont présenté une méthode de mise à jour du dataguide dans [Goldman andWidom, 1999℄. Une mise à jour onsiste à re al ulerle déterminisé deladonnée maisuniquement en suivant les hemins modiés.

Maintenant quel'ona déniledataguide ilfaut savoir omment onpeutl'utiliserentant qu'index.Pour onstruireledataguideDG

D

onautilisél'algorithmededéterminisation,ilest don fa ilede onstruire larelation types qui lie unn÷ud deDG

D

à un ensemble de n÷uds

0

2

3

4

1

Auteur

Ecrit par

Documents relatifs