Vers une représentation formelle des schémas

Transcription

Vers une représentation formelle des schémas
Vers une représentation formelle
des schémas semi-structurés
Amar ZERDAZI1, Myriam LAMOLLE1, Ludovic MENET1, 2
1
LINC – Université Paris VIII
140, rue de la Nouvelle France 93000 - Montreuil, France
{a.zerdazi, m.lamolle, l.menet}@iut.univ-paris8.fr
2
Orchestranetworks
75, Boulevard Haussman 75008 - Paris, France
[email protected]
Abstract. Les données semi-structurées sont devenues de plus en plus
importantes avec la naissance du langage XML et l’évolution des technologies
associées. Ainsi, le passage des DTDs vers XML-Schema a-t-il permis une
amélioration dans la représentation structurelle de ces données par une meilleure
définition des types de données, de leurs cardinalités, de leurs réutilisations, etc.
Cependant, dans le cas des sources de données hétérogènes, les schémas XML
seuls, n’offrent pas assez de sémantique pour pouvoir intégrer automatiquement
ces sources hétérogènes. Dans cet article, nous proposons un modèle de données
sémantiques pour les données semi-structurées appelé CRP (Concept-RelationPropriété). Ce modèle a pour but principal de pouvoir unifier des représentations
issues de modélisations telles que, OEM, DTD, XSD, DSD, etc. CRP ne reflète
pas seulement la structure arborescente des données semi-structurées, mais il fait
la distinction entre concepts, relations et propriétés. Il est également possible de
spécifier par exemple le degré et la catégorie des relations et indiquer si une
propriété appartient à une relation ou à un concept. De telles informations sont
manquantes dans les modèles semi-structurés existants, et qui sont essentielles
pour la non-redondance, l’optimisation, le stockage des données semistructurées.
Keywords : données semi-structurées, intégration de données, schémas XML.
1 Introduction
Souvent les données du Web sont des données semi-structurées caractérisées par des
structures irrégulières, dynamiques ou inconnues. L’intérêt des données semistructurées dont le standard dominant est le format XML [15] provient de la facilité à
permettre l’échange et l’intégration des données entre applications. Cette nouvelle
représentation des données a conduit à définir des modèles et des systèmes plus
adaptés. Ainsi malgré la structure intrinsèque d’un document XML, une structure
commune plus générale peut être toutefois associée à un ensemble de documents. Cette
structure énoncée par des DTDs [3] (Document Type Definition) est remplacée
progressivement par des XSDs (XML-Schema Definition) [16] qui visent à pallier la
pauvreté sémantique de ces premières. Notamment, XML-Schema permet d’assurer
l’intégrité des données (typage de données, cardinalité, etc.), de réutiliser des structures
de données (héritage, surcharge, etc.) et donc d’assurer la qualité des données
échangées. Cette évolution diminue le fossé entre des représentations relationnelles,
des représentations « objets » avec des représentations semi-structurées. Cependant, les
modèles de données existants [4], [5], [9] ne permettent pas la définition d’un modèle
commun pour les schémas des bases de données traditionnelles et les schémas de
données semi-structurées. Or, il est indispensable de permettre l’échange et la
coopération entre des données provenant de sources classiques (hiérarchiques,
relationnelles, objets) et des sources semi-structurées (data guide, OEM, etc.). Les
techniques de médiation ont dû être adaptées pour prendre en compte ces nouveaux
types de données.
Dans cet article, nous proposons un modèle de données que nous appelons CRP
(Concept-Relation-Propriété) qui permet de représenter les données semi-structurées,
tout en capturant davantage la sémantique portée par ces données. Les données semistructurées sont souvent stockées dans des fichiers à plat ou des entrepôts, telles que
des bases de données relationnelles [13], des bases de données orienté-objet [11] ou
dans des systèmes semi-structurés spécialisés, tel que Strudel [7], Lore [12], Lotus
Notes [10] et Tamino [14]. Comme dans les SGBDs traditionnels, le stockage et
l’accès efficace, la minimisation des mises à jour sont importante et ne peuvent pas
être réalisés sans connaissance de la sémantique des données. Un des avantages
majeurs des données semi-structurées et en particulier XML, c’est que le stockage des
données est complètement indépendant des détails de la présentation. Cette dernière est
définie par des feuilles de styles, qui sont similaires à la définition de vues dans les
applications des bases de données traditionnelles. Afin de définir des présentations
significatives avec des mises à jour simples, le concepteur doit connaître forcément la
sémantique des ses données.
Dans notre approche, nous nous intéressons à la structure de ces données, autrement
dit aux schémas de données et non pas aux données elles-mêmes, du fait que la taille
du schéma est beaucoup moins importante que le volume des données. Aussi, le
contenu des données ne garantit pas toujours une représentation complète et
disponible.
Nous présentons le reste de l’article comme suit. La section 2 présente quelques
modèles de représentation des données semi-structurées. La section 3 illustre une
description détaillée du modèle CRP. La section 4 concerne le passage d’un schéma
semi-structuré vers le modèle CRP. Pour cela, nous avons choisi comme cas pratique
les schémas XML de type XSD. Enfin, une conclusion et nos futurs travaux font
l’objet de la section 5.
2. Représentation des données semi-structurées
Les premiers systèmes d’intégration de données ont utilisé les modèles relationnels ou
objets comme modèles communs. Cependant, l’intégration de sources de données peu
ou non structurées est difficile avec ces modèles dédiés à représenter spécifiquement
des bases de données. Les modèles de données semi-structurées ont été conçus pour
représenter facilement des données irrégulières provenant de sources hétérogènes,
structurées ou non [2]. Ce sont des modèles flexibles qui permettent de représenter des
données irrégulières en mélangeant la structure et les données [1].
2.1 OEM
Le modèle OEM (Object Exchange Model) [12] est l’un des modèles proposés pour les
données semi-structurées. Il a été conçu à l’origine pour le projet TSIMMIS [8] pour
assurer l’intégration de données de différentes sources. Les données en OEM sont sans
schéma et autodescriptives ; nous pourrions les percevoir comme un graphe dirigé et
étiqueté dont les noeuds sont des objets (comme illustré à la figure 1(a)). Un objet
OEM peut être perçu comme un quadruplet (oid, étiquette, type, valeur). Un objet1
OEM est constitué d’un identificateur d’objet unique (par exemple &8), d’une étiquette
descriptive (adresse), d’un type (chaîne de caractères) et d’une valeur ("Paris"). Les
objets sont soit atomiques, soit complexes. Un objet atomique contient une valeur d’un
type de base (par exemple entier ou chaîne de caractères) et se reconnaît dans le
diagramme au fait qu’il n’a pas de flèche sortante. Tous les autres objets sont qualifiés
d’objets complexes, dont le type est défini par un ensemble d’identificateurs de type, et
sont reconnaissables dans le diagramme car ils comportent une ou plusieurs flèches
sortantes. Un objet complexe peut être le parent d’un nombre quelconque d’objets
enfants OEM et un objet OEM peut avoir plusieurs objets parents, ce qui permet de
construire des réseaux de complexité arbitraire, de manière à modéliser les associations
parmi les données. Le modèle OEM a été conçu spécialement pour gérer l’aspect
incomplet des données, ainsi que l’irrégularité de leur structure et de leur type.
2.2 Les guides de données
La connaissance de la structure de la base de données est importante dans la
formulation de requêtes significatives. De même, le processeur de requête exige une
certaine connaissance de la structure de la base de données pour traiter efficacement
une requête. Malheureusement, les données semi-structurées peuvent ne pas avoir de
schéma et que le schéma doit alors être découvert à partir des données. Lorel [12] offre
une caractéristique innovante sous la forme d’un guide de données (DataGuide, en
anglais) un résumé structurel de la base de données, généré et entretenu
dynamiquement, qui sert de schéma dynamique [9]. Un guide de données possède trois
propriétés : (i) la concision, tout chemin d’étiquette dans la base de données n’apparaît
qu’une et une seule fois dans le guide de données. (ii) la précision, tout chemin
d’étiquette dans le guide de données existe dans la base de données initiale. (iii) le
confort. Le guide de données est un objet OEM (ou XML), de sorte qu’il peut être
1
Un objet OEM ne possède pas de comportement. En effet, il n’est pas possible de définir de
méthodes sur un objet OEM.
stocké et nous pouvons y accéder à l’aide des mêmes techniques que dans la base de
données source.
La figure 2(b) présente un guide de données correspondant aux données de la figure
1(a).
departement
nom
localisation
&2
&3
Informatique Bat A
&6
TEC110
departement
&1
cours
nom
cours
localisation
&4
&7
code
code libelle etudiant
etudiant
&8
OMGL
cours
&5
code libelle etudiant
&9
...
&
20
&
21
libelle
&
22
etudiant
TEC611 ALGO
adresse
numero nom
numero
nom
&
&
23
24
6234901 J.Dupont
&
25
adresse
Paris
(a). OEM
(b). Guide de données
Fig. 1. Représentation d’une structure de données par OEM et guide de données.
2.3 XML/XML-Schema
Le langage XML (eXtensible Markup Language) connaît depuis son apparition en
1996 un succès considérable. Recommandation W3C en 1998, XML est devenu un
standard pour les documents structurés. Sans en exposer tous les détails, faisons-en une
rapide présentation. XML est un sous-ensemble de SGML. Un document XML est
donc structuré en éléments. Les balises marquent le début et la fin de chaque élément.
Les éléments peuvent contenir du texte et éventuellement d’autres éléments.
L’ensemble des données du document XML est contenu dans un élément unique
appelé racine, élément qui contient tous les autres éléments.
XML-Schema [16] est uns standard permettant de définir et de typer un document
XML dans un formalisme proche de celui des bases de données. Il devient alors
possible de définir des schémas des bases de données comme dans un modèle objet. En
particulier, les schémas XSD présentent les avantages suivants.
Syntaxe XML : Adopter une syntaxe XML pour représenter le schéma lui-même, ce
qui permet de réaliser une économie en termes d’outils pour éditer, manipuler et
stocker les schémas, puisque ceux-ci deviennent eux-mêmes des documents XML.
Type de données : Les DTDs fournissent seulement un système sommaire de types,
basé sur les éléments textuels. Les schémas XSD prolonge ce mécanisme avec une
gamme étendue de types, du SQL, du Java tels que date/heure, binaire, URI, etc. De
plus, les schémas XSD intègrent la notion d’héritage soit par restriction soit par
extension des définitions de types.
Espace de noms : Les espaces de noms permettent à des éléments ayant le même
nom d’être employés dans différents contextes. En outre, les types des schémas et leurs
éléments peuvent être inclus (ou importés) dans un schéma XSD séparé en utilisant un
même (ou un autre) espace de noms.
Contraintes : Contrairement aux DTDs, les schémas XSD augmentent la richesse
des contraintes exprimables notamment des contraintes portant sur les contenus et le
type des données : les contraintes de clé et d’unicité, les références (clés étrangères),
les contraintes de valeurs (types énumérés), les contraintes de cardinalités et de valeurs
par défaut ou optionnelles.
Il semble donc nécessaire d’avoir un modèle unifié des modèles semi-structurés qui
essaye de diminuer le fossé sémantique entre eux, mais adaptable aux spécificités de
chacun.
3 Le modèle CRP
Dans le modèle CRP, il existe trois types d’éléments de base, à savoir :
-
Concept,
-
Relation,
-
Propriété.
Le modèle CRP fait une distinction précise de ces trois éléments. Il spécifie également
les contraintes sur les concepts et sur leurs relations telles que le degré et le type des
relations, ainsi que les contraintes sur les différentes propriétés. Toutes ces
informations nous permettront par la suite d’une représentation formelle de ces
éléments.
Définition 1 (CRP)
Le modèle CRP est représenté par le triplet 〈 CCRP, RCRP, PCRP〉 où :
CCRP : est l’ensemble des concepts du schéma modèle,
RCRP : est l’ensemble des relations existantes entres les concepts du modèle,
PCRP : est l’ensemble des propriétés appartenant aux concepts et aux relations.
EXEMPLE – La figure 2 formalise l’exemple de la figure 1 par notre modèle CRP. Dans
cette figure, des concepts, des relations et des propriétés apparaissent. L’identifiant de
département est nom (indiquée par un rond noir) et département possède aussi une
autre propriété localisation. Le losange, liant département et cours, indique qu’il existe
une relation (hiérarchique de type parent/child) entre ces deux concepts. L’identifiant
de cours est code, il possède aussi une propriété libelle qui n’est pas obligatoirement
unique. Chaque étudiant possède un identifiant (numéro), un nom et une adresse. La
relation entre cours et étudiant porte le nom cours_étudiant notée par abréviation ce.
*
departement
dc, 2
?
cours
nom
+
ce, 2
+
localisation
etudiant
code
libelle
numero
nom
adresse
Fig. 2. Représentation d’une structure de données par le modèle CRP.
3.1 Concept
Un concept dans le modèle CRP est équivalent à la notion d’entité dans le modèle
Entité-Relation, de classe dans le modèle objet, et d’élément dans les documents XML.
Traditionnellement, un concept est caractérisé par son nom et un ensemble de
propriétés que nous définirons plus précisément à la section 3.3. Un concept est lié à
un ou à plusieurs concepts via des relations. Nous représentons un concept dans le
modèle CRP par un rectangle portant son nom.
Définition 2 (Concept)
Un concept c∈ CCRP est représenté par le doublet 〈 cnom, ccontenu 〉
cnom : est le nom du concept,
ccontenu : est le contenu du concept.
Où PCRP(c), CCRP(c) sont respectivement l’ensemble des propriétés et des concepts
imbriqués dans le concept c, avec PS(c) ∪ CS(c)= ccontenu.
EXEMPLE – Nous considérons l’exemple où chaque étudiant possède un numéro, un
nom, une adresse et classe. Le numéro est son identifiant. La figure 3 représente le
concept étudiant, avec ses propriétés dans le modèle CRP. Donc, on aura
cnom=〈étudiant〉 et ccontenu=〈nom, adresse, classe〉.
Fig. 3. Représentation du concept étudiant.
3.2 Relation
Deux ou plusieurs concepts peuvent être connectés par une relation. Une relation dans
CRP représente une interconnexion (ou association) entre deux ou plusieurs concepts.
Chaque relation est caractérisée par son nom1. Elle possède également un degré qui
indique le nombre de concepts qu’elle relie. Une relation de degré 2 (e.g. relation
binaire) relie deux concepts, l’un des deux est le parent et l’autre est le fils. Les
contraintes d’occurrences (ou cardinalités) sont définies dans les relations par la
notation issue des modèles objets à savoir ?: zéro-à-un, * : zéro-à-plusieurs et + : unà-plusieurs. Une relation est représentée par un losange noir.
Définition 3 (Relation)
Une relation r∈ RCRP est représentée par le doublet 〈 rnom, rliaison 〉
rnom : est le nom de la relation,
rliaison : est l’ensemble des concepts reliés via r.
EXEMPLE – La figure 4 montre deux relations binaires entre le concept projet et le
concept membre, et entre membre et publication. La relation entre projet et membre est
notée « pm, 2, +, + » signifiant :
pm : son nom (projet_membre),
2 : son degré (entre les deux concepts projet et membre),
+ : un projet concerne au moins un membre voire plusieurs,
+ : un membre participe à au moins un projet voire plusieurs.
Fig.4. Représentation des relations implicites dans le modèle CRP.
1
Parmi les exemples illustrés dans cet article, les noms des relations sont abrégés afin de
simplifier la schématisation des figures en concaténant les premières lettres de chaque concept
intervenant dans la relation.
Les relations vues précédemment, définissent les relations implicites existantes dans
les sources de données semi-structurées (e.g. relation d’hiérarchie et d’imbrication
entre un concept-père et un concept-fils). Pour les relations explicites (structurelles de
type association) entre les concepts (e.g. relation ID/IDREF, key/keyref) dans les
schémas XML. Ces relations sont bidirectionnelles2, c’est pour cela que nous les
représentons par une paire d’arcs (pointillés) reliant les deux concepts en question.
EXEMPLE – Dans la figure 5, les deux concepts article et livre sont liés au concept
bibliothèque via deux relations implicites (ba et bl). Cependant, il existe une relation
explicite entre ces deux concepts article et livre spécifiant une association.
Fig. 5. Représentation des relations explicites dans le modèle CRP.
3.3 Propriété
Une propriété dans le modèle CRP est équivalente à la notion d’attribut dans le modèle
relationnel, objet, ou semi-structuré. Selon le schéma d’origine, les propriétés dans
CRP peuvent apparaître dans les concepts et/ou les relations. Sachant qu’une des
différences majeures entre les bases de données relationnelles et les données semistructurées est la contrainte de l’atomicité des attributs (cf. 1ère forme normale [6]),
nous donnons la possibilité de représenter une propriété par :
–
clé candidate : attribut à valeur unique pour toutes les instances du concept ;
–
clé composée : ensemble d’attributs définissants une valeur unique ;
–
clé primaire : parmi les clés candidate ;
–
propriété mono-valuée : possédant une seul valeur ;
–
propriété multivaluée : possédant un ensemble de valeurs ;
–
propriété à valeur required /optional / fixed/ ou default ;
–
propriété à structure inconnue : possédant différentes structures dans le schéma.
2
Afin de garder la compatibilité avec les relations implicites existantes et donc la cohérence
dans le modèle CRP.
Dans le modèle CRP, nous classifions deux classes de propriétés, à savoir :
⎯ Propriété clé : qui est représentée à partir d’une clé dans le schéma source ;
⎯ Propriété simple : qui n’est pas une propriété clé dans CRP et qui représente les
cas mono-valuée, multi-valuées et structure inconnu.
Une propriété est représentée par un cercle étiqueté par son nom. De plus, si cette
propriété est une clé (propriété clé), son cercle est noir. Si elle possède une structure
irrégulière (multi-structure), le cercle est discontinu. Si la propriété est multi-valuée,
nous rajoutons le signe * à l’intérieur du cercle. De même, en fonction des contraintes
qu’elle porte, nous rajoutons R pour required , O pour optional, F pour fixed, D pour
default.
Définition 4 (Propriété)
Une propriété p∈ PCRP est représentée par le triplet 〈 pnom, pcatégorie, pdomaine 〉
pnom : est le nom de la propriété,
pcatégorie : est le type de la propriété (clé ou simple),
pdomaine : est le domaine de définition de la propriété.
Où Pclé(c) et Psimple(c) sont respectivement l’ensemble des propriétés clés et
propriétés simples du concept c, avec Pclé(c) ∩ Psimple(c)=∅ et Pclé(c) ∪ Psimple(c)=
PCRP(c).
EXEMPLE – Nous considérons le modèle CRP de la figure 6. Le concept cours possède
les propriétés code (propriété clé), libellé (propriété simple) et une autre propriété avec
une structure irrégulière ou multiple (info.). Le concept étudiant possède aussi une
propriété clé définit par son numéro. Le nom de l’étudiant qui doit être toujours
renseigné ou requis ; en outre, hobbies est une propriété à valeurs multiples (un
étudiant peut avoir plusieurs hobbies).
Fig. 6. Représentation des propriétés dans le modèle CRP.
Visuellement, on peut remarquer que le modèle CRP ressemble au modèle EntitéRelation mais n’est pas identique. Cette représentation à l’avantage de paraître
familière à la communauté des bases de données relationnelles du fait que le modèle
ER est un modèle connu ; aussi, notre modèle CRP est aisément compréhensible et
facilement exploitable. Un autre avantage du modèle CRP est qu’il est capable de
représenter à la fois les différentes imbrications (hiérarchies) dans les données semistructurées De plus, il peut modéliser des attributs multi-valués et/ou à structure
inconnue qui ne peuvent pas être exprimés dans les autres modèles de données.
4 Mapping entre XSD/CRP : Implémentation et validation
Tout au long de ce papier, nous avons présenté le modèle CRP. Dans cette section, nous
exposons brièvement comment les informations sémantiques dans le modèle CRP
peuvent être dérivées et utilisées. Premièrement, nous montrons comment les schémas
de type XSDs peuvent être représentés dans CRP. Dans [18], nous avons défini un
ensemble de règles de mapping entre les schémas XML et le modèle CRP.
Premièrement l’élément racine (root element) du schéma XSD est défini par un
concept dans le modèle CRP. Ce concept représente l’agrégation ou le concpet-racine
de tous les autres concepts du modèle. Les éléments XSDs de type xsd:element
possédant d’autres éléments ou attributs (xsd:attribute), sont représentés par des
concepts dans le modèle CRP. Pareil pour les éléments dont la structure est complexe
(xsd:complexType) sont représentés par des concepts. Les éléments de type
xsd:attribute représentent les propriétés composées. Ainsi que les éléments avec le
type xsd:key représentent les propriétés clés, tandis que les éléments de type xsd:keyref
indiquent une référence entre concepts. Aussi les relations sont dérivées à partir des
relations hiérarchiques (implicites), et les différentes associations (explicites)
existantes. Les cardinalités des éléments et des attributs peuvent être aussi représentées
à partir des schémas XML.
Pour des besoins spécifiques, nous représentons le modèle CRP avec deux
représentations différentes à savoir : représentation arborescente (TREE) (voir figure
8(b)) et représentation graphique (GRAPH) (voir figure 8(c)). Dans un premier temps
nous chargeons les fichiers XSDs à transformer dans notre système3 (voir figure 8(a)).
Pour la génération automatique des modèles CRP4, nous récupérons l’ensemble des
informations structurelles et sémantiques propres aux différents éléments du schéma
XSD, ainsi que toute son arborescence. L’avantage de ces représentations permet de
mieux visualiser, parcourir et comparer des schémas XML hétérogènes, sans recourir à
la syntaxe elle-même, qui peut être incompréhensible par certains utilisateurs. Via le
modèle CRP généré, le concepteur ou l’expert du domaine peut modifier, supprimer, ou
mettre à jour directement des informations sur les concepts, les relations et les
propriétés du modèle (e.g., modifier le nom d’un concept, les cardinalités ou le
3
Les schémas XSDs passent préalablement par une phase de parsing afin de vérifier leur
validité. Pour cela, nous intégrons dans notre système un parseur validateur. Ce dernier se
lancera automatiquement dès qu’un schéma XSD est chargé dans le système.
4
Nous montrons exclusivement ici le mapping XSD/CRP. Notre système a été conçu pour
transformer divers schémas semi-structurées tels que, DTD, DSD.
domaine de définition d’une propriété, etc.). Ces modifications consistent à
l’enrichissement sémantique [17] semi-automatique des modèles CRP dans le but de
pallier à la pauvreté sémantique des sources de données semi-structurées.
(a) Aperçu d’un schéma XSD chargé dans notre système (vue "TEXT")
(b) Aperçu d’un modèle CRP (vue "TREE")
(c) Aperçu d’un modèle CRP (vue "GRAPH")
Fig. 8. Génération automatique des modèles CRP à partir des schémas XSD.
5 Conclusion
Jusqu’à l’avènement du langage XML, le monde de l’information se divisait en deux
parties complémentaires. D’un côté, il y avait le monde des bases de données
traditionnelles (hiérarchiques, relationnelles, objets), de l’autre, le monde de l’EDI
permettant l’échange des informations et des présentations. La plupart des systèmes
d’intégration actuels utilisent XML comme modèle commun. Sa structure irrégulière
permet de représenter toutes formes de données, mais présente l’inconvénient de
complexifier les algorithmes d’intégration des données de différentes sources,
notamment l’intégration des schémas.
Le travail présenté dans cet article s’insère dans le cadre des travaux liés à
l’intégration de données et plus particulièrement à l’intégration de schémas. Nous
avons défini un modèle CRP par l’utilisation d’un ensemble minimal de type
d’éléments (concept, relation, propriété), par l’emploi d’une notation claire et
facilement compréhensible, et par sa capacité à représenter à la fois la structure et la
sémantique des schémas hétérogènes. L’un des objectifs du modèle CRP est de
diminuer l’ambiguïté sémantique entre les différents types d’éléments.
Le modèle CRP peut être utilisé dans plusieurs voies de recherches telles que, le
stockage des structures issues des BDs XML natives, la conception de vues XML,
l’évaluation des requêtes, etc. Dans le cadre de nos recherches, nous exploitons le
modèle CRP pour la définition des schémas XML riche en sémantique, dans le cadre de
l’intégration de schémas sources hétérogènes. Dans un tel contexte, partager et
réutiliser des ressources existantes s’avère d’un intérêt incontestable, à la fois en
termes d’interopérabilité entre les applications et entre les différents utilisateurs.
Nous envisageons dans le futur, améliorer ce modèle en tenant compte d’autres
contraintes telles que les dépendances fonctionnelles, les formes normales, l’héritage,
etc. afin d’enrichir sémantiquement le modèle CRP. Ce qui permettra (i) d’étendre ce
formalisme conceptuel sur d’autres modèles tels que le relationnel ou même l’objet, et
(ii) de mieux représenter les schémas sources afin de produire des matching/mapping
corrects entre les ces derniers.
Références
1. Abiteboul, S., Buneman, P., Suciu, D.: Data on the Web: From Relations to Semistructured
Data and XML, Morgan Kaufmann, (1999)
2. Bergamaschi, S., Castano, S., Vinci, M.: Semantic integration of semistructured and
structured data sources, SIGMOD Record, (1999) 54-59
3. Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E.: Extensible markup language (xml)
1.0, second edition. http://www.w3.org/TR/2000/REC-xml-20001006, (2000)
4. Buneman, P., Susan, B., Davidson, D., Fernandez, M.F., Suciu, D.: Adding structure to
unstructured data, In Proceedings of the 6th International Database Theory Conference Theory
(ICDT’97), (1997) 336-350
5. Cluet, S., Delobel, C., Simeon, J., Smaga, K.: Your mediators need data conversion!, In
Proceedings ACM SIGMOD International Conference on Management of Data, ACM Press,
(1999) 177-188
6. Codd, E.F.: Relational Completeness of Databases Sublanguages, Prentice Hall, Englewood,
Cliffs, NJ, (1972)
7. Fernandez, M., Florescu, D., kang, J., Levy, A., Suciu, D.: Catching the boat with Strudel:
experiences with a web-site management system. In SIGMOD, (1998) 414-425
8. 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)
9. Goldman, R., Widom, J.: Enabling query formulation and optimization in semistructured
databases, In Proceedings of 23rd International Conference on Very Large Data Bases
(VLDB’97), Morgan Kaufmann, (1997) 436-445
10. Lotus Development Corporation. Lotus development corporation. http://www.lotus.com/
11. Luddsher, B., Himmervder, R., Lausen, G., May, W, Schlepphorst, C.: Managing
semistructured data with FLORID: a deductive object-oriented perspective. Information
Systems, (1998) 589-613
12. McHugh, J., Abiteboul, S., Goldman, R., Quass, D., Widom, J.: Lore: A database
management system for semistructured data. SIGMOD Record, (1997) 54-66
13. Shanmugasundarm, J., Tufte, K., Zhang, C., He, G., DeWitt, J., Naughton J.F.: Relational
databases for quering XML documents: Limitations and opportunities. In Proceedings
VLDB’99, Morgan Kaufmann, (1999) 79-90
14. Tamino – An Internet Database System. http://www.tamino.com/
15.W3C-XML, Extensible Markup Language (XML) 1.0, W3C Recommendation,
http://www.w3.org/TR/REC-XML, (1998)
16.W3C-XSD, XML Schema Part 0: Primer, W3C Recommendation, 2001,
http://www.w3.org/TR/XmlSchema-0/, (2001)
17. Zerdazi, A., Lamolle, M.: Hyperschema XML: Un modèle d’intégration par enrichissement
sémantique de schémas XML, MajecSTIC’05, (2005) 143-150
18.Zerdazi, A., Lamolle, M.: Modélisation des schémas XML par adjonction de
métaconnaissances sémantiques, ASTI’05, (2005) 29-32