• Aucun résultat trouvé

2.4 Approches orient´ees donn´ees vs approches orient´ees documents

2.5.2.3 Indexation bas´ee sur des arbres

Dans cette technique, chaque nœud (´el´ement) du graphe repr´esentant le do-

cument XML est identifi´e par un identifiant unique [161]. Les termes sont donc

associ´es `a cet identifiant, ce qui permet de localiser de fa¸con pr´ecise l’endroit

o`u ces termes sont apparus et de retrouver les relations hi´erarchiques entre

les ´el´ements [248]. L’identifiant unique peut ´egalement ˆetre tout simplement

le chemin d’acc`es (XPath absolu, avec le num´ero des ´el´ements) de l’´el´ement

[294]. La partie -c de la figure 2.2 repr´esente une illustration de ce type d’in-

dexation. Parmi les travaux utilisant cette technique d’indexation structurelle, citons [143] [125].

A. Alilaouar pr´esente dans [23] les diff´erents plans de num´erotations pour

l’indexation bas´ee sur des arbres. Selon lui, un plan de num´erotation doit sup- porter deux op´erations basiques :

– La d´ecision : Pour deux nœuds donn´es, d´ecider s’ils ont une relation sp´ecifique ou non (par exemple : p`ere-fils, ancˆetre-descendant, fr`ere-suivant, fr`ere-pr´ec´edent).

– La reconstruction : Pour un nœud donn´e, d´eterminer les identifiants des nœuds de son voisinage (par exemple : le p`ere, le fr`ere suivant, le premier enfant).

Dans ce qui suit, nous pr´esentons quelques plans de num´erotations de la litt´erature [23].

– Num´erotation de Dietz : cette technique de num´erotation [78] est la premi`ere qui a employ´e l’ordre de parcours d’arbre pour d´eterminer la relation descendant/ascendant entre n’importe quelle paire de nœuds d’arbre. Selon la technique de Dietz, chaque nœud de l’arbre XML poss`ede deux valeurs : pr´e-ordre et post-ordre (pre et post). La valeur pre est assign´ee aux nœuds en effectuant un parcours s´equentiel pr´efix´e de la repr´esentation en arbre du document structur´e. La valeur pre est incr´ement´ee de 1 pour chaque nœud visit´e. Ce traitement est r´ecursivement effectu´e pour les nœuds descendants de chaque nœud visit´e. D’une mani`ere in- verse, la valeur de post-ordre (post) d’un nœud lui est assign´ee lors d’un parcours postfix´e, c’est `a dire en parcourant tous les nœuds descendants de gauche `a droite, et en effectuant r´ecursivement le mˆeme traitement

jusqu’`a arriver au nœud racine. La figure 2.3 illustre l’assignement des

valeurs pre et post aux nœuds.

rapport

titre auteur date contenu

introduction chapitre chapitre conclusion

section

titre section titre section section

XMl- multimedia Mouna Torjmen Novembre 2009 La recherche d’images se divise en trois catégories… Recherche d’images basée-contenu L’indexation visuelle consiste à … Des mesures de similarité entre … Recherche d’images basée- contexte Le texte est l’élément le plus connu… D’autres facteurs comme la structure… La recherche d’images est un domaine très… <0,25> <1,1> <2,0> <3,3> <5,5> <7,24> <4,2> <6,4> <8,7> <10,14> <17,21> <24,23> <9,6> <11,9> <13,11> <15,13> <20,18> <22,20> <18,16> <12,8> <14,10> <16,12> <19,15> <21,17> <23,19> <25,22>

Figure 2.3 – Exemple de num´erotation des nœuds selon le plan Dietz [78]-

Valeurs de < pre, post >

Pour deux nœuds donn´es x et y d’un arbre T , x est un ancˆetre de y si et seulement si x apparaˆıt avant y dans le parcours pr´eordre de T et apr`es y dans le parcours postordre de T . La num´erotation de Dietz a ´et´e par

exemple utilis´ee dans l’approche XPath Accelerator [109].

Le grand avantage de cette approche est que la relation descendant/ascendant peut ˆetre d´etermin´ee en temps constant en examinant le pr´eordre et le postordre des nœuds de l’arbre. Par contre, en cas de mise `a jour, une r´eindexation compl`ete de l’arbre est n´ecessaire, ce qui fait que cette

m´ethode ne sera pas efficace dans le domaine des bases de donn´ees, o`u

Pour pallier cet inconv´enient, une nouvelle m´ethode de num´erotation a ´et´e propos´ee dans le cadre du projet XISS (XML Indexing and Sto-

rage System) [164]. Cette nouvelle approche de num´erotation est bas´ee sur les pr´eordres des nœuds et une certaine grandeur des descendants. Pour chaque ´el´ement, une paire <num´ero d’ordre, grandeur> est as- sign´ee comme suit : (i) pour un nœud y de l’arbre et son nœud pa- rent x : ordre(x) < ordre(y) et ordre(y) + grandeur(y) ≤ ordre(x) + grandeur(x). (ii) pour deux nœuds fr`eres x et y, si x est le pr´ed´ecesseur de y dans un parcours en pr´eordre alors ordre (x)+grandeur(x) < ordre(y). La relation descendant/ascendant est d´efinie comme suit : pour deux nœuds donn´es x et y d’un arbre T , x est un ancˆetre de y si et seulement si ordre(x) < ordre(y) ≤ ordre(x) + grandeur(x).

Compar´e `a la m´ethode de Dietz, la m´ethode XISS est plus flexible et elle permet les mises `a jour et les insertions dynamiques dans les documents XML. Notons que dans les deux m´ethodes, la num´erotation des nœuds n’est pas n´ecessaire dans le cas de suppression d’un nœud.

– Num´erotation bas´ee sur la position des nœuds Jerey et al. [135]

ont propos´e un plan de num´erotation bas´e sur la position des nœuds et sur leur profondeur. Chaque ´el´ement est identifi´e par un quadruplet : l’identifiant du document, la position de d´epart dans le document, la po- sition de fin et le niveau de profondeur. Les positions sont exprim´ees en fonction du nombre de mots `a partir du d´ebut du document XML.

– Num´erotation en arbre k-aire par niveau Les auteurs de [161] ont

propos´e plusieurs sch´emas d’indexation pour des documents SGML qui sont valables aussi pour les documents XML. Ces sch´emas utilisent par- ticuli`erement le concept d’UID (Unique element IDentifier ) afin de r´eduire le nombre d’entr´ees de l’index. A partir de l’UID d’un ´el´ement, on peut obtenir les UIDs des descendants et des ascendants directement. En effet, les documents structur´es de corpus sont agr´eg´es en un seul arbre de document. Cet arbre de document est ensuite interpr´et´e comme un

k-arbre virtuel [70] (certains nœuds peuvent ne pas exister) et chaque ´el´ement (nœud) poss`ede un UID. k est la profondeur de l’arbre (voir

figure2.4).

Pour calculer l’UID du parent d’un nœud ayant un UID=i, la fonction suivante est utilis´ee :

parent(i) = i − 2

k + 1 (2.1)

Pour calculer l’UID de j`eme fils d’un nœud ayant un UID=i, la fonction suivante est utilis´ee :

child(i, j) = k ∗ (i − 1) + j + 1 (2.2)

Les auteurs ´etudient plusieurs types d’index et d´emontrent que l’index ANOR (inverted index for All NOdes without Replication) est celui ob-

Element UID a b c d e f g h i j 1 2 3 5 6 8 9 14 15 16 a

Nœud réel Nœud virtuel

b a c a d a g e a j h i f 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Figure 2.4 – Exemple d’assignation des UIDs pour les ´el´ements d’un arbre

XML [161]

tenant les meilleurs performances. Ce sch´ema permet de stocker chaque terme une et une seule fois dans l’arbre, cependant, ceci implique une perte d’information, car certains termes ne sont pas stock´es dans l’index `a leur position exacte dans le document.

La limite majeure de la num´erotation en arbre k-aire par niveau est la complexit´e de gestion des identifiants UID pour les documents longs (identifiants des ´el´ements r´eels et des ´el´ements virtuels). Pour pallier cet inconv´enient, des travaux ont ´et´e propos´es parmi lesquels nous citons ce-

lui de [183] qui se base sur la num´erotation virtuelle par niveau, et celui

de [41] qui se base sur la num´erotation dynamique par niveau. Ce dernier

a ´egalement l’avantage de mettre `a jour les nœuds sans une r´eindexation compl`ete.

D’autres techniques d’indexation structurelle bas´ee sur les arbres sont pro-

pos´ees dans la litt´erature telles que l’approche EDGE et BINARY [85], l’archi-

tecture BUS (Bottom Up Schema) [133], etc.

De nouvelles approches combinant l’approche orient´ee donn´ees et l’approche

orient´ee documents ont ´et´e ´egalement propos´ees [107], [268], [287], [238]. Le

but de la combinaison est de profiter au mieux de toutes les caract´eristiques du document XML. Ces approches permettent notamment d’indexer le contenu textuel des documents et de pond´erer les termes, ce qui rend ensuite possible un calcul de pertinence des ´el´ements.