Title: Relation de subsumption entre sch
1Relation de subsumptionentreschémas de types
- Données semi-structuréesettypage de données
2Au sommaire
- Introduction
- 1. Données semi-structurées
- 2. Modéliser des données semi-structurées
- 3. Subsumption entre schémas
- Conclusion
- Bibliographie
3Introduction
- Le Web une base de données géante non
structuréeComment concevoir un SGBD adapté au
Web ? - Plus généralement comment mutualiser des
informations homogènes à partir de sources de
données hétérogènes ? - Les SGBD standards ne supportent pas
lhétérogénéitéIl faut faire appel à des
modèles plus flexibles qui sadaptent à la forme
des données plutôt que de limposer.
41. Données semi-structurées
- Quelques définitions
- Quelques propriétés
- Quelques enjeux
- Et quelques problèmes !
5Quelques définitions
- Première définition toute forme de données
nétant ni une base de données ni de la donnée
brutegt champ de définition large - Deuxième définition toute forme de données
possédant une structure implicite, non rattachée
à un schémagt données auto-descriptives - Exemples gt page Webgt textegt document XML
6Quelques propriétés
- Propriétés des données gt données
auto-descriptivesgt données hétérogènes - Propriétés de la structure gt structure
implicitegt structure irrégulièregt peu de
contraintes - Confusion entre données et structure
- Pas de connaissances a priori de la structure
7Quelques enjeux
- Flexibilité de léchange de données
- Intégration de données
- Gestion de lhétérogénéité
- Système qui sadapte aux données et non pas le
contraire - Augmentation des possibilités de requêtage
- Définir des schémas de données
- Correspondance entre schémasgt subsumption
8Quelques problèmes
- Les SGBD standard ne sont pas adaptésgt ne
supportent pas lhétérogénéitégt niveau de
contrainte trop élevégt structure explicite et
régulièregt connaissance du schéma obligatoire - Comment modéliser les données semi-structurées ?
92. Modéliser des données semi-structurées
- Modèle de données
- Modèle OEM
- Schéma de types
- Assignation de schémas
10Modèle de données
- Graphe étiqueté, orienté, avec un nœud racinegt
arcs orientés et étiquetésgt un nœud racine
uniquegt presque un arbre - Exemple description des personnages de la bande
dessinée Astérix
11(No Transcript)
12Modèle OEM
- OEM Object Exchange Modelgt Tsimmis Project de
Stanford - Modèle minimaliste permettant de représenter un
grand nombre de formes de données, dont les BD
standard - Nœuds objets avec oidgt objets atomiques vs
objets complexesgt o. atomiques int, string,
nœuds-feuillesgt o. complexes
(étiquette,oid) nœuds-intermédiaires
13Schéma de données (1/2)
- Modèle simplifiégt nœud racine uniquegt arcs
orientésgt nœuds identifiés (oid) et étiquetés
(sauf la racine)gt nœuds-références étiquetés
avec
14 O1 personnage
O14
O11 nom
O12 origine
O13 description
O111 Astérix
O121 Gaule
O131 cheveux
O132 taille
O2 ami
O1311 jaunes
O1312 petit
Figure 2 Schéma de données
15Schéma de données (2/2)
- O ensemble infini doid et L ensemble
détiquettes - Une b.d. est une structure DltOD, labelD,
childrenDgt1. OD ? O2. labelD est un mapping de
OD dans L3. childrenD est un mapping de OD??
dans ?i?0ODi si labelD(o), alors
childrenD(o)?OD1 - La structure obtenue en ne considérant pas les
nœuds-références est un arbre - Retour à lexemple
16Schéma de types (1/2)
- Exploiter la structure avec un système de typage
des donnéesgt notion dobjets typés - Utilisation dun schéma de types pour décrire ce
systèmegt prédicats sur les étiquettesgt
expressions régulières sur les descendants
17 T1 personnage
?
T14
T11 nom
T12 origine
T13 description
T111 String
O121 Gaule
T131 cheveux
T132 taille
T2 ami
T1311 String
T1312 String
Figure 3 Schéma de types
18Schéma de types (2/2)
- T ensemble infini de noms de types, P ensemble de
prédicats sur les étiquettes fermé pour la
disjonction (ou), la conjonction (et) et le
complémentaire (not()). - L(R) langage défini par les expressions
régulières sur Tgtt, t, (t1,t2), (t1t2), t1,
t1?, etc. - Un schéma de types est une structure
SltTS,predicateS, regexpSgt 1. TS sous-ensemble
fini de T2. predicateS mapping de TS dans P,
avec soit predicateS(t) soit
?predicateS(t)3. regexpS mapping de TS?? sur
L(R)S, avec si predicateS(t), regexpS(t) est
de la forme t1t2tn - Retour à lexemple
19Assignation de schéma (1/2)
- Soient D une base de données et S un schéma de
types - D est de type S ssi il existe une fonction
dassignation f OD?? ?TS ?? tq 1. f(?)
?2. Pour o?OD, predicateS(f(o))labelD(o)3.
Pour o?OD ??, avec childrenD(o)o1,..,on,
f(o1),..,f(on)?L(regexpS(f(o))) - Retour aux exemples
20O23 description
label(O23) description children(023)
O231,O232,O233
O231 cheveux
O233 poids
O232 taille
O2331 bas de poitrine
O2321 grand
O2321 roux
T23 description
predicate(T23) description regexp(T23)
T231,T232,T233?
?
T231 cheveux
T233 poids
T232 taille
T2331 String
T2321 String
T2321 String
predicate(f(O23))label(O23)description f(O231),
f(O232), f(O233)?L(regexp(T23))
Figure 4 Assignation de schéma
21Assignation de schéma (2/2)
- Première remarque Il existe un schéma minimal
Any assignable à toute base de données. - Seconde remarque Pour chaque base de données S,
il existe un schéma S ne typant que cette base,
noté SD.
223. Subsumption entre schémas
- Le problème
- Subsumption de schémas
- Propriétés
- Utilisation de la subsumption
23Le problème
- Comment intégrer des données traitant des
informations homogènes provenant de sources
hétérogènes ? - Quelle correspondance entre 2 schémas de types ?
- Exemple
24PhysicalDescr description
Schema S
hair cheveux
height taille
heightDesc String
hairDescr String
T23 description
Schema S
?
T231 cheveux
T233 poids
T232 taille
T2331 String
T2321 String
T2321 String
Figure 5 Relation entre schémas
25Subsumption de schémas
- Définition intuitive relation de correspondance
entre les types de deux schémas, mapping entre
deux schémas.gt assignation de types entre
schémas - Soient S et S deux schémas de types, S subsume
S sil existe une fonction de mapping gTS???
TS?? tq 1. g(t)? ssi t?2. ?t?TS,
predicateS(t)? predicateS(g(t))3.
?t?TS??,g(L(regexpS(t)))? L(regexpS(g(t))) - Si S subsume S et S subsume S alors on a une
relation déquivalence entre S et S - Exemple
26PhysicalDescr description
Schema S
S subsume S avec la fonction g tq
g(PhysicalDescr)descriptiong(hair)T231g(hair
Descr)T2321g(height)T232g(heightDescr)T2321 P
ar ex, on a predicateS(PhysicalDescr)predicate
S(T23) descriptionLregexpS(PhysicalDescr)
cheveux,tailleLregexpS(description)cheveux,ta
ille,poids?et L?L
hair cheveux
height taille
heightDesc String
hairDescr String
T23 description
Schema S
?
T231 cheveux
T233 poids
T232 taille
T2331 String
T2321 String
T2321 String
Figure 6 Subsumption entre schémas
27Propriétés de la subsumption
- SD subsume tout schéma assignable à D
- La relation de subsumption est transitive
- Si S est assignable à D et S subsume S alors S
est assignable a Dgt utile pour la validation de
schémas - Avantages gt travail sur des schémas (tailles lt
taille des données)gt pas daccès direct aux
données
28Utilisation de la subsumption
- Idée forte accéder aux données par le schéma le
plus adéquat - Système de requêtes pour une requête donnée,
indépendante dun schéma, trouver le schéma
permettant dobtenir le résultat - borne inférieure pour le relation de susbsumption
pour deux schémas, il existe un schéma maximal
subsumant les deux autres.gt optimiser les
informations de typage communesgt détermination
du bon schéma - Systèmes de requêtes, systèmes de stockage,
intégration
29Conclusion
- Notion théorique que lon retrouve dans de
nombreux travaux sur les données semi-structurées
XML Schema, YATL, etc. - Le typage de données est dune grande
complexitégt la subsumption permet de travailler
sur des schémas plutôt que sur les bases de
données directement - Améliorer les systèmes de requêtes est lune des
principales motivations
30Bibliographie
- Subsumption for XML types - Gabriel M Kuper
Jérôme Siméon (2001) - Semi-structured data - Peter Buneman (1997)
- Querying semi-structured data - Serge Abiteboul
(1997) - Adding structure to unstructured data - Peter
Buneman, Susan Davidson, Duan Fernandez, Dan
suciu (1997)