une m é thode pour l‘ é volution de sch é mas xml pr é servant la validit é des documents
DESCRIPTION
Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é des documents. Denio Duarte 1. Université François-Rabelais de Tours - Campus Blois Laboratoire d’Informatique - LI Bases de données et Traitement des langues naturelles - BdTln. - PowerPoint PPT PresentationTRANSCRIPT
1
Une méthode pour l‘évolution de schémas XML
préservant la validité des documents
Denio Duarte1
1Boursier du gouvernement brésilien - CAPES
Université François-Rabelais de Tours - Campus Blois
Laboratoire d’Informatique - LI
Bases de données et Traitement des langues naturelles - BdTln
Denio Duarte 2
Document XML
Document XML
Motivation
Denio Duarte 3
Document XML
Document XML
Document XML
Document XML
Document XML Document
XML
Motivation
Denio Duarte 4
Document XML
Document XML
Document XML
Schéma(DTD)Documents valides
Motivation
Denio Duarte 5
Document XML
Document XML
Document XML
Schéma
mise à jour
Motivation
Denio Duarte 6
Document XML
Document XML
Document XML
Schéma
mise à jour
vérifier la validité
Motivation
Denio Duarte 7
Document XML
Document XML
Document XML
Schéma
mise à jour
mise à jour valide ou invalide
Motivation
Denio Duarte 8
Document XML
Document XML
Document XML
Schéma
Faire évoluer le schéma
Motivation
Denio Duarte 9
Document XML
Document XML
Document XML
Schéma’
Motivation
Denio Duarte 10
• Est-ce qu’un schéma peut être changé sans :
• Modifier les documents auparavant valides ?
• Revalider les documents auparavant valides ?
Motivation
Denio Duarte 11
• Vérification de typage et inférence de type
• V. Vianu (PODS’03) et D. Suciu (SIGMOD’02)
• Adaptation des documents aux schémas• E. Kuikka et al (DocEng’02) et H. Su (WIDM’04)
• Primitives de mise à jour de schémas
• H. Su et al (SIGMOD’01) et L. Al-Jadir (OOIS’03)
• Apprentissage des automates
• L.G. Valiant (CACM’84) et E.M. Gold (Inf. and Control’67)
Motivation
Denio Duarte 12
• But :
Proposer une méthode pour aider les
administrateurs dans la tâche
d’évolution des schémas XML qui
préserve la validité des documents
sans les modifier.
Motivation
Denio Duarte 13
Document XML
Document XML
Document XML
Schéma
mise à jour
Motivation
Denio Duarte 14
Document XML
Document XML
Document XML
Schéma
mise à jour
Document XML’
Motivation
Denio Duarte 15
Document XML
Document XML
Document XML
Schéma
mise à jour
Document XML’
Motivation
Denio Duarte 16
Document XML
Document XML
Document XML
Schéma’
Document XML’
Motivation
Denio Duarte 17
• Approche
• GREC
• GREC-e
• Conclusion
• Perspectives
Plan
Denio Duarte 18
• Documents vus comme des arbres (M. Murata – PODDP’98,
A. Bruggeman-Klein et al – TechRep’98, B. Bouchou et al – ICEIS’03) :
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Universite
Laboratoire Laboratoire
Chercheur
CId
data
Nom
Nom
data
Titre
data
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
data
NomUniv
data
Denio Duarte 19
Σ = {Universite, Chercheur, Publication, Revue, ....}
Q = {qUniversite, qChercheur, qPublication , qRevue ,.....}
Qf = {qUniversite }
Δ = { Universite, < {qNom }, >, qLaboratoire+ qUniversite
Laboratoire, <, >, qNom qChercheur+ qPublication+ qLaboratoire
Chercheur, < {qCId }, >, qNom qTitre qChercheur
Publication, <, >, qSujet (qAnnee qRevue+)* qPublication
:
}
• Les schémas vus comme des automates d’arbres ( A. Bruggeman-Klein et al – Inf. and Comp.’98, B. Chidloskii - ADL’00,
B. Bouchou et al – ICEIS’03) :
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 20
• L’association d’états.
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 21
• L’association d’états.
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
?
qSujet
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
Publication, <, >, qSujet (qAnnee qRevue+)* qPublication
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 22
• L’association d’états.
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
?
qSujet
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qSujet qAnnee qRevue qAnnee qRevue L(qSujet (qAnnee qRevue+)* )
Publication, <, >, qSujet (qAnnee qRevue+)* qPublication
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 23
• L’association d’états.
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
qPublication
qSujet
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 24
• Évolution du schéma (expressions régulières) :
• Connaître la syntaxe (parenthèses, ?, *, +, |)
• Connaître la sémantique
• Approches:
• Changer manuellement (revalidation, erreurs)
• Changer automatiquement (préserve la consistance)
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 25
• Automatique :
• L’administrateur modifie un document pour expliciter l’évolution du schéma souhaitée.
• L’évolution est transparente pour les autres applications qui utilisent le schéma.
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 26
Conference
Publication
Sujet
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Annee
data
Revue
Nom
data
TArticle
idAuts data
data
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 27
?
qSujet
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qAnnee
qdata
qRevue
qNom
qdata
qTArticle
qidAuts qdata
qdata
qSujet qAnnee qRevue qAnnee qRevue qConference L(qSujet (qAnnee qRevue+)* )
qConference
Motivation
Approche
GREC GREC-e Conclusion Perspectives
• Le système utilise l’automate d’arbre pour trouver les informations nécessaires à la modification du schéma.
Denio Duarte 28
• La mise à jour : insert(5,Publication,Conference) (B. Bouchou et al - DBLP’03)
• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue
• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference
w L(qSujet (qAnnee qRevue+)* )
w’ L(qSujet (qAnnee qRevue+)* )
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 29
• Expression régulière Automate d’états finis
• Algorithme de Glushkov Automate de Glushkov
• L’expression régulière est indicée : qSujet (qAnnee qRevue+)* qSujet1
(qAnnee2 qRevue3
+)* ou 1 (2 3+)*
• Un seul état initial, chaque position a un seul état et, si on ajoute une marque de fin (e.g., #), un seul état final :
qSujet (qAnnee qRevue+)*# ou 1 (2 3+)* 4
0 1 2 3qSujet qAnnee
qAnnee
qRevue
qRevue
4
#
#
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 30
• Les automates de Glushkov ont des propriétés que nous exploitons dans notre méthode (P. Caron et D. Ziadi - TCS’00) :
• Homogène : un état est toujours atteint par un même symbole
• Les orbites : sous-expressions étoilées de l’expression régulière
• Hamac : il existe (i) un état qui atteint tous les autres états et (ii) un état dont tous les autres états l’atteint (grâce à la marque de fin #)
• Réduction : Automate Expression régulière d’origine
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 31
• Homogène :
0 1 2 3qSujet qAnnee
qAnnee
qRevue
qRevue
4
#
#
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 32
• Orbites x Sous-expressions étoilées :
qSujet (qAnnee qRevue+)*# 1 (2 3+)*4
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 33
• Hamac :
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 34
• Réduction (exploitée par notre méthode) :
•D’abord : calculer et supprimer les orbites maximales :
• H={} (hiérarchie des orbites maximales)
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 35
H={{2,3}}
0 1 2 3 4
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 36
0 1 2 3 4
Graphe de Glushkov sans orbite
Hiérarchie des orbites
Motivation
Approche
GREC GREC-e Conclusion Perspectives
H={{3},{2,3}}
Denio Duarte 37
• Ensuite appliquer trois règles de réduction (plus décoration) :
• R1 : Concaténation
• R2 : Union
• R3 : Optionalité
x y xy
x
y
x|y
x x?
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 38
1 2 3 40 H={{3},{2,3}}0 -
décoration +
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 39
1 2 3 40
1 2 3+ 40
H={{3},{2,3}}
H={{2,3}}R1
0 -
1 -
décoration +
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 40
1 2 3 40
1 2 3+ 40
H={{3},{2,3}}
1 (2 3+)+ 40
H={{2,3}}R1
H={{2,3}}
0 -
1 -
2 -
décoration +
décoration +
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 41
1 2 3 40
1 2 3+ 40
H={{3},{2,3}}
1 (2 3+)+ 40
H={{2,3}}R1
H={{2,3}}
1 (2 3+)+ 40 H={}R3
0 -
1 -
2 -
3 -
décoration +
décoration +
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 42
1 2 3 40
1 2 3+ 40
H={{3},{2,3}}
1 (2 3+)+ 40
H={{2,3}}R1
H={{2,3}}
1 (2 3+)+ 40 H={}R3
1 (2 3+)* 40
0 1 (2 3+)* 4
R1
0 1 (2 3+)* 4
0 -
1 -
2 -
3 -
4 -
5 - Résultat:R1R1
décoration +
décoration +
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 43
1 2 3 40
1 2 3+ 40
H={{3},{2,3}}
1 (2 3+)+ 40
H={{2,3}}R1
H={{2,3}}
1 (2 3+)+ 40 H={}R3
1 (2 3+)* 40
0 1 (2 3+)* 4
R1
0 1 (2 3+)* 4
0 -
1 -
2 -
3 -
4 -
5 -Résultat:R1
R1
1 (2 3+)* qSujet (qAnnee qRevue+)*
Motivation
Approche
GREC GREC-e Conclusion Perspectives
Denio Duarte 44
• Un document mis à jour sert comme guide pour
l’évolution du schéma.
• L’automate qui accepte le langage de l’expression
régulière d’origine est modifié
• Le processus de réduction de l’automate de Glushkov
est la base de l’approche.
• Plusieurs candidats sont générés et l’administrateur
choisit celui qui lui convient le plus.
Motivation Approche
GREC (Generate Regular Expression Choices)
GREC-e Conclusion Perspectives
Denio Duarte 45
• L’algorithme GREC :
Motivation Approche
GREC
GREC-e Conclusion Perspectives
x
y
z
w
R2
x
y
z
ws
x y|z w
R3
x y|z w
s
x (y|z)? w
R1
x (y|z)? w
s
x
y|s
z
w
x s?(y|z) w
x (y|z)?s ? w
GREC
GREC
GREC
*
*
*
Denio Duarte 46
• Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference#
0 1 2 3 4
Dernier état atteint avant l’échec de l’automate
Prochain état à exécuter si le nouveau symbole
n’existait pas
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 47
• Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference#
0 1 2 3 4
snl
snr
Un nouveau nœud qui représente qConference : snew
<snl, snr , snew> < 3, 4 , 5>
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 48
• Entrée de l’algorithme GREC :
1 2 3 40G:
H: {{3},{2,3}}
Triplet: < snl : 3, snr : 4 , snew : 5>
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 49
• Exécution de GREC :
1 2 3 40 H={{3},{2,3}}
Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 50
• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :
1 2 3 40 H={{3},{2,3}}
Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit
x
snl xsnr
x
x
Condition:snew
snew
Nouveaux graphes:
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 51
• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :
1 2 3 40 H={{3},{2,3}}
Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit
x
snl xsnr
x
x
Condition:snew
snew
Nouveaux graphes:
La condition est vérifiée: H’={{3,5},{2,3,5}}
1 2 3 40
5
1 2 3 40
50 1 (2 (3 5?)+)*40 1 (2 (3 5*)+)*4
0 1 (2 (3|5)+)*4
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 52
• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :Pas 3: décorer le nœud 2 3
H={{2,3}}1 2 3+ 40
x
snl xsnr
x
x
Condition:snew
snew
Nouveaux graphes:
Nouveaux graphes
1 2 3+ 40
5
1 2 3+ 40
5
0 1 (2 3+ 5?)*40 1 (2 3+ 5*)*4
0 1 (2 3+ | 5)*4
Motivation Approche
GREC
GREC-e Conclusion Perspectives
H’={{2,3,5}}
Denio Duarte 53
• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :Pas 5: Appliquer R1 sur les nœuds 2 3 et 4
H={}1 (2 3+)* 40
x
snl x y = snr
Condition:
y Nouveau graphe: x y
snew
Nouveau graphe :
1 (2 3+)* 40
50 1 (2 3+)*5?40 1 (2 3+)*5*4
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 54
• Le résultat de l’exécution de GREC :qSujet(qAnnee (qRevue
qConference?) +)*
qSujet (qAnnee (qRevue qConference*) +)* Dans qRevue+
qSujet (qAnnee (qRevue|qConference)+)*
qSujet (qAnnee qRevue+ qConference?)*
qSujet (qAnnee qRevue+ qConference*)* Dans (qAnnee qRevue
+ )*
qSujet (qAnnee qRevue+ |qConference)*
qSujet (qAnneeqRevue+)*qConference?
qSujet (qAnnee qRevue+)*qConference*
En dehors des sous-expressions étoilées
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 55
• L’utilisateur peut choisir le meilleur candidat selon sa connaissance de l’application. Ex :
La règle de transition d’origine : Publication, <, >, qSujet (qAnnee qRevue+)* qPublication
Le candidat choisit : qSujet (qAnnee (qRevue|qConference)+)*
La nouvelle règle de transition : Publication, <, >, qSujet (qAnnee (qRevue|qConference)+)*
qPublication
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 56
• Objectifs :
• La validité des documents est respectée sans les modifier et le
document mis à jour est valide :
L(E) {w’} L(E’)
• Distance entre E et E’ :
• Pos(E) et Pos (E’) : ensemble de positions de E et E’
• Distance entre E et E’ : |Pos(E)|-|Pos(E’)|
D(qSujet(qAnnee qRevue+)* , qSujet (qAnnee (qRevue|qConference)+)*) = |{1,2,3}|-|
{1,2,3,4}|=|-1|=1
• Permet d’éviter qSujet(qAnnee qRevue+)* (qAnnee (qRevue
qConference?) +)*
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 57
function GREC(Gwo, H, snl,snr, snew) { setRegExp:=;
if (Gwo n'a qu'un noeud) {
return } else { Ri := ChooseRule(Gwo,H);
for each (Gnew,Hnew):=LookForGraphAlternative(Gwo,H,Ri,snl,snr,snew) do
setRegExp=setRegExp {GraphToRegExp(Gnew, Hnew)};
(Gwo',H’):= ApplyRule(Ri,Gwo,H);
setRegExp=setRegExp GREC(Gwo', H',snl,snr,snew);} return setRegExp }
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Denio Duarte 58
Document XML
Document XML
Document XML
Schéma
mise à jour
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Document XML’
GREC
Denio Duarte 59
Document XML
Document XML
Document XML
Schéma
Motivation Approche
GREC
GREC-e Conclusion Perspectives
GREC
Candidats
Denio Duarte 60
Document XML
Document XML
Document XML
Schéma’
Motivation Approche
GREC
GREC-e Conclusion Perspectives
Document XML’
Denio Duarte 61
• Et si le mot a plusieurs positions mises à jour ?
• w= qSujet qAnnee qRevue qAnnee qRevue#
• w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference #
• Construire plusieurs triplets <snl, snr, snew>
• Trouver les positions qui provoquent l’échec de l’automate
• Trouver un rapport entre ces positions.
• Algorithme GREC-e
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4 5
Denio Duarte 62
• Séquence de mises à jour sur des fils d’un même
nœud père d’un arbre (document) XML :
• insert(5,Conference), insert(5,Brevet), insert(5,Conference).
• Basé sur la séquence de mises à jour, construire un
tableau avec les correspondance entre le mot d’origine
et le mot résultat de la mise à jour.
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 63
• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue#
• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference#
old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
qConference qBrevet qConference
# #
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 64
• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue#
• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference#
old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
qConference qBrevet qConference
# #
Une ligne w[k:m] w[i:j] : rien à faireUne ligne w[i:j] : les symboles w[i:j] ont été insérés
Une ligne w[i:j] : les symboles w[i:j] ont été supprimés
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 65
old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
qConference qBrevet qConference
# #
Colonne old et new : on avance les états dans l’automate
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 66
old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
qConference qBrevet qConference
# #
Colonne old et new : on avance les états dans l’automate
Colonne old = : on cherche si les symboles insérés provoquent le échec de l’automate
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 67
old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
qConference qBrevet qConference
# #
Colonne new = : on cherche si les symboles supprimés sont obligatoires
Colonne old et new : on avance les états dans l’automate
Colonne old = : on cherche si les symboles insérés provoquent le échec de l’automate
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 68
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
5
Denio Duarte 69
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
5
# #
<3,4,5>
Denio Duarte 70
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
6
Denio Duarte 71
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
6
# #
<3,4,6> et un couple (5,6)
Denio Duarte 72
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
7
Denio Duarte 73
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
7
<3,4,7> n’est pas proposé car <3,4,5> a été déjà proposé
Denio Duarte 74
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
Cependant, la restriction (6,5) est construite
Denio Duarte 75
• Le tableau est utilisé pour trouver les triplets et le
rapport entre les positions :
Motivation Approche GREC
GREC-e
Conclusion Perspectives
0 1 2 3 4
old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue
0 1 2 3 4
qConference qBrevet qConference
# #
Il n’y a plus de ligne avec w[i:j] ou w[i:j]
Triplets : <3,4,5> et <3,4,6> Restrictions : (5,6) et (6,5)
Denio Duarte 76
• Entrée de l’algorithme GREC-e :
1 2 3 40G:
H: {{3},{2,3}}
Triplets: <<3,4,5>,<3,4,6>>
Ensemble de paires: {(5, 6), (6, 5)}
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 77
• Exécution de GREC-e :
1 2 3 40 H={{3},{2,3}}
Pas 1: Décoration du noeud 3
Les conditions de construction des nouveaux graphes sont vérifiées pour les deux triplets: <3,4,5> et <3,4,6>.
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 78
• Exécution de GREC-e : {(5, 6) , (6, 5)}
1 2 3 40
5
6
1 2 3 40
5
6
1 2 3 40
5 6
Voir GREC
H’={{3,5,6},{2,3,5,6}}
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 79
• Exécution de GREC-e : {(5, 6) , (6, 5)}
1 2 3 40
5
6
1 2 3 40
5
6
1 2 3 40
5 6
0 1 (2 (3 (5|6)?)+)*4
0 1 (2 (3 (5|6)*)+)*4
0 1 (2 (3 5? 6?)+)*4
0 1 (2 (3 5* 6*)+)*4
0 1 (2 (3 (5 6)?)+)*4
0 1 (2 (3 (5 6)*)+)*4
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 80
• Exécution de GREC-e : {(5,6) , (6, 5)}
1 2 3 40
5
6
1 2 3 40
5
6
1 2 3 40
5 6
0 1 (2 (3 (5|6)?)+)*4
0 1 (2 (3 (5|6)*)+)*4
0 1 (2 (3 5? 6?)+)*4
0 1 (2 (3 5* 6*)+)*4
0 1 (2 (3 (5 6)?)+)*4
0 1 (2 (3 (5 6)*)+)*4
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 81
• Exécution de GREC-e : {(5, 6) , (6, 5)}
1 2 3 40
5
6
1 2 3 40
5 6
H’={{3,5,6},{2,3,5,6}}
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 82
• Exécution de GREC-e : {(5, 6) , (6, 5)}
1 2 3 40
5 0 1 (2 (3|5|6)+)*4
0 1 (2 (3|(5 6)?)+)*4
0 1 (2 (3|(5 6)*)+)*46
1 2 3 40
5 6
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 83
• Exécution de GREC-e : {(5, 6) , (6, 5)}
1 2 3 40
5 0 1 (2 (3|5|6)+)*4
0 1 (2 (3|(5 6)?)+)*4
0 1 (2 (3|(5 6)*)+)*46
1 2 3 40
5 6
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 84
• Le résultat de l’exécution de GREC-e (avec Revue) :
a) 0 1 (2 (3 (5|6)*)+)*4 qSujet(qAnnee (qRevue ( qConference | qBrevet)*) +)*
b) 0 1 (2 (3 (5 6)*)+)*4 qSujet (qAnnee (qRevue ( qConference qBrevet)*) +)*
c) 0 1 (2 (3|5|6)+)*4 qSujet (qAnnee (qRevue|qConference | qBrevet)+)*
d) 0 1 (2 (3|(5 6)*)+)*4 qSujet (qAnnee (qRevue|( qConference qBrevet)*)+)*
Voir GREC
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 85
• L’utilisateur choisit le candidat. Ex :
La règle de transition d’origine :Publication, <, >, qSujet (qAnnee qRevue+)* qPublication
Le candidat choisit :
qSujet (qAnnee (qRevue|qConference | qBrevet)+)*
La nouvelle règle de transition : Publication, <, >, qSujet (qAnnee (qRevue|qConference | qBrevet)+)* qPublication
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 86
• Les propriétés de GREC-e sont les mêmes de GREC :
• L(E) {w’} L(E’)
• Un nouvel ensemble de documents est accepté.
• Distance entre E et E’ est égale au nombre de triplets
trouvés
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 87
function GREC-e(Gwo, H, RTState, STrans) { setRegExp:=;
if (RTState est vide) { return (setRegExp=setRegExp {GraphToRegExp(Gnew, Hnew)}); } if (Gwo n'a qu'un noeud) {return }
Ri := ChooseRule(Gwo,H); for each (Gnew,Hnew,RTStates’) := LookForGraphAlternative-e(Gwo,H,Ri,RTStates,STrans) do setRegExp=setRegExp GREC-e(Gnew,Hnew,RTStates’,STrans);
(Gwo',H’):= ApplyRule(Ri,Gwo,H);
setRegExp=setRegExp GREC(Gwo', H', RTStates,STrans);
return setRegExp }
Motivation Approche GREC
GREC-e
Conclusion Perspectives
Denio Duarte 88
• Méthode d’aide à l’utilisateur pour l’évolution de schémas XML qui préserve la validité des documents sans les modifier.
• Fondée sur un document exemple (mis à jour)
• Plusieurs candidats sont proposés en essayant de garder la structure de l’expression régulière d’origine.
Motivation Approche GREC GREC-e
Conclusion
Perspectives
Denio Duarte 89
• Généraliser la méthode pour qu'elle prenne en considération différents mots appartenant à différents noeuds de l'arbre ayant la même étiquette :
– Plusieurs paires (w,w’)
• Proposer une notion de distance plus précise
• Appliquer la méthode dans l'ensemble du schéma (non plus une seule expression régulière)
Motivation Approche GREC GREC-e Conclusion
Perspectives
Denio Duarte 90
Merci