View
37
Download
0
Category
Preview:
DESCRIPTION
Conception et construction d’entrepôts en XML. Omar Boussaid – Riadh Ben Messaoud – Rémy Choquet – Stéphane Anthoard Laboratoire ERIC, Université Lyon 2 Campus Porte des Alpes, 69676 Bron Cedex Omar.Boussaid@univ-lyon2.fr - rbenmessaoud@ericuniv-lyon2.fr - PowerPoint PPT Presentation
Citation preview
Omar Boussaid – Riadh Ben Omar Boussaid – Riadh Ben Messaoud – Messaoud –
Rémy Choquet – Stéphane Rémy Choquet – Stéphane AnthoardAnthoard
Laboratoire ERIC, Université Lyon 2 Campus Porte des Alpes,69676 Bron Cedex
Omar.Boussaid@univ-lyon2.fr - rbenmessaoud@ericuniv-lyon2.fr{remy.choque|stephanea}@gmail.com
http://eric.univ-lyon2.fr/
Conception et construction Conception et construction d’entrepôts en XMLd’entrepôts en XML
EDA - Versailles, juin 2006EDA - Versailles, juin 2006
EDA, Versailles 19 juin 2006 2
MotivationMotivation
ExempleExemple : dossier d’un patient (informations générales sur le patient : age, sexe, etc, + images de scanner, des interrogatoires sous forme d’enregistrements sonores +
compte-rendus manuscrits de médecins)
XML représente les données de façon semi-structurée.XML représente les données de façon semi-structurée.
Il est alors nécessaire de les structurer et de les homogénéiser.
Sa capacité d’auto-description et sa structure arborescente Sa capacité d’auto-description et sa structure arborescente donne à ce formalisme une grande flexibilité et une puissance donne à ce formalisme une grande flexibilité et une puissance suffisante pour décrire des données complexes, hétérogènes et suffisante pour décrire des données complexes, hétérogènes et répartiesréparties
Données complexes : formats différents, supports différents.
EDA, Versailles 19 juin 2006 3
MotivationMotivation
EDA, Versailles 19 juin 2006 4
PlanPlan
1. Motivation 2. Etat de l’art 3. Notre approche X-Warehousing4. Formalisation 5. Construction d’un cube XML6. Implémentation7. Etude de cas8. Conclusion et prespectives
EDA, Versailles 19 juin 2006 5
Etat de l’artEtat de l’art
Baril et Bellahsène (2000) : Dawax, Modèle de vues (View Manager)
Park et al. (2005) : XML-OLAP
Rusu et al. (2005) : Entrepôts XML
Nassis et al. (2004) :approche OO , repository xFacts et Dimensions virtuelles
Trujillo et al. (2004) : l’approche orientée objet(OO)
Rajugan et al. (2003) : utilisation des packages UML
Hümmer et al. (2003) : Xcube
Golfarelli et al. (2001) : Modèle Dimensionnel de Faits ; arbres d’attributs
Pokorny (2001) : XML Stars schema
EDA, Versailles 19 juin 2006 6
Etat de l’artEtat de l’art
Deux approches différentes :
1°) 1°) Stockage physique des documents XML dans des ED.Stockage physique des documents XML dans des ED.
Les documents XML alimentent alors les ED et XML est considéré comme une technologie efficace supportant des données faiblement structurées et adaptée à l’interopérabilité et à l’échange des données.
2°) Utilisation du formalisme XML pour concevoir des ED.2°) Utilisation du formalisme XML pour concevoir des ED.
Selon les modèles multidimensionnels classiques tels que les schémas en étoile ou en flocons de neige.
EDA, Versailles 19 juin 2006 7 pierre.jouve@eric.univ-lyon2.fr
L’approche X-WarehousingL’approche X-Warehousing
Contexte général de notre approche
EDA, Versailles 19 juin 2006 8
FormalisationFormalisation
Définition : Schéma en étoile XML
Soit (F,D)(F,D) un schéma en étoile, où :
FF est un ensemble de faits ayant mm mesure {F.M{F.Mqq, 1 , 1 ≤ ≤ qq ≤ ≤ m}m} et D = {DD = {Dss, 1 ≤ s ≤ r}, 1 ≤ s ≤ r} un ensemble de rr dimension où chaque DDss contient un ensemble de nnss attributs {D{Dss.A.Aii, 1 ≤ i ≤ n, 1 ≤ i ≤ nss}.}.
Le Schéma en étoileSchéma en étoile XMLXML de (F,D)(F,D) est un schéma XML tel que :
– FF définit l’élément racine dans le schéma XML ;
– q q {1, . . . ,m}, F.M {1, . . . ,m}, F.Mqq définit un attribut XML inclus dans l’élément racine ;
– s s {1, . . . , r}, D{1, . . . , r}, Dss est un sous éléments XML de l’élément racine XML. Il y a autant de
sous éléments XML que de dimensions liées à l’ensemble des faits FF ;
– s s {1, . . . , r} {1, . . . , r} et i i {1, . . . , n{1, . . . , nss}}, DDss.AAii définit un attribut XML inclus dans l’élément
XML DDss.
EDA, Versailles 19 juin 2006 9
Description d’un cube par un schéma XMLDescription d’un cube par un schéma XML
<xs:element name="F"> <xs:complexType> <xs:sequence> <xs:element name="D11" type="D1_Type" />
<xs:element name="D22" type="D2_Type" />
<xs:element name="D33" type="D3_Type" />
<xs:element name="D33" type="D3_Type" />
<xs:element name="D44" type="D4_Type" />
</xs:sequence> <xs:attribute name="F.M11" type="xs:integer" />
<xs:attribute name="F.M22" type="xs:integer" />
</xs:complexType></xs:element><xs:complexType name="D1_Type">
<xs:attribute name="D11.A11" type="xs:string" />
</xs:complexType><xs:complexType name="D2_Type">
<xs:attribute name="D22.A11" type="xs:string" />
<xs:attribute name="D22.A22" type="xs:string" />
</xs:complexType><xs:complexType name="D33_Type">
<xs:attribute name="D33.A11" type="xs:string" />
<xs:attribute name="D33.A22" type="xs:string" />
</xs:complexType><xs:complexType name="D4_Type">
<xs:attribute name="D44.A11" type="xs:string" />
</xs:complexType>
EDA, Versailles 19 juin 2006 10
FormalisationFormalisation
Définition Dimension Hiérarchisée XML :Soit H = {D1, . . . ,Dt, . . . ,Dl } une dimension hiérarchisée. La dimension hiérarchiséedimension hiérarchisée XMLXMLest une partie d’un schéma XML tel que :
– D1 définit un élément XML ;
– t {2, . . . , l }, Dt définit un sous élément XML de l’élément XML Dt−1 ;
– t {1, . . . , l }, chaque attribut dans Dt définit un attribut XML inclus dans l’élément XML Dt.
Définition Dimension Hiérarchisée XML :Soit H = {D1, . . . ,Dt, . . . ,Dl } une dimension hiérarchisée. La dimension hiérarchiséedimension hiérarchisée XMLXMLest une partie d’un schéma XML tel que :
– D1 définit un élément XML ;
– t {2, . . . , l }, Dt définit un sous élément XML de l’élément XML Dt−1 ;
– t {1, . . . , l }, chaque attribut dans Dt définit un attribut XML inclus dans l’élément XML Dt.
Définition Modèle en flocons de neige XML :Soit (F,H), un modèle en flocons de neige où F est un ensemble de faits ayant m mesures {F.Mq, ≤ q ≤ m} et H = {Hs, ≤ s ≤ r} est un ensemble de r hiérarchies indépendantes.Le modèle en flocons de neige XML de (F,H) est un schéma XML tel que :
– F définit l’élément XML racine du schéma XML ;
– q {1, . . . ,m}, F.Mq définit un attribut XML inclus dans l’élément racine XML ;
– s {1, . . . , r}, Hs définit autant de fois des dimensions hiérarchisées XML, comme
des sous éléments de l’élément XML racine qu’elle est liée à l’ensemble de faits F.
Définition Modèle en flocons de neige XML :Soit (F,H), un modèle en flocons de neige où F est un ensemble de faits ayant m mesures {F.Mq, ≤ q ≤ m} et H = {Hs, ≤ s ≤ r} est un ensemble de r hiérarchies indépendantes.Le modèle en flocons de neige XML de (F,H) est un schéma XML tel que :
– F définit l’élément XML racine du schéma XML ;
– q {1, . . . ,m}, F.Mq définit un attribut XML inclus dans l’élément racine XML ;
– s {1, . . . , r}, Hs définit autant de fois des dimensions hiérarchisées XML, comme
des sous éléments de l’élément XML racine qu’elle est liée à l’ensemble de faits F.
EDA, Versailles 19 juin 2006 11
Exemple d’un fait XML Exemple d’un fait XML
<?xml version="1.0" encoding="UTF-8" ?><Suspicious_region Region_length="287" Number_of_regions="6"> <Patient Patient_age="60" > <Age_class Age_class_name="Between 60 and 69 years old" /> </Patient> <Lesion_type Lesion_type_name="calcification type round_and_regular distribution n/a"> <Lesion_category Lesion_category_name="calcification type round_and_regular" /> </Lesion_type> <Assessment Assessment_code="2" /> <Subtlety Subtlety_code="4" /> <Pathology Pathology_name="benign_without_callback" /> <Date_of_study Date="1998-06-04"> <Day Day_name="June 4, 1998"> <Month Month_name="June, 1998"> <Year Year_name="1998" /> </Month> </Day> </Date_of_study> <Date_of_digitization Date="1998-07-20"> <Day Day_name="July 20, 1998"> <Month Month_name="July, 1998"> <Year Year_name="1998" /> </Month> </Day> </Date_of_digitization> <Digitizer Digitizer_name="lumisys laser" /> <Scanner_image Scanner_file_name="B_3162_1.RIGHT_CC.LJPEG" /></Suspicious_region>
EDA, Versailles 19 juin 2006 12
Construction des cubes XML
MCM : besoins d’analyses Documents XML
Algorithmes d’appriement basés sur des opérations de
fusion par élagage et de fusion par greffe
Notion d’arbre d’attributs (Golfarelli et al. 1998, Golfarelli er Rizzi 1999, Golfarelli et al. 2001
EDA, Versailles 19 juin 2006 13
Construction des cubes XML
Fusion des arbres d’attributs :
MCM : besoins d’analyses arbre d’attributsDocuments XML arbre d’attributs
Schéma XML d’un cube XMLd’un cube XML
Opérations de fusion des arbres d’attributs Notion de contenu minimal
EDA, Versailles 19 juin 2006 14
Construction des cubes XML
Fusion des arbres d’attributs
Fusion par élagage (pruning) : supprimer des parties des 2 arbres. - : sommets communs
conservés dans l’arbre fusionné. - : sont élagués avec
les sous-arbres associéscercles blancs
cercles noirs
Fusion par greffe (grafting) : sous-arbres communs n’ayant pas la même
structure de relations. - : certains sommets non communs sont éliminés et- : sommets identiques
et leurs relations sont maintenus dans l’arbre fusionné.
Les descendants d’un sommet éliminé sont conservés dans l’arbre fusionné.
cercles blancs
cercles noirs
EDA, Versailles 19 juin 2006 15
Construction des cubes XML
Contenu minimal d’un document XML
Le document XML doit contenir suffisamment d ’information pour répondre aux besoins d’analyse de l’utilisateur : contrôle sur l’arbre d’attributs.
L’’utilisateur définit les éléments (mesures, dimension, hiérarchis et leurs attributs) dans le MCM nécessaires ou pas (obligatoires (obligatoires ou optionnels) optionnels) pour ses objectifs d’analyse.
Le contenu minimal d’un document XML corresponds donc à la partie obligatoire de l’arbre d’attributs associé au MCM.
EDA, Versailles 19 juin 2006 16
Implémentation
EDA, Versailles 19 juin 2006 17
Implémentation
Function WriteTreeDeep(document,tree) root=GetRootElement(document) nodeList=GetNodes(tree,root) While Not(end(nodeList)) Graphe.AddVertex(nodeList.name) Call Function ReadTreeDeep(nodeList.name,tree) End WhileEnd Function
Function ReadTreeDeep(root,tree) nodeList=GetNodes(tree,root) While Not(end(nodeList)) Graphe.AddVertex(nodeList.name) Call Function ReadTreeDeep(nodeList.name,tree) End WhileEnd Function
- Fonctions recursives WriteTreeDeep et ReadTreeDeep pour manipuler les arbres d’attributs
EDA, Versailles 19 juin 2006 18
Implémentation
Function MergeTree(tree1,tree2) tree3=DuplicateTree(tree1) While Not(end(nodeList(tree3))) vertex1=GetVertex(tree3) While Not(end(nodeList(tree2))) vertex2=GetVertex(tree2) If vertex2=vertex1 Then vertex1.arc = 0 End While End While Tree3=WriteTree(tree3)End Function
- Fonction MergeTree pour fusionner deux arbres d’attributs
EDA, Versailles 19 juin 2006 19
Etude de cas : ContexteEtude de cas : Contexte
DDSMDDSM ((Digital Database for Screening MammographyDigital Database for Screening Mammography) : ) : une une BD complexesBD complexes (2 6042 604 dossiers de patients ; Un volume total dedossiers de patients ; Un volume total de 230,9 Go230,9 Go)
Un dossier est composé de : 1 fichier .ics décrivant en format ASCII, les informations générales d’un
dossier de patient. 4 fichiers images .LJPEG (LOSSLESS JPEG) des radios numérisées.
Chaque radio présente une angle de vue du sein : Left_CC, Left_MLO, Right_CC, Right_MLO (CC: Cranio-Caudal ; MLO: Medio-Latral Oblique).
Pour chaque radio présentant une ou des zones anormales, est associé un fichier .OVERLAY en format ASCII, décrivant une anomalie du sein.
1 fichier image .16_PGM regroupant les 4 radios et présentant un aperçu rapide pour la visualisation d’un dossier de patient.
EDA, Versailles 19 juin 2006 20
Etude de cas : ContexteEtude de cas : Contexte
EDA, Versailles 19 juin 2006 21
Etude de cas : Corpus XMLEtude de cas : Corpus XML
Documents XML (http ://eric.univ-lyon2.fr/rbenmessaoud/ ?page=donnees§ion=3http ://eric.univ-lyon2.fr/rbenmessaoud/ ?page=donnees§ion=3)
EDA, Versailles 19 juin 2006 22
Etude de cas : Modèle Conceptuel des besoinsEtude de cas : Modèle Conceptuel des besoins
Cas des ”Régions suspectées”
EDA, Versailles 19 juin 2006 23
Étude de cas : arbres d’attributs
- Arbre d’attributs des documents XML en entrée
- Arbre d’attributs associé au MCM des ”Régions suspectes”.
EDA, Versailles 19 juin 2006 24
Etude de cas : Modèle logique du cube XMLEtude de cas : Modèle logique du cube XML
<?xml version=”1.0” encoding=”UTF-8” ?><xs:schema xmlns=”http://www.w3schools.com”><xs:element name=”Suspicious region”> <xs:complexType> <xs:sequence> <xs:element name=”Patient” type=”Patient Type” /> <xs:element name=”Lesion Type” type=”Lesion Type” /> <xs:element name=”Subtlety” type=”Subtlety Type” /> <xs:element name=”Pathology” type=”Pathology Type” /> <xs:element name=”Date of study” type=”Date Type” /> <xs:element name=”Date of digitization” type=”Date Type” /> <xs:element name=”Digitizer” type=”Digitizer Type” /> <xs:element name=”Scanner image” type=”Scanner Type” /> </xs:sequence> <xs:attribute name=”Region length” type=”xs:integer” /> <xs:attribute name=”Number of regions” type=”xs:integer” /> </xs:complexType></xs:element>
<xs:complexType name=”Patient Type”> <xs:sequence> <xs:element name=”Age class”> <xs:complexType> <xs:attribute name=”Age class name” type=”xs:string”/> </xs:complexType> </xs:element> </xs:sequence>
.Schéma XML du cube “Régions susupectes” :
EDA, Versailles 19 juin 2006 25
…..<xs:complexType name=”Lesion Type Type”> <xs:sequence> <xs:element name=”Lesion category”> <xs:complexType> <xs:attribute name=”Lesion category name” type=”xs:string”/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=”Lesion type name” type=”xs:string”/></xs:complexType><xs:complexType name=”Subtlety Type”> <xs:attribute name=”Subtlety code” type=”xs:integer”/></xs:complexType><xs:complexType name=”Pathology Type”> <xs:attribute name=”Pathology name” type=”xs:string”/></xs:complexType>
<xs:complexType name=”Digitizer Type”> <xs:attribute name=”Digitizer name” type=”xs:string”/> </xs:complexType> <xs:complexType name=”Scanner Type”> <xs:attribute name=”Scanner file name” type=”xs:string”/> </xs:complexType>…..
Etude de cas : Modèle logique du cube XMLEtude de cas : Modèle logique du cube XML
EDA, Versailles 19 juin 2006 26
<xs:complexType name=”Date Type”> <xs:sequence> <xs:element name=”Day”> <xs:complexType> <xs:sequence> <xs:element name=”Month”> <xs:complexType> <xs:sequence> <xs:element name=”Year”> <xs:complexType> <xs:attribute name=”Year name” type=”xs:integer”/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=”Month name” type=”xs:string”/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=”Day name” type=”xs:string”/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=”Date” type=”xs:date”/> </xs:complexType>
</xs:schema>
.Schéma XML du cube “Régions susupectes” :
Etude de cas : Modèle logique du cube XMLEtude de cas : Modèle logique du cube XML
EDA, Versailles 19 juin 2006 27
Conclusion et perspectivesConclusion et perspectives
Une formalisation des schémas en étoile ou en flocons de neige en XML. ( utilisation des arbre d’attributs, Golfarelli et al., 2001a,b)
méthodologie basée sur le formalisme XML pour entreposer des données complexes.
Exprimer un niveau d’abstraction intéressant pour préparer les données à l’analyse. Alimenter une structure multidimensionnelle à l’aide de documents XML.
Une application Java qui produit un modèle logique et un modèle physique pour un cube composé de documents XML homogènes
Une étude de cas sur les régions suspectes sur des mammographies a montré l’intérêt de notre approche sur des applications réelles
Conclusion : Conclusion :
EDA, Versailles 19 juin 2006 28
Conclusion et perspectivesConclusion et perspectives
Perspectives : Perspectives :
Interrogation du cube XML : une extension du langage XQuery est nécessaire pour permettre de réaliser l’opération du Group-by.
Mesures non numériques : recours à des opérateurs appropriés. L’exemple de l’opérateur OpAC ( Ben Messaoud et al., 2004),
Une étude de performance des requêtes OLAP dans le cadre de cube XML
Problème de mise à jour du cube XML lors des changements dans les données sources ou des besoins d’analyse de l’utilisateur
Modèle physique du cube XML
Recommended