La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Un modèle de vues pour l’intégration de sources de données XML : VIMIX"— Transcription de la présentation:

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

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

3 Intégration de données VIMIX Mécanisme d’aide Autres contributions
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 Préliminaire : la notion de vue
Introduction >> Vues Préliminaire : la notion de vue 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… A (codeA, nomA, …) AL(codeA, codeL) L (codeL, titreL, …) 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 LivresAuteurs(auteur, livre) Exemple de vue SQL Domaine source Définition Schéma

5 XML et les Bases de Données
Introduction >> XML [ISI, 2001] 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 Intérêts d’un modèle de vues pour XML
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 Intégration de données VIMIX Mécanisme d’aide Autres contributions
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 Principes du modèle Fondements Propriétés
Modèle de vues >> Principes [OOIS, 2000] 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 Un modèle de données pour XML
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> 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) element xb Baril xb zb bibliographie auteur publication titre auteurs id nom prenom Xavier attribut text

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

11 Spécification d’une vue
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 Intégration de données
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 Système d’intégration de données
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 source Schéma médiateur (vue unifiée des sources) ? Processus d’intégration GAV – Global as View LAV – Local as View

14 Approche GAV (Global As View)
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 Approche LAV (Local As View)
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   Comparaison GAV/LAV GAV LAV Ajout d’une nouvelle source
Intégration >> Comparaion GAV/LAV Comparaison GAV/LAV GAV LAV Ajout d’une nouvelle source Modification des vues qui définissent le schéma médiateur Ajout d’une nouvelle vue Traitement d’une requête Réécriture facile en utilisant la définition des vues Mécanisme de réécriture plus complexe

17 Apports d’ XML pour l’intégration
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 Systèmes d’intégration XML
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 Construction de vues VIMIX
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 SP U J V1 V2 XML XML

20 Intégration de données VIMIX
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 Données des sources à extraire
VIMIX >> Motifs sur les sources Données des sources à extraire Nœud contextuel 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 Exp: nom Bindto: nom Exp: prenom Bindto: prenom Nœuds candidats Nœuds résultat Nœuds contextuels Nom et prénom des auteurs

22 Représentation logique
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 xb Baril xb zb bibliographie auteur publication titre auteurs id nom prenom Xavier Evaluation du motif « nom et prénom » nom prenom <nom>Baril</nom> <prenom>Xavier</prenom>

23 Opération d’union … Union de plusieurs sources
Spécification VIMIX >> Union Opération d’union 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_Aut1 (nom, prenom) SP_Aut2 (nom, prenom, age) F_Auteurs (nom, prenom, age)

24 Opération de jointure Jointure de deux sources
Spécification VIMIX >> Jointure Opération de jointure 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 F_Auteurs (nom, prenom, age) J_Auteurs_Livres (nom, prenom, age) SP_Livres (titre, auteur, prix)

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

26 Spécification du résultat
VIMIX >> Résultat Spécification du résultat 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

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

28 Exemple (instance du résultat)
VIMIX >> Résultat >> Exemple Exemple (instance du résultat) titre auteur prix <title>Web&Data</title> <title>Database</title> <titre>XML</titre> <author>Dupond</author> <auteur>Durand</auteur> <price>50.00</price> <price>40.00</price> <prix>50.00</prix> V_auteur auteur auteur nom nb-livres prix-moyen livre livre nom nb-livres prix-moyen livre Dupond 2 45 Web&Data Database Durand 1 50 XML

29 Intégration de données VIMIX Mécanisme d’aide
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 Chemin vers nœud source
Aide [OOIS, 2001] Un mécanisme d’aide 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 Comment connaître les nœuds possibles DTD (si elle existe) Dataguide (extension du concept proposé pour OEM) [Goldman, 1997] ? /publication/ Chemin vers nœud source Fonction de recherche

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

32 Aide basée sur un dataguide
Aide >> Dataguide Aide basée sur un dataguide xb Baril xb zb bibliographie auteur publication titre auteurs id nom prenom Xavier 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 Une seule fois résumé bibliographie auteur publication titre auteurs id nom prenom Attribut (IDREF) : auteurs Element : titre /publication/

33 Comparaison DTD Dataguide Contenus différents Travail en « intention »
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 Intégration de données VIMIX Mécanisme d’aide Autres contributions
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 Architecture de stockage
Autres contributions >> Stockage [Chapitre Addison Wesley, 2003] Architecture de stockage Schéma générique Données XML Element Document Children Attribute XmlNode Descendants Graphe de mappings Méta données sp1 sp2 sp3 sp4 sp5 sp6 u1 j1 j2 f2 SGBD relationnel Méta modélisation Performance, fiabilité Requêtes SQL Séparation : Données XML Mappings

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

37 Intégration de données VIMIX Mécanisme d’aide Autres contributions
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 Conclusion Un modèle de vues pour XML : VIMIX Un mécanisme d’aide
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
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 Réécriture de requêtes
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


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

Présentations similaires


Annonces Google