910 likes | 1.08k Views
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.
E N D
Une méthode pour l‘évolution de schémas XMLpréservant la validité des documents Denio Duarte1 Université François-Rabelais de Tours - Campus Blois Laboratoire d’Informatique - LI Bases de données et Traitement des langues naturelles - BdTln 1Boursier du gouvernement brésilien - CAPES
Motivation Document XML Document XML Denio Duarte
Motivation Document XML Document XML Document XML Document XML Document XML Document XML Denio Duarte
Motivation Schéma (DTD) Documents valides Document XML Document XML Document XML Denio Duarte
Motivation Schéma Document XML Document XML Document XML mise à jour Denio Duarte
Motivation Schéma vérifier la validité Document XML Document XML Document XML mise à jour Denio Duarte
Motivation Schéma mise à jour valide ou invalide Document XML Document XML Document XML mise à jour Denio Duarte
Motivation Schéma Document XML Document XML Document XML Faire évoluer le schéma Denio Duarte
Motivation Schéma’ Document XML Document XML Document XML Denio Duarte
Motivation • Est-ce qu’un schéma peut être changé sans : • Modifier les documents auparavant valides ? • Revalider les documents auparavant valides ? Denio Duarte
Motivation • 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) Denio Duarte
Motivation • 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. Denio Duarte
Motivation Schéma Document XML Document XML Document XML mise à jour Denio Duarte
Motivation Schéma Document XML Document XML Document XML’ Document XML mise à jour Denio Duarte
Motivation Schéma Document XML Document XML Document XML’ Document XML mise à jour Denio Duarte
Motivation Schéma’ Document XML Document XML Document XML’ Document XML Denio Duarte
Plan • Approche • GREC • GREC-e • Conclusion • Perspectives Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Documents vus comme des arbres (M. Murata – PODDP’98, A. Bruggeman-Klein et al – TechRep’98, B. Bouchou et al – ICEIS’03) : Universite NomUniv Laboratoire Laboratoire Nom Chercheur Publication data Sujet CId Nom Titre Annee Revue Annee Revue data data data data Nom TArticle Nom TArticle data data data data idAuts data data idAuts data data data Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Lessché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) : Σ = {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 : } Denio Duarte
Publication Sujet Annee Revue Annee Revue data data data Nom TArticle Nom TArticle data idAuts data data idAuts data data data Motivation GREC GREC-e Conclusion Perspectives Approche • L’association d’états. Denio Duarte
Publication Sujet Annee Revue Annee Revue data data data Nom TArticle Nom TArticle data idAuts data data idAuts data data data Motivation GREC GREC-e Conclusion Perspectives Approche • L’association d’états. Publication, <, >, qSujet (qAnnee qRevue+)* qPublication ? qSujet qAnnee qRevue qAnnee qRevue qdata qdata qdata qNom qTArticle qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte
Publication Sujet Annee Revue Annee Revue data data data Nom TArticle Nom TArticle data idAuts data data idAuts data data data Motivation GREC GREC-e Conclusion Perspectives Approche • L’association d’états. Publication, <, >, qSujet (qAnnee qRevue+)* qPublication qSujet qAnnee qRevue qAnnee qRevue L(qSujet (qAnnee qRevue+)* ) ? qSujet qAnnee qRevue qAnnee qRevue qdata qdata qdata qNom qTArticle qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte
Publication Sujet Annee Revue Annee Revue data data data Nom TArticle Nom TArticle data idAuts data data idAuts data data data Motivation GREC GREC-e Conclusion Perspectives Approche • L’association d’états. qPublication qSujet qAnnee qRevue qAnnee qRevue qdata qdata qdata qNom qTArticle qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • É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) Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • 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. Denio Duarte
Publication Sujet Annee Revue Annee Revue data data data Nom TArticle Nom TArticle data idAuts data data idAuts data data data Motivation GREC GREC-e Conclusion Perspectives Approche Conference Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche qSujet qAnnee qRevue qAnnee qRevue qConferenceL(qSujet (qAnnee qRevue+)* ) ? qSujet qAnnee qRevue qAnnee qRevue qConference qdata qdata qdata qNom qTArticle qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata • Le système utilise l’automate d’arbre pour trouver les informations nécessaires à la modification du schéma. Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • 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 • wL(qSujet (qAnnee qRevue+)* ) • w’L(qSujet (qAnnee qRevue+)* ) 0 1 2 3 4 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • 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 # qAnnee qSujet qAnnee qRevue # 1 2 3 4 0 qRevue Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • 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 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Homogène : # qAnnee qSujet qAnnee qRevue # 1 2 3 4 0 qRevue 1 2 3 4 0 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Orbites x Sous-expressions étoilées: • qSujet (qAnnee qRevue+)*# 1 (2 3+)*4 1 2 3 4 0 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Hamac : 1 2 3 4 0 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Réduction (exploitée par notre méthode) : • D’abord : calculer et supprimer les orbites maximales : • H={} (hiérarchie des orbites maximales) 1 2 3 4 0 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche H={{2,3}} 1 2 3 4 0 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche H={{3},{2,3}} Hiérarchie des orbites 1 2 3 4 0 Graphe de Glushkov sans orbite Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche • Ensuite appliquer trois règles de réduction (plus décoration) : • R1 : Concaténation • R2 : Union • R3 : Optionalité x y xy y x|y x x x? Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche décoration + 0 - H={{3},{2,3}} 0 1 2 3 4 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche décoration + 0 - H={{3},{2,3}} 0 1 2 3 4 0 1 2 3+ 4 1 - H={{2,3}} R1 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche décoration + 0 - H={{3},{2,3}} 0 1 2 3 4 0 1 2 3+ 4 1 - H={{2,3}} R1 décoration + H={{2,3}} 2 - 0 1 (2 3+)+ 4 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche décoration + 0 - H={{3},{2,3}} 0 1 2 3 4 0 1 2 3+ 4 1 - H={{2,3}} R1 décoration + H={{2,3}} 2 - 0 1 (2 3+)+ 4 R3 H={} 0 1 (2 3+)+ 4 3 - Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche décoration + 0 - H={{3},{2,3}} 0 1 2 3 4 0 1 2 3+ 4 1 - H={{2,3}} R1 décoration + H={{2,3}} 2 - 0 1 (2 3+)+ 4 R3 H={} 0 1 (2 3+)+ 4 3 - R1 4 - 0 1 (2 3+)* 4 R1 R1 Résultat: 0 1 (2 3+)* 4 5 - 0 1 (2 3+)* 4 Denio Duarte
Motivation GREC GREC-e Conclusion Perspectives Approche 0 - H={{3},{2,3}} 0 1 2 3 4 0 1 2 3+ 4 1 - H={{2,3}} R1 H={{2,3}} 2 - 0 1 (2 3+)+ 4 R3 H={} 0 1 (2 3+)+ 4 3 - R1 4 - 0 1 (2 3+)* 4 Résultat: R1 0 1 (2 3+)* 4 R1 5 - 0 1 (2 3+)* 4 1 (2 3+)* qSujet (qAnnee qRevue+)* Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC (Generate Regular Expression Choices) • 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. Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • L’algorithme GREC : y y * y|s GREC x w x s w x w R2 z z z R3 * GREC y|z y|z s?(y|z) x w x w x w s s R1 GREC * (y|z)? (y|z)? (y|z)?s ? x w x w x w Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference# 3 1 2 4 0 Prochain état à exécuter si le nouveau symbole n’existait pas Dernier état atteint avant l’échec de l’automate Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference# 3 1 2 4 0 snr snl snew Un nouveau nœud qui représente qConference : <snl, snr , snew> < 3, 4, 5> Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • Entrée de l’algorithme GREC : G: 0 1 2 3 4 H: {{3},{2,3}} Triplet: < snl : 3, snr : 4, snew : 5> Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • Exécution de GREC : Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit H={{3},{2,3}} 0 1 2 3 4 Denio Duarte
Motivation Approche GREC-e Conclusion Perspectives GREC • Exécution de GREC(rappel < snl : 3, snr : 4, snew : 5> ) : Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit H={{3},{2,3}} 0 1 2 3 4 snew Condition: x snl x snr x Nouveaux graphes: snew x Denio Duarte