description de documents xml multistructurés au moyen de nœuds retards

14
Description de Description de documents XML documents XML multistructurés au multistructurés au moyen de nœuds moyen de nœuds retards retards Jacques Le Maitre Jacques Le Maitre LSIS LSIS Université du Sud Toulon- Université du Sud Toulon- Var Var

Upload: stew

Post on 30-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Description de documents XML multistructurés au moyen de nœuds retards. Jacques Le Maitre LSIS Université du Sud Toulon-Var. Représentations d’arbres concurrents. Une solution : par des couples d’attributs id / idref : Il y a dissymétrie dans la manipulation des arbres. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Description de documents XML multistructurés au moyen de nœuds retards

Description de documents Description de documents XML multistructurés au XML multistructurés au moyen de nœuds retardsmoyen de nœuds retards

Jacques Le MaitreJacques Le Maitre

LSISLSIS

Université du Sud Toulon-VarUniversité du Sud Toulon-Var

Page 2: Description de documents XML multistructurés au moyen de nœuds retards

Représentations d’arbres Représentations d’arbres concurrentsconcurrents

Une solution : par des couples d’attributs Une solution : par des couples d’attributs idid//idrefidref : : Il y a dissymétrie dans la manipulation des arbres.Il y a dissymétrie dans la manipulation des arbres.

Proposition : au moyen de nœuds dits Proposition : au moyen de nœuds dits nœuds retardnœuds retard dont le contenu n’est activé que lorsque le contenu à dont le contenu n’est activé que lorsque le contenu à ce noeud est nécessaire (évaluation paresseuse).ce noeud est nécessaire (évaluation paresseuse).

Application à la représentation d’un Application à la représentation d’un General-Orderd General-Orderd Descendant Directed Acyclic GraphsDescendant Directed Acyclic Graphs (GODDAG). (GODDAG).

Page 3: Description de documents XML multistructurés au moyen de nœuds retards

ligne ligne ligne phrase phrase

Ecrit servant de preuve, d’information. Objet servant de preuve, de témoignage.

Petit LaroussePetit Larousse……Document.Document. Ecrit servant de preuve, Ecrit servant de preuve,d’information. Objet servant de preuve,d’information. Objet servant de preuve,de témoignage.de témoignage.……

Ce que l’on veut…Ce que l’on veut…

Page 4: Description de documents XML multistructurés au moyen de nœuds retards

Nœuds retardNœuds retard

Le contenu d’un nœud retard est la représentation par Le contenu d’un nœud retard est la représentation par une requête XQuery d’une sous-séquence des enfants une requête XQuery d’une sous-séquence des enfants de son nœud père.de son nœud père.

L’extension d’un nœud retard est la valeur de cette L’extension d’un nœud retard est la valeur de cette expression,expression,

Lors de l’évaluation d’une requête XQuery, un nœud Lors de l’évaluation d’une requête XQuery, un nœud retard est étendu lorsque l’accès aux enfants de son retard est étendu lorsque l’accès aux enfants de son nœud père est nécessaire.nœud père est nécessaire.

Similaires aux nœuds « appel de service » d’Active Similaires aux nœuds « appel de service » d’Active XML.XML.

Page 5: Description de documents XML multistructurés au moyen de nœuds retards

Nœud retard : exempleNœud retard : exemple

$b := <livre>$b := <livre> <titre>XML</titre><titre>XML</titre> <auteur><auteur> <delay expr="$p/personne/*"/><delay expr="$p/personne/*"/> </auteur></auteur> <année>2000</année><année>2000</année> </livre></livre>

<livre><livre><titre>XML</title><titre>XML</title><auteur><auteur><nom>Durand</naom><nom>Durand</naom><ville>Paris</ville><ville>Paris</ville></auteur></auteur><année>2000</année><année>2000</année></livre></livre>

livre

titre auteur année

nœud retard

$b =

extension

$p := <personne>$p := <personne> <nom>Durand</nom><nom>Durand</nom> <ville>Paris</ville><ville>Paris</ville> </personne></personne>

personne

nom ville

$p =

Page 6: Description de documents XML multistructurés au moyen de nœuds retards

GODDAGsGODDAGs

Introduits par Sperberg et Huitfeld pour représenter Introduits par Sperberg et Huitfeld pour représenter les documents SGML ou XML multistructurés. les documents SGML ou XML multistructurés.

Dekhtyar et Iacob ont par la suite élaboré Dekhtyar et Iacob ont par la suite élaboré un compilateur pour traduire un document XML distribué un compilateur pour traduire un document XML distribué

en un GODDAG,en un GODDAG, une extension de XPath pour naviguer dans cette structure.une extension de XPath pour naviguer dans cette structure.

Un document XML distribué (DXD) peut être vu Un document XML distribué (DXD) peut être vu comme un ensemble de documents XML qui comme un ensemble de documents XML qui partagent la même racine et le même contenu textuel.partagent la même racine et le même contenu textuel.

Page 7: Description de documents XML multistructurés au moyen de nœuds retards

Document XML distribué (DXD)Document XML distribué (DXD) Petit LaroussePetit Larousse

……Document.Document. Ecrit servant de preuve, Ecrit servant de preuve,d’information. Objet servant de preuve,d’information. Objet servant de preuve,de témoignage.de témoignage.……

DXDDXD<définition id="7952"><définition id="7952"><phrase>Ecrit servant de preuve, d’information.</phrase><phrase>Ecrit servant de preuve, d’information.</phrase><phrase>Objet servant de preuve, de témoignage.</phrase><phrase>Objet servant de preuve, de témoignage.</phrase></définition></définition>

<définition id="7952"><définition id="7952"><ligne>Ecrit servant de preuve,</ligne><ligne>Ecrit servant de preuve,</ligne><ligne>d’information. Objet servant de preuve,</ligne><ligne>d’information. Objet servant de preuve,</ligne><ligne>de témoignage.</ligne><ligne>de témoignage.</ligne></définition></définition>

Page 8: Description de documents XML multistructurés au moyen de nœuds retards

Représentation d’un DXD par un Représentation d’un DXD par un GODDAGGODDAG

T

phrase

T

phrase

Ecrit servant de preuve, d’information. Objet servant de preuve, de témoignage.

T

ligne

T

ligne

T

ligne

définition id="7952"

définition id="7952"

Page 9: Description de documents XML multistructurés au moyen de nœuds retards

Rédéfinition des axesRédéfinition des axes

Feuilles (L)

d

p1 p2

lig1 lig2 lig3

xdescendant(d) = (p1, p2, lig1, lig2, lig3); xdescendant(p1) = lig1; xdescendant(p1) = lig2

overlapping(p1) = lig2; overlapping(p2) = lig2; overlapping(lig2) = (p1, p2);

Page 10: Description de documents XML multistructurés au moyen de nœuds retards

Interrogation en XPath étenduInterrogation en XPath étendu

Phrases qui s’étendent sur plusieurs lignes ?Phrases qui s’étendent sur plusieurs lignes ?/xdescendant::ligne/overlapping::phrase/xdescendant::ligne/overlapping::phrase

Page 11: Description de documents XML multistructurés au moyen de nœuds retards

Représentation d’un GODDAG Représentation d’un GODDAG en XML + nœuds retarden XML + nœuds retard

declare variable $def := declare variable $def := <définition id="7952"><définition id="7952"><phrase>{delay {$def/Ls/L[position() = 1 to 2]}</phrase><phrase>{delay {$def/Ls/L[position() = 1 to 2]}</phrase><phrase>{delay {$def/Ls/L[position() = 3 to 4]}</phrase><phrase>{delay {$def/Ls/L[position() = 3 to 4]}</phrase><ligne>{delay {$def/Ls/L[1]}</ligne><ligne>{delay {$def/Ls/L[1]}</ligne><ligne>{delay {$def/Ls/L[position() = 2 to 3]}</ligne><ligne>{delay {$def/Ls/L[position() = 2 to 3]}</ligne><ligne>{delay {$def/Ls/L[4]}</ligne><ligne>{delay {$def/Ls/L[4]}</ligne><Ls><Ls><L>Ecrit servant de preuve,</L><L>Ecrit servant de preuve,</L><L>d’information.</L><L>d’information.</L><L>Objet servant de preuve, de</L><L>Objet servant de preuve, de</L><L>témoignage.</L><L>témoignage.</L></Ls></Ls></définition></définition>

Page 12: Description de documents XML multistructurés au moyen de nœuds retards

Prédicats de positionPrédicats de positiondeclare function xdescendant($n1, $n2)declare function xdescendant($n1, $n2) {{ fn:not($n1/descendant::L except $n2/descendant::L)fn:not($n1/descendant::L except $n2/descendant::L) };};

declare function overlapping($n1, $n2)declare function overlapping($n1, $n2) {{ $n1/descendant::L intersect $n2/descendant::L$n1/descendant::L intersect $n2/descendant::L andand $n1/descendant::L except $n2/descendant::L$n1/descendant::L except $n2/descendant::L andand $n2/descendant::L except $n1/descendant::L$n2/descendant::L except $n1/descendant::L };};

Page 13: Description de documents XML multistructurés au moyen de nœuds retards

InterrogationInterrogation Phrases ?Phrases ?

$def//phrase$def//phrase Lignes ?Lignes ?

$def//ligne$def//ligne Phrases qui s’étendent sur plusieurs lignes ?Phrases qui s’étendent sur plusieurs lignes ?

for $p in $def//phrasefor $p in $def//phrasefor $l in $def//lignefor $l in $def//lignewhere overlapping($p, $l)where overlapping($p, $l)return $preturn $p= = <phrase><L>Ecrit servant de preuve,</L><phrase><L>Ecrit servant de preuve,</L> <L>d’information.</L></phrase>,<L>d’information.</L></phrase>,<phrase><phrase><L>témoignage.</L><L>témoignage.</L></phrase></phrase>

Page 14: Description de documents XML multistructurés au moyen de nœuds retards

PerspectivesPerspectives

Déjà étendu au cas de documents Déjà étendu au cas de documents multistructurés dont les arbres constituants multistructurés dont les arbres constituants partagent des sous-arbres.partagent des sous-arbres.