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 parD
.Onétudiedon leproblèmeinversequiestdetrouverdansl'indexlesmêmes ontraintes que ellessatisfaites parladonnée. Autrement dit,siID
estun indexd'unedonnéeD
,a-t-onD |= p q
impliqueID |= 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éeD
soit un modèleexa t del'ensembleC(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êteq
revientà al ulerE(q)
l'unionde touslesD(q)
pourD
unedonnéedeE
(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éesE
etla donnéeà plusieurs ra inesDE =< NE, RE, TE >
onstruite ommesuit :NE
estl'unionde tousles n÷uds desdonnées présentesdansE
,RE
estl'uniondetouteslesra inesetTE
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éeDE
.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éesE
et unalgorithme d'indexation index et quequelqu'un veuille interroger non pastoutes les données deE
maisuniquement un sousensembleE′
deE
.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ésentesdansE
etlenombrededonnéesprésentesdansE′
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 deD
toute donnée déterministe DGD
qui vérie que :Chaque hemin de
D
a exa tement une instan e dans DGD
, Chaque hemin deDGD
est un hemindeD
.Pourtout ouple de mots(l,l') de
A∗× A∗
,D(l) = D(l′)
sietseulement siDGD(l) =
DGD(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éeD
estunique (àunisomorphisme près)et il est lerésultat de l'appli ation sur la donnéeD
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 (DGD
etDG'D
) et onstruisons un isomorphismeentre es index.Soitl
un hemin de DGD
,il estalors un hemin deD
etdon de DG'D
(dénitiondesdataguides).Bije tion entre lesn÷uds.
On dénit l'appli ation
Φ
qui à un n÷udN1
de DGD
asso ie un n÷udN2
deDG'D
par le pro essussuivant. Soitc1
un hemin de DGD
quiatteintN1
,onnotealorsN2
le n÷ud asso ié par e même hemin dans DG
D′
.S'il existec′1
un autre hemin qui atteintN1
dans DGD
,alorsc1
etc′1
ont le même résultat dans DGD
ils ont don le mêmeensemblerésultatdansD
etlemêmerésultatdansDGD′
(i.e.la onstru tiondeN2
estindépendantedu hemin hoisi).LefaitqueDGD
etDGD′
soientdéterministes permetd'armer queΦ
estee tivement une appli ation.Notons
|
DGD|
le nombre de n÷uds de DGD
.|
DGD|
est égal au nombre de résultats diérentsquel'onpeutatteindreave des heminsdeD
.Pardénitiond'undataguide, DGD′
aexa tement lamême taille.Soit un n÷ud
N2
de DGD′
. On peut l'atteindre par un heminc2
dans DGD′
. Ce heminatteintN1
dansDGD
.IlestensuiterapidedevérierqueN1
estunanté édent deN2
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÷udN1
c
dansDGD
alors le heminc
atteintNc2= Φ(Nc1)
dansDGD′
.•
sile hemin est vide lerésultatest évident.•
silerésultat estvraipour un heminc
montrons qu'ilest vraipour le heminc.l
(l
est unlabel).
Dans DG
D′ c
atteint le n÷udΦ(Nc1)
. L'ar(Nc2, l, Nc.l2 )
existe ( ar DGD′
est déter-ministe et que tout hemin de DGD
est aussi hemin de DGD′
) et donc.l
atteintN2
c.l= Φ(N1
c.l)
.DG
D
etDG'D
sont don isomorphesetladataguide estunique.2. Il estfa ilede montrerqueledéterminisé
det(D)
d'unedonnéeD
vérieles troispoints de ladénitiondu dataguide etquedondet(D)
est undataguide. Onsait deplus que ledataguide est unique (point1) etdondet(D)
est ledataguide du donnéeD
.◭
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