1 / 44

Un modèle de vues pour l’intégration de sources de données XML : VIMIX

Un modèle de vues pour l’intégration de sources de données XML : VIMIX. Xavier Baril, baril@lirmm.fr LIRMM – UMR 5506 CNRS/UM2 Directrice de thèse : Zohra Bellahsène Soutenance de thèse, le 11 décembre 2003. 1°/ Transformation en XML. 3°/ Interrogation des données.

thy
Download Presentation

Un modèle de vues pour l’intégration de sources de données XML : VIMIX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Un modèle de vues pour l’intégration de sources de données XML : VIMIX Xavier Baril, baril@lirmm.fr LIRMM – UMR 5506 CNRS/UM2 Directrice de thèse : Zohra Bellahsène Soutenance de thèse, le 11 décembre 2003

  2. 1°/ Transformation en XML 3°/ Interrogation des données 2°/ Processus d’intégration BDR XML Schéma médiateur XML BDOO XML HTML XML source mediation application Architecture DARPA I3 [Widerhold] Vue d’ensemble Contexte de nos travaux

  3. Plan : Introduction • Introduction • Modèle de vues • XML • Intérêt d’un modèle de vues pour XML • Modèle de vues pour XML • Intégration de données • VIMIX • Mécanisme d’aide • Autres contributions • Conclusion et perspectives

  4. Objectif : fournir différentes représentations d’une BD Vue = triplet : Domaine Schéma Définition (=requête) Intérêts : Restructuration / Personnalisation Confidentialité Intégration… Exemple de vue SQL LivresAuteurs(auteur, livre) Schéma Create view LivresAuteurs as Select nomA as auteur, titreL as livre From A, AL, L Where A.codeA = AL.codeA and AL.codeL = L.codeL Définition Domaine A (codeA, nomA, …) AL(codeA, codeL) L (codeL, titreL, …) source source source Introduction >> Vues Préliminaire : la notion de vue

  5. [ISI, 2001] Introduction >> XML XML et les Bases de Données • Standard W3C - représentation et échange de données • Langage de balisage • Séparation : • Structure (balises des éléments, noms des attributs) • Contenu (données textuelles) • Présentation (feuilles de style – XSL) • Flexibilité permettant de représenter des données semistructurées : • Structure irrégulière • Structure auto décrite

  6. Introduction >> Vues / XML Intérêts d’un modèle de vues pour XML • [Abiteboul, PODS, 1999] • De nombreuses sources de données disponibles • Web XML • Applications qui exportent leurs données en XML • Comme dans un SGBD classique : restructuration… • Dans le contexte des données semistructurées :Ajout de structure • Présentation des données (XSLT) • Optimisation de requêtes • Développement d’applications

  7. Plan : Modèle de vues • Introduction • Modèle de vues pour XML • Principes • Modèle de données • Spécification de vue • Intégration de données • VIMIX • Mécanisme d’aide • Autres contributions • Conclusion et perspectives

  8. [OOIS, 2000] Modèle de vues >> Principes Principes du modèle • Fondements • Un modèle de données - graphe • Un langage de requêtes - pattern-matching • Propriétés • Fermeture du langage : XML XML • Restructuration : nouveaux éléments • Union • Jointure • Elimination des redondances • Niveaux de regroupement, fonctions d’agrégation • Inférence de schéma : Vue DTD

  9. Caractéristiques Notion d’ordre Partage d’éléments Graphe de données Trois types de nœuds Element Attribut Text Deux types d’arcs Composition Reference Données textuelles (pas XML-Schema) bibliographie auteur publication auteur … … … id nom prenom auteurs titre xb Baril … Xavier xb zb Modèle de vues >> Modèle de données Un modèle de données pour XML <bibliographie> <auteur id=‘xb’> <nom>Baril</nom> <prenom>Xavier</prenom> … </auteur> … <publication auteurs=‘xb zb’> <titre>…</titre> … </publication> … </bibliographie> element attribut text

  10. Test isAttribute() isElement() isText() Manipulation de chaînes text() r-text() Navigation children() descendants() children-comp() descendants-comp() bibliographie auteur publication auteur … … … id nom prenom auteurs titre xb Baril … Xavier xb zb Modèle de vues >> Modèle de données >> Opérations Opérations sur le graphe de données text() = ‘’ r-text() = ‘xb Baril Xavier’

  11. Modèle de vues >> Spécification Spécification d’une vue • Repose sur un langage de requête proche de XML-QL DTD source XML vue XML 1 - Spécification de Motifs 2 - Restructurations 3 - Spécification du résultat source XML • Création de nouveaux éléments • Regroupement • Agrégation • Pattern-matching • Données des sources à extraire • Union • Jointure

  12. Plan : Intégration • Introduction • Modèle de vues pour XML • Intégration de données • GAV et LAV • Apports d’XML • Quelques systèmes • Notre proposition : VIMIX • VIMIX • Mécanisme d’aide • Autres contributions • Conclusion et perspectives

  13. Objectif : fournir une vue unifiée de données provenant de sources : multiples autonomes hétérogènes hétérogénéité structurelle hétérogénéité sémantique structurées ou semistructurées Schéma médiateur (vue unifiée des sources) Processus d’intégration GAV – Global as View LAV – Local as View ? source source source Intégration Système d’intégration de données

  14. Intégration >> GAV Approche GAV (Global As View) • Schéma médiateur défini comme un ensemble de vues sur les sources Comedie(titre, annee) Acteurs(nom, titre) Schéma mediateur Comedie(x,y) :- Film(x,y,’comedie’)  Movie(-,x,y,’comedy’) Acteurs(x) :- Joue(y,x)  Film(y,-,’comedie)  Plays(y,x)  Movie(y,-,-,’comedy’) est défini comme Film(titre, annee, genre) Joue(titre, nom) Movie(mid, title, year, type) Plays(mid, actor) S1 S2

  15. Intégration >> LAV Approche LAV (Local As View) • Schéma médiateur défini à priori. Les sources sont définies comme des vues sur le schéma médiateur. Comedie(titre, annee, id) Acteur(nom, titre) Schéma mediateur Film(x,y,z) :- Comedie(x,y,null)  z=’comedie’ Movie(x,y,z,w) :- Comedie(y,z,x)  w=’comedy’ Joue(x,y) :- Comedie(x,-,-)  Acteurs(y,x) Plays(x,y) :- Comedie(z,-,x)  Acteurs(y,z) est défini comme Film(titre, annee, genre) Joue(titre, nom) Movie(mid, title, year, type) Plays(mid, actor) S1 S2

  16. Intégration >> Comparaion GAV/LAV Comparaison GAV/LAV

  17. Intégration >> XML Apports d’ XML pour l’intégration • Permet de représenter la plupart des concepts des modèles de données connus • Modèle hiérarchique : structure arborescente • Modèle relationnel • Relation  Element XML • Attribut  Attribut CDATA • Clé primaire / Clé étrangère  Attribut ID / IDREF(S), hyperliens Plus récemment : XML Schéma • Typage des données élémentaires • Types complexes • Standard accepté et répandu

  18. Intégration >> Quelques systèmes Systèmes d’intégration XML • Beaucoup de travaux ces dernières années • Xylème • Entrepôt de données XML • Pas de restructuration des données stockées • MIX (langage de vues XMAS) • Approche « virtuelle » • YAT • Optimisation de requêtes • Positionnement de nos travaux • Langage de définition de vues • Regroupement • Opérations d’agrégation • Stockage des vues

  19. SP V1 U SP V2 U SP J SP Intégration >> VIMIX Construction de vues VIMIX Spécification des données à extraire Restructurations :Union et jointure Spécification des vues Sources Graphe de mappings Schéma médiateur XML XML XML

  20. Plan : VIMIX • Introduction • Modèle de vues pour XML • Intégration de données • VIMIX • Motif sur une source • Union • Jointure • Résultat d’une vue • Mécanisme d’aide • Autres contributions • Conclusion et perspectives

  21. Motif sur une source Un nom (identifiant) L’adresse de la source Un axe de recherche décrivant la forme à rechercher [Conditions de filtrage] Pattern-matching Décrire une forme Fonction de navigation Description du nœud Définir des variables children Exp : auteur Type: element children Exp: nom Type: element Bindto: nom Exp: prenom Type: element Bindto: prenom VIMIX >> Motifs sur les sources Données des sources à extraire Nœud contextuel Nœuds candidats Nœuds résultat Nœuds contextuels … Nom et prénom des auteurs

  22. bibliographie auteur publication auteur … … … id nom prenom auteurs titre xb Baril … Xavier xb zb Spécification VIMIX >> Motifs sur les sources Représentation logique • Motif  table relationnelle • Variables du motif Colonnes • Instanciation des données de la source  Lignes Evaluation du motif « nom et prénom » …

  23. Union de plusieurs sources Un nom (identifiant) La liste des sources [Conditions de filtrage] [Restrictions (élimination de doublons)] Représentation logique : table Exemple : tous les auteurs F_Auteurs SP_Aut1, SP_Aut2, … Priorité : SP_Aut1, variable : nom Spécification VIMIX >> Union Opération d’union SP_Aut1 (nom, prenom) F_Auteurs (nom, prenom, age) SP_Aut2 (nom, prenom, age) …

  24. Jointure de deux sources Un nom (identifiant) Source de gauche Variable de gauche Source de droite Variable de droite Représentation logique : table Exemple : auteurs et titres J_Auteurs_Livres F_Auteurs nom SP_livres auteur Spécification VIMIX >> Jointure Opération de jointure F_Auteurs (nom, prenom, age) J_Auteurs_Livres (nom, prenom, age) SP_Livres (titre, auteur, prix)

  25. Graphe de mappings SP U SP J nom prenom nom prenom age nom … livre auteur SP … … … … … … … … union jointure nom prenom age livre auteur nom … … … … … … … … Spécification VIMIX >> Graphe de mappings Graphe de mappings

  26. Description par un motif Structure du résultat Données du résultat Source de données Motif sur une source Union Jointure Restructurations Création de nouveaux éléments Niveaux de regroupement Fonctions d’agrégation Arbre décrivant le motif Nœuds element Nœuds attributs Nœuds expression Fonction textuelles Conversions de types Fonction d’agrégation Niveaux de regroupement :group-by Ordre du résultat :order-by VIMIX >> Résultat Spécification du résultat

  27. Nœuds attributs Nœuds éléments Nœuds expressions VIMIX >> Résultat >> Exemple Exemple (spécification) v_auteur - pour chaque auteur : nom, nombre de livres, prix moyen et titres source (Motif source / union / jointure) Motif auteur livre nom nb-livres prix-moyen text(auteur) count() avg(float(prix)) text(titre) auteur group-by auteur order-by

  28. VIMIX >> Résultat >> Exemple Exemple (instance du résultat) V_auteur auteur auteur nom nb-livres prix-moyen livre livre nom nb-livres prix-moyen livre 1 2 50 45 Web&Data Durand XML Dupond Database

  29. Plan : Aide • Introduction • Modèle de vues pour XML • Intégration de données • VIMIX • Mécanisme d’aide • Basé sur DTD • Basé sur Dataguide • Autres contributions • Conclusion et perspectives

  30. Difficulté : construire les motifs sur les sources(connaître la structure des données sources) Mécanisme d’aide : proposer tous les nœuds possibles, à partir : d’un nœud source (chemin vers) d’une fonction de recherche Exemple : on cherche des informations sur les publications children Exp : publication Type: element children ? … /publication/ Chemin vers nœud source Fonction de recherche [OOIS, 2001] Aide Un mécanisme d’aide • Comment connaître les nœuds possibles • DTD (si elle existe) • Dataguide (extension du concept proposé pour OEM)[Goldman, 1997]

  31. DTD représentée par un graphe Structure des données Simplification ?, +, * Ordre des éléments Liens de référence bib … publication id auteurs … titre annee type Aide >> DTD Aide basée sur la DTD <!ELEMENT bib (…, publication*)> … <!ELEMENT publication (titre, type, annee, …)> <!ATTLIST publication id ID auteurs IDREFS> … • Attribut (ID) : id • Attribut (IDREF) : auteurs • Element : titre • Element : annee • Element : type • … /publication/

  32. Résume la structure Chaque type d’élément Chaque type d’attribut Chaque type de lien de référence Elimination des données textuelles bibliographie auteur publication auteur … bibliographie … … id nom prenom auteurs titre publication auteur xb Baril … Xavier xb zb … … id nom prenom auteurs titre Aide >> Dataguide Aide basée sur un dataguide Une seule fois résumé • Attribut (IDREF) : auteurs • Element : titre • … /publication/

  33. Aide >> Comparaison Comparaison • DTD • Travail en « intention » • Disponibilité dépend des sources • Liens de référence : type de la cible inconnu • Dataguide • Travail en « extension » • Construction : nécessite de parcourir les données de la source • Liens de référence : type de la cible connu • Contenus différents

  34. Plan : Autres contributions • Introduction • Modèle de vues pour XML • Intégration de données • VIMIX • Mécanisme d’aide • Autres contributions • Stockage • Implémentation : DAWAX • Conclusion et perspectives

  35. SGBD relationnel Méta modélisation Performance, fiabilité Requêtes SQL Séparation : Données XML Mappings Schéma générique Données XML Graphe de mappings Méta données Document j2 f2 Children XmlNode Descendants u1 j1 Element Attribute sp1 sp2 sp3 sp4 sp5 sp6 [Chapitre Addison Wesley, 2003] Autres contributions >> Stockage Architecture de stockage

  36. Autres contributions >> DAWAX Implémentation : DAWAX • Data WArehouse for Xml • Java • Parseur SAX • Interface Swing • Connexion JDBC • SGBD : PosgreSQL

  37. Plan : Conclusion et perspectives • Introduction • Modèle de vues pour XML • Intégration de données • VIMIX • Mécanisme d’aide • Autres contributions • Conclusion et perspectives • Bilan • Stockage • Passage à l’échelle

  38. Bilan Conclusion • Un modèle de vues pour XML : VIMIX • Restructuration des données • Opérations d’union et de jointure • Niveaux de regroupement • Fonctions d’agrégation • Intégration de données • Un mécanisme d’aide • Stockage des vues dans un SGBDR • Implémentation de notre approche (DAWAX)

  39. Perspectives >> Stockage des données Stockage des données • Choix des mappings à stocker pour répondre à des requêtes fréquemment posées • Optimiser des coûts contradictoires • Exécution des requêtes • Maintenance des données stockées • Pré-calcul de certaines données XML • Problème étudié pour le modèle relationnel (sélection de vues) [CAISE’2003, BDA’2003]

  40. Perspectives >> Passage à l’echelle Passage à l’échelle • Intégrer des sources de données à l’échelle du Web… • Des milliers de sources  Intégration « manuelle » impossible • Idée : définition de méta motif • Ne dépendent pas de la structure des sources • Permettent la génération automatique de motifs… • Génération automatique • Technique de fouille de données [EGC’2004] • Technique de TALN

  41. Questions

  42. Question >> Propagation des mises à jour

  43. Question >> Sélection de vues Matérialisation de certains nœuds Fq. interrogation Fq. maj Fq. accès Sources Stockage SGBDR Schéma médiateur XML Graphe de mappings V1 XML V2 Coût d’extraction Réécriture de requêtes Jeu de requêtes Schéma générique XML Système de cache Fq. construction

  44. Question >> Architecture

More Related