Intégration de Bases de données hétérogènes

publicité
Intégration de Bases de données hétérogènes par une
modélisation conceptuelle XML
Myriam LAMOLLE, Amar ZERDAZI
LINC – LIA
IUT de Montreuil – Université Paris 8
140, rue de la Nouvelle France
93100 – Montreuil
{m.lamolle, a.zerdazi}@iut.univ-paris8.fr
Abstract. Le développement exponentiel d’échanges d’informations par le web
a mis à jour les difficultés pour retrouver l’information pertinente désirée par un
utilisateur final. En effet, les informations sont représentées et stockées dans
une multitude de sources de données et cela de façon très hétérogène. Notre
travail se situe dans le cadre de l’intégration de données hétérogènes avec la
définition d’un modèle de médiation structurelle et sémantique, pour
l’extraction et la modélisation des connaissances à partir de données sources,
appelé hyperschema XML (XHS). Cet article présente plus précisément la
phase d’extraction des schémas, en définissant les règles de base permettant
d’obtenir une structure logique XML. Cette structure logique sert de fondement
pour la phase d’intégration proprement dite.
1 Introduction
Le développement exponentiel d’échanges d’informations par le Web a mis à jour les
difficultés pour retrouver l’information pertinente désirée par un utilisateur final. En
effet, les informations sont représentées et stockées dans une multitude de sources de
données et cela de façon très hétérogène. Les premières approches d’intégration de
ces sources de données pour les faire coopérer ont été réalisées dans le cadre de
système de bases de données (BDs) relationnelles, objets/relationnelles ou objets au
travers de la mise en place d’une fédération de bases de données [12], [18].
Cependant, dans le contexte du Web, les sources de données ont pour but principal de
fournir des capacités d’interrogation et non d’exportation des données. Ce contexte
nous oblige à repenser la façon dont nous devons intégrer ces différentes sources
d’informations pour connaître dès que possible la sémantique des données
mémorisées. Connaître cette sémantique, c’est pouvoir « filtrer » les sources qui sont
les plus adéquates pour répondre à une demande d’information.
Comment peut-on intégrer cette sémantique ? Comment peut-on en déduire les
concepts présents partiellement ou totalement dans plusieurs sources de données ?
Peux-t-on faciliter cette intégration lors de la phase d’extraction des concepts ? Après
un bref rappel sur les techniques d’intégration, nous proposons une solution
d’enrichissement sémantique des concepts lors de la phase d’extraction [20] facilitant
la mise en correspondances des schémas à intégrer [19].
1.1 Principes d’intégration
Dans le contexte du Web, il existe deux principales approches d’intégration à savoir :
- L’approche matérialisée (ou par entrepôt).
- L’approche virtuelle (ou par médiateur).
L’approche matérialisée extrait les données des sources à intégrer et après nettoyage
[10], les stocke dans un entrepôt de données. C’est ce dernier qui traite les requêtes
directement. Le temps de traitement des requêtes est meilleur que dans le cas de
l’approche virtuelle mais elle implique un coût de maintenance bien plus grand (dû à
la mise à jour des sources) [23].
L’approche virtuelle, quant à elle, est basée sur un ensemble de vues virtuelles
représentées par des médiateurs [3]. Les données ne sont stockées que dans leur
source d’origine. Mais, l’utilisateur final interroge la vue intégrée des différentes
sources par le schéma médiateur. Le médiateur se charge d’optimiser la requête en
sous-requêtes envoyées aux sources concernées. Cette approche n’entraîne pas un
surcoût de maintenance des données, mais se pénalise par le temps de réponse des
requêtes puisqu’il faut reconstruire le résultat final à partir des résultats des sousrequêtes [8].
1.2 Exemples de systèmes d’intégration
Nous ne présenterons pas ici de manière exhaustive tous les systèmes existants pour
l’intégration mais ceux qui nous ont paru intéressant pour les problématiques qu’ils
soulèvent ou pour les solutions envisagées.
Dans le cadre de l’approche virtuelle, citons :
TSIMMIS1 [11] utilise un modèle global sous forme d’objets complexes (OEM,
Object Exchange Model) et un langage de règles (MSL, Mediator Specification
Language) pour l’interrogation. Les médiateurs et les wrappers peuvent être générés
automatiquement par l’utilisation de MSL. Un des objectifs de TSIMMIS [5] est
d’intégrer des sources qui sont très hétérogènes, qui peuvent être peu structurées et qui
sont susceptibles d’évoluer rapidement.
AGORA [14] s’appuie sur un médiateur dont le modèle de données est de type
relationnel et dont le langage d’interrogation commun est de type SQL.
1
The Stanford-IBM Manager of Multiple Information Sources.
Son objectif est de supporter les requêtes et l’intégration de sources relationnelles et
semi-structurées. Le schéma global de AGORA est une DTD XML et un schéma
relationnel générique est utilisé comme interface entre ce schéma et les sources. La
difficulté du modèle d’intégration relationnelle est l’adaptation des techniques
relationnelles (représentation relationnelle des documents XML), et la traduction des
requêtes XML vers SQL.
Dans le cadre de l’approche matérielle, citons :
XYLEME est un système d’entrepôt de données qui a pour ambition de stocker toutes
les données du Web [26]. Une classification par domaine est faite par l’intermédiaire
d’entrepôts spécialisés (dit datamart). Le schéma médiateur est défini par un
mécanisme de vues [21], [6]. Xylème intègre un outil d’intégration sémantique qui est
basé sur des DTDs abstraite relatives à un domaine, qui peuvent être construite
manuellement ou automatiquement (technique de datamining).
CASTOR [4] permet le « mapping » entre bases de données de n’importe quel type et
un objet Java, c’est-à-dire que chaque attribut est représenté par une classe Java,
manipulée par deux opérateurs : Get et Set (data binding). L’outil Castor (qui est un
logiciel libre) paraît intéressant dans le but de réaliser des transformations de bases de
données relationnelles ou objets en véritables objets Java et donc en un système de
gestion d’objets. CASTOR nécessite un fichier de mapping, (DTD XML) et
évidemment une base de données. En phase de développement, le modèle objet évolue
très vite, et il devient rapidement lourd de gérer à la main la synchronisation entre ces
différents éléments.
Enfin, citons e-XMLMédia qui permet de construire un système d’intégration par
approche virtuelle ou matérialisée. Ce système utilise XML comme modèle commun
[12] et trouve son origine dans le projet Miro-Web [9]. Il est constitué de 3 modules à
savoir e-XML Mediator comme outil de requêtes, savoir e-XMLLizer qui sert de
wrapper, e-XML Repositery pour stocker et interroger les documents XML dans une
BD relationnelles. La structure des documents n’est pas toujours connue mais si c’est
le cas, e-XML Repositery peut générer un schéma relationnel spécifique.
Nous proposons dans cet article une implémentation de la deuxième approche
(approche virtuellement intégrée) en créant un hypershéma de bases de données.
Nous prenons en compte le fait qu’intégrer les données ne consiste pas seulement à
homogénéiser les données en utilisant un format commun XML mais consiste aussi à
exprimer les relations entre les données des sources intégrées [1]. Cet hypershéma
porte la sémantique attachée aux schémas des bases de données hétérogènes intégrées.
Il est constitué de deux graphes portant respectivement une dimension structurelle et
une dimension sémantique des données [13]. Pour cela, lors de la phase d’extraction
des concepts, nous enrichissons les modèles traditionnels les plus courants faits par
des DTDs (voir Section 1.2), en utilisant le formalisme XML Schema [24]. Ce dernier
permet d’affiner d’une part la sémantique interne d’un concept (typage, contrainte
d’unicité, etc.) et d’autre part la sémantique inter-concepts (dépendance, association,
agrégation, etc.).
La présentation de notre travail est organisée de la manière suivante : La section 2
présente l’architecture générale de notre système suivie par l’étape de pré-intégration
[20] qui consiste en l’extraction des schémas des sources à intégrer. Nous détaillons
les règles d’extraction mises en place pour homogénéiser la représentation des
schémas des sources de données. Nous conclurons sur le travail déjà réalisé et les
différents points que nous devons développer dans le futur.
2 Extraction des Schémas
Notre architecture est constituée de deux parties bien distinctes à savoir le module
d’extraction d’un schéma de base de données et le module de comparaison/intégration
de concepts déterminant le degré de similitude entre deux concepts afin de constituer
l’hyperschéma. Au final, cet hyperschéma est constitué d’un ensemble de schémas
XML et d’un ensemble d’opérateurs de correspondances [7], [2] stipulant les règles
sémantiques entre les concepts exprimés dans chaque schéma [16].
Source1
Source2
Source3
Requêtes
SQL
Résultats
Requêtes
Module d’Extraction
Génération des
schémas des
source de
données
XSSD
D11
X
XSSD
D22
X
XSD23
Hyperschéma
XML
Liens sémantiques (XSL)
Fig. 1. Architecture d’intégration via XML
Comme nous pouvons le voir sur la figure 1, la phase d’extraction homogénéise la
représentation des différents schémas des BDs à intégrer en l’exprimant sous la forme
d’une définition de schéma XML (i.e XSDi) [24]. Une fois cette transformation faite,
chaque concept est représenté selon deux dimensions à savoir une dimension
structurelle et une dimension sémantique.
Dans cette phase, la partie sémantique est affinée par l’adjonction de métaconnaissances soient déduites du catalogue des données, soient précisées par les experts de la
BD. Ces deux dimensions sont prises en compte dans le calcul du degré de similitude
de concepts qui nous permet de mettre en place les opérateurs de transformation
(appelés liens sémantiques sur la figure 1) de la représentation d’un concept dans un
schéma d’une BD à une autre représentation de ce concept. Remarquons que tout
opérateur de transformation à son opérateur inverse [15]. Il est à noter que la partie « liens sémantiques entre schémas XSD » ne rentre pas dans le cadre du présent
article.
Au final, l’hyperschéma XML (noté XHS) est constitué de l’ensemble des schémas des
BDs sous forme XSD et de l’ensemble des opérateurs de transformation d’un schéma
à un autre sous forme XSL [25]. L’extraction des différents schémas suit des règles
précises pour les dimensions statiques et dynamiques d’un concept. Nous allons
présenter maintenant plus en détail ces différentes règles.
2.1 Règles d’Extraction
Les règles d’extraction de base sont issues de la modélisation des BDs relationnelles
que nous étendons dans le cas d’autres types de BDs.
2.1.1
Extraction de la partie statique d’un concept
La dimension statique d’un concept est constituée de son nom et des propriétés qui le
caractérisent. Par exemple, un concept prend la forme d’une table et de ses champs
dans le cas d’une BD relationnelle, d’une classe et de ses attributs dans le cas d’une
BD objet, d’une balise et de ses attributs et/ou de balises de niveau immédiatement
inférieur dans le cas d’une BD XML. De plus, il se peut qu’un concept contienne luimême d’autres concepts (BDOR, BDOO, BDXML).
Règle 1. Toute table, toute classe, toute balise directement au-dessous de la balise
racine de la BD considérée représente un concept est traduit par un type complexe
(complexType) XSD.
Règle 2. Tout attribut de concept (nommé c) ne portant pas de contrainte d’intégrité
fonctionnelles (CIF) est traduit par un élément du complexType XSD vu dans la règle
1. Les occurrences possibles pour cet élément dans le complexType sont égales à 1.
transAttr(source, concept, attribut) : transforme les attributs sans CIF.
∀ c∈bd, ∀ att∈c ∧ att ⊄ CIF /
transAtt(bd, c, att) = element ⟨name, type, [minOccurs, maxOccurs]⟩
où
name : nom de l’attribut.
type : type de l’attribut.
minOccurs, maxOccurs : occurrences minimale et maximale de l’attribut.
Exemple 1. Soit le schéma partiel d’une BDR gestion de commandes dont le modèle
relationnel est :
enseignant [idEns, nom, adresse, grade]
module [idMod, libelle, coef, classe, #responsable]
où idEns et idMod sont les clés primaires et responsable est une clé étrangère dont
l’ensemble de ses valeurs appartient à l’ensemble des valeurs de idEns.
transAtt(université, module, libelle) = element ⟨libelle, "xsd :string", 1, 1⟩
<xsd:element name="libelle" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
2.1.2
Extraction de la partie dynamique d’un concept
La dimension dynamique d’un concept est constituée des contraintes d’intégrité et des
opérations. Par exemple, dans le cas d’une BD relationnelle, l’aspect dynamique est
constitué des clés primaires et étrangères, des triggers et des procédures cataloguées.
2.1.2.1 Cas des contraintes d’intégrité fonctionnelle
Règle 3.a. Tout attribut identifiant unique du concept de la BD considérée est traduit
par un attribut (Attribute) XSD du complexType construit d’après la règle 1 dont
l’usage est obligatoire.
transCIF(source, concept, attribut) : transforme les attributs contenant des CIF.
∀ c∈bd, ∀ att∈c ∧ att ⊂ CIF / transCIF(bd, c, att) = attribute ⟨name, type⟩
où
name: nom de la CIF.
type : type de la CIF.
Exemple 2.
transCIF(univérsité, module, idMod) = attribute ⟨idMod, "xsd:positiveInteger"⟩
<xsd:attribute name="idMod"
type="xsd:positiveInteger"/>
Règle 3.b. Tout attribut identifiant la BD considérée intègre le type complexe représentant la BD elle-même par l’élément XSD key.
transCIF_bd(source, concept, attribut) : transforme les identifiant dans le
complexType de la BD.
∀ c∈bd, ∀ att∈c ∧ att ⊂ CIF /
transCIF_bd(bd, c, att) = key ⟨name, selector ⟨xpath⟩, field ⟨xpath⟩ ⟩
Exemple 3.
transCIF_bd(université, module, idMod) =
key ⟨IDmodule, selector ⟨.//module⟩, field ⟨./@idMod⟩ ⟩
1. <xsd:key name="IDmodule">
2.
<xsd:selector xpath=".//module"/>
3.
<xsd:field xpath="./@idMod"/>
4. </xsd:key>
1. le nom de la contrainte sera constitué du nom du concept précédé par ID afin de le
distinguer des autres types de contraintes.
2. l’expression xpath employée récupère le nom du concept concerné par cette
contrainte. Pour cela, nous utilisons l’élément XSD <xsd:selection>.
3. Une deuxième expression xpath est définie avec l’élément <xsd:field> afin de
spécifier le nom de l’attribut identifiant qui doit être obligatoirement identique au nom
de <xsd:attribute> du complexType du concept.
Règle 4.a. Tout lien d’association (agrégation, composition, dépendance) intégré
directement dans un concept de la BD considérée est traduit par la contrainte XSD
keyref.
transAsso(source, concept, attribut) : transforme les associations entre concepts.
∀ c∈bd, ∀ att∈c ∧ att ⊂ CIF /
transAsso(bd, c, att) = keyref ⟨name, selector ⟨xpath⟩, field ⟨xpath⟩ ⟩
Exemple 4.
transAsso(université, enseignant, idEns) =
keyref ⟨IDREFenseigant, selector ⟨.//module⟩, field ⟨./@responsable⟩ ⟩
1. <xsd:keyref name="IDREFenseigant"
2.
refer="IDenseigant">
3.
<xsd:selector xpath=".//module"/>
4.
<xsd:field xpath="./@responsable"/>
5. </xsd:keyref>
A la ligne numéro 1, l’attribut XSD keyref permet la création d’une référence à une
association existante dans le même schéma. Le nom de l’association est composée de
IDREF suivie du nom du concept afin de bien exprimer la notion d’association.
L’attribut refer de l’élément <xsd:keyref> représente le nom de l’attribut identifiant
(key) auquel il est renvoyé (ligne numéro 2).
La ligne numéro 3 stipule le nom du concept source concerné par cette association.
La spécification du nom de l’attribut jouant le rôle d’attribut identifiant dans l’autre
concept est définie dans la ligne numéro 4.
Règle 4.b. (cas des tables servant d’association dans les BDR). Toute clé étrangère
exprimée indirectement dans un concept « fictif » de liaison de la BD considérée est
traduite par un type complexe XSD possédant un marqueur de liaison.
2.1.2.2 Cas des opérations
Le cas général des opérations concerne les procédures cataloguées des BDR et des
méthodes de classes des BDs objets.
Règle 5. (Cas de BDR). Toute procédure cataloguée ou toute méthode de la BD
considérée est traduite par un type élément (element) XSD et cet élément est référencé
par le concept « propriétaire ».
transOp(source, opération) : transforme les opérations d’une base de données.
∀ bd, op ∈ bd /
transOp(bd, op) = element ⟨name, type, sequence ⟨in, out, action⟩ ⟩
Nous opérons de la même façon pour traiter le cas des triggers pour les BDs
relationnelles.
2.2 Adjonction de métaconnaissances
Les règles d’extraction présentées précédemment uniformisent la représentation des
concepts essentiellement sur leur dimension statique et structurelle. la dimension
sémantique des concepts est enrichie par l’apport de métaconnaissances [17] lors
d’une étude plus approfondie de l’état du concept (structure incomplète, incertaine,
valeurs optionnelles, etc.), de niveau d’encapsulation du concept qui précise sa visibilité et son type d’association avec d’autres concepts (dépendance, utilisation, agrégation/composition, etc.). L’objectif de cet enrichissement est de représenter des
concepts selon des niveaux de granularité différents. Ces métaconnaissances sont
utilisées lors de la phase d’intégration proprement dite pour obtenir des mises en
correspondances plus précises. Pour cela, nous rajoutons des facettes, autrement dit
des attributs (nom/valeur) à notre hyperschéma XML au même niveau que la définition des concepts.
2.2.1 Complétude d’un concept
Dans le cas des BDs de type XML native, la structure des données est irrégulière,
contrairement aux BDs traditionnelles. En d’autres terme, le concept change de forme
et/ou de contenu d’un document XML à un autre. Pour pallier cette différence de
structuration de concepts, nous introduisons une facette de type logique dans le
complexType représentant le concept, qui porte le nom « complete ».
Exemple 5.
<xsd:complexType name="moduleConcept" complete="false"
…>
Nous remarquons que le concept module dans l’exemple ci-dessus est incomplet du
fait qu’il pourra changer de structure (forme, hiérarchie des propriétés, etc.) d’un
schéma XSD à un autre.
2.2.2 Visibilité d’un concept
Afin de garder la structure hiérarchique, notamment dans le cas des BDs XML
(comme un document XML peut posséder une structure arborescente parfois très
profonde), nous devons mémoriser le niveau d’apparition du concept. En effet, ceci
traduit la visibilité du concept par rapport aux autres, c’est-à-dire est-ce qu’un concept
pertinent ou non pour le domaine représenté. C’est par la facette « level » de type
entier dans la définition du concept que ce niveau d’encapsulation est sauvegardé.
Exemple 6.
<xsd:complexType name="moduleConcept" level="1"…>
le concept module est de niveau 1 dans le schéma XSD, ce qui explique son
importance dans les schémas des BDs (level="1", c’est-à-dire une table dans une BDR
ou un élément global (concept pertinent) dans une BDXML).
2.2.3 Propriétés obligatoires d’un concept
De même, les propriétés des concepts, représentées par des attributs, portent des
contraintes d’intégrités dans les BDs. Ces contraintes doivent être présentes dans
l’hyperschéma XML. En particulier, ces attributs doivent être déclarés avec la facette
de spécification « use » qui prendra la valeur required, signifiant que l’attribut (la
contrainte) doit toujours être présent. Pour les autres attributs (qui ne portent pas de
contraintes) la restriction peut prendre la valeur optional ou fixed.
Exemple 7.
<xsd:attribute name="nom" type="xsd:string"
use="required"/>
Dans ce cas, la présence de la propriété nom appartenant au concept enseignant est
obligatoire du fait qu’elle représente un attribut dont la valeur est toujours renseignée
dans la table enseignant (BDR de l’exemple 1).
3 Opérations de transformation
L’hétérogénéité dans l’ensemble des schémas XML de l’hyperschéma est de nature
logique ou sémantique [2]. Pour lever une partie des ambiguïtés, nous utilisons les
métaconnaissances dans les algorithmes des opérations de transformations primitives.
Les opérateurs mis à disposition concernent les concepts et leurs propriétés, ainsi que
les relations entre concepts. Ces opérateurs exploités par les règles de passage XSL
entre schémas XML obtenu lors de la phase d’extraction, sont :
- Ajout : permet d’ajouter une entité : concept, propriété d’un concept ou relation
existante entre concepts, du schéma source XSDi dans le schéma destination XSDj.
- Suppression : permet de supprimer une entité lors du processus de correspondance
entre XSDi → XSDj. La suppression est l’opérateur inverse de l’ajout.
- Fusion: permet de fusionner des entités. Généralement, la fusion porte sur des
propriétés afin d’obtenir un concept distinct lors de la transformation. Dans ce cas,
nous fusionnons des propriétés appartenant au schéma XSDi et qui forment un concept
dans le schéma XSDj (pn→c).
- Eclatement : est l’opérateur inverse de la fusion. Un concept (c) dans le schéma
XSDi, peut être éclaté en un ensemble de propriétés (p1, p2,..pn) dans le schéma
destination XSDj (c→pn).
- Equivalence : quand deux entités de même type (ci→cj; pi→pj) possèdent la même
structure et le même domaine de définition, elles sont équivalentes.
- Identité: quand deux entités sont équivalentes et de plus qu’elles ont le même nom
(syntaxe) et le même domaine de définition, alors elles sont identiques.
4 Conclusion et perspectives
L’intégration de source de données hétérogènes dans le contexte du Web est un
problème d’actualité. L’apport du langage XML comme standard d’échange et de
représentation de ces données est indéniable et facilite la mise en place des différentes
approches proposées. En effet, XML permet de représenter des données
indépendamment de leurs présentations et de leurs stockages. Aussi, tous les systèmes
d’intégration actuels par médiateur utilisent XML comme modèle pivot. Cependant,
XML ne permet pas d’éviter les problèmes de conflits structurels et sémantiques.
Notre travail de recherche consiste donc à proposer une formalisation de l’intégration
pour diminuer ces types de conflits. La phase de pré-intégration s’appuie sur la
puissance de représentation XML.
Nous cherchons à l’heure actuelle à affiner la gestion des règles d’intégration et de
résolution de conflits pour avoir des correspondances entre concepts plus précises. La
phase de fusion détecte les conflits structurels et sémantiques possibles par
l’application de mesure de distance entre concepts selon les deux dimensions
structurelle et sémantique [13]. Pour cela, nous nous appuyons sur la théorie des
graphes et sur la théorie des catégories [7]. Ces mesures sont en fait des opérateurs qui
génèrent des liens structurels et sémantiques entre sources de données.
L’automatisation partielle des opérateurs devrait s’appuyer sur l’application des
techniques d’acquisition de connaissances.
Références
1.
2.
3.
4.
5.
6.
Boucelma, O., Lacroix Z.: InterMed–interface de médiation pour les systèmes
d’information. ISI-NIS, Vol 6, n°3, (2001) 33-60
Boukottaya, A., Vanoirbeek, C., Paganelli, F., Abou-Khaled, O.: Automating XML
documents transformations: a conceptual modelling based approach. Proceedings of the
first Asian-Pacific conference on Conceptual modelling , ACM Volume 31, Dunedin, New
Zealand (2004) 81-90
Bouguettaya, A., Benatallah, B., Elmagarmid, A.: An overview of multidatabase systems:
Past and present. In A. Elmagarmid, M. Rusinkiewick et A. Sheth, éditeurs, Management
of Heterogeneous and Autonomous Database Systems, The Morgan Kaufmann Series in
Data Management Systems, chapitre 1. Morgan- Kaufmann (1999)
Castor: Web site of Castor Project, http://castor.exolab.org/
Chawathe, S., Garcia-Molina H, and al.: The TSIMMIS: Project: Integration of
heterogeneous information sources.16th Meeting of the Information Processing Society of
Japan. Tokyo, Japan (1994)
Cluet, S., Veltri, P., Vodislav, D.: Views in a Large Scale XML Repositery. Proceedings
of 27th International Conference on Very Large Data Bases VLDB’01, Roma, Italy
(2001) 271-280
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Cousin, R.: Apport de la théorie des catégories à la représentation des connaissances.
Thèse de doctorat, Université Pierre et Marie Curie, Paris VI, (1988)
Domenig, R., Dittrich K.R.: An overview and classification of mediated query systems.
ACM SIGMOD Record, 28(3), March (1999)
Fankhauser, P., Gardarin, G., Lopez, M., Muntz, J., Tomasic A.: Experiences in Federated
Databases : From IRO-DB to MIRO-DB. Proceedings of the 24 th International Conference
on Very Large Data Bases VLDB’98, (1998) 655-658
Galhardas, H., Florescu, D., Shasha, D., Simone, E.: Declaratively cleaning your data
using AJAX. Proceeding of the 16th journées Bases de Données Avancées, Blois, France
(2000) 97-116
Garcia-Molina, H., Papakonstantinou, Y., Quass, D., Rajamaran A., Sagiv Y., Ullman, J.,
Vassalos, V., Windom, J.: The TSIMMIS Approach to mediation : Data Models and
Languages. Journal of Intelligent Information Systems, (1997)
Gardarin, G., Sha, F., Ngoc, T.: XML-based Conponents for Federating Multiple
Heterogeneous Data Sources. Proceedings of ER’99, 18 th International Conference on
Conceptual Modeling, (1999) 506-519
Lamolle, M., Mellouli, N. : Intégration de bases de données hétérogènes via XML.
EGC’2003, Atelier fouille de données, Lyon (2003)
Manolescu, I., Florescu, D., Kossmann, D., Olteanu, D., Xhumari F.: Agora: Living with
XML and Relational. Proc. of the Int'l Conf. on Very Large Databases (VLDB), Cairo,
Egypt (2000)
McBrien, P.: A Semantic Approach to Integrating XML and Structured Data Sources. In
Proc. of the 13th Intl. Conf. On Advanced Information Systems Engineering, (2001) 330345
McBrien, P., Poulavassilis, A.: Schema Evolution in Heterogeneous Database
Architectures, A Schema Transformation Approach. In Proc. CAiSE'02, Toronto, Ontario,
Canada (2002)
Melnik, S., Rahm, E., Bernstein, P.A.: Developing metadata-intensive applications with
Rondo. Journal of web semantics, (2003)
Millan, T., Mulatéro, F., Lamolle, M.: Design, Share and Re-use of Data and Applications
into a Federate Database System. Onzièmes Journées Internationales le Génie Logiciel et
ses Applications, Paris, France(1998)
Papotti, P., Torlone R.: An Approach to Heterogeneous Data Translation based on XML
Conversion. Journal of Web Engineering, (2003)
Parent, C., Spaccapietra, S.: Intégration de bases de données: Panorama des problèmes et
des approches. Ingénierie des systèmes d'information Vol.4, N°3. Lavoisier (1996)
Reynaud, C., Sirot, J., Vodislav, D.: Semantic Integration of XML Heterogeneous Data
Sources. Proceedings of International Database Engineering and Applications Symposium
IDEAS’01, IEEE Computer Society, Grenoble (2001)
Sheth, A., Larson, J.: Federated database systems for managing Distributed,
heterogeneous, and autonomous databases. ACM Computing Surveys, Septembre 1990.
Vargas-Solar G., Doucet, A. : Médiation de données: solutions et problèmes ouverts,
Actes des deuxièmes assises nationales du GdRI3, (2002)
XML Schema, W3C Recommendation: XML Schema Primer, W3 Consortium, available
at http://www.w3.org/TR /xmlschema-0, (2001)
XSLT 1.0. W3C Recommendation : XSL Transformations XSLT Version 1.0, Available
at http://www.w3.org/TR/xslt, (2002)
Xylème: Web site of Xyleme Project, http://www-rocq.inria.fr/xyleme, (2003)
Téléchargement