Relation de subsumption entre schémas de types Données semi-structurées et typage de données.

Slides:



Advertisements
Présentations similaires
XML.
Advertisements

Algorithmes et structures de données avancées Cours 7
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Architectures Orientées Services
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Cours MIAGE Henry Boccon-Gibod 1 XML, Extensible Mark up Language Un esperanto des langages informatiques.
SCHEMA CINEMATIQUE.
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Gestion de la persistance des objets
Manipulation d’XML avec XSL
Laboratoire SAFARI , UQAM
SOUS-TRAITANCE POWERPOINT
Algorithme et programmation
Initiation aux bases de données et à la programmation événementielle
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Cours 3: Base de donnée XML
Eléments d ’algèbre relationnelle
XML-Family Web Services Description Language W.S.D.L.
OCaml – Les arbres L3 MI.
Initiation aux bases de données et à la programmation événementielle
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
4 - Les automates et les lexiques morphologiques : le contenu mot fléchilemmepartie du discourstraits de flexion Habituellement, un lexique morphologique.
RDF(S)
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
MODELE RELATIONNEL concept mathématique de relation
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Subsumption for XML Types DEA SIR Signe Carlsen Le 27 Mars 2001.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
Sensibilisation a la modelisation
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
IFT6255 – Recherche d’information Jian-Yun Nie
Initiation à XML Sebti Foufou.
Organisation de l’entrepôt edot
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Méthode pour la gestion
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Web sémantique Par Lydia Carine Mampais KI Bamba SISSOKO
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Arbres binaires et tables de hachage
Web sémantique est pratique documentaire
Rapports M1 Terrain Géophysique Le rapport doit tenir en 25 pages maximum ; les tableaux de mesures peuvent être en annexe (non comprises dans les 25 pages).
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Module : Langage XML (21h)
L’enseignement de spécialité SLAM
eXtensible Markup Language. Généralités sur le XML.
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Comprendre le SGBDR Microsoft Access – partie 2
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Responsable : Serge Hamon
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Introduction Module 1.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Faire un dossier documentaire
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
ARIANE : Interopérabilité sémantique et accès aux sources d'information sur Internet Sylvain Aymard, Michel Joubert, Dominique Fieschi, Marius Fieschi.
Transcription de la présentation:

Relation de subsumption entre schémas de types Données semi-structurées et typage de données

Au sommaire… Introduction 1. Données semi-structurées 2. Modéliser des données semi-structurées 3. Subsumption entre schémas Conclusion Bibliographie

Introduction Le Web : une base de données géante non structurée Comment 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.

1. Données semi-structurées Quelques définitions Quelques propriétés Quelques enjeux Et quelques problèmes !

Quelques définitions Première définition : toute forme de données nétant ni une base de données ni de la donnée brute… => champ de définition large Deuxième définition : toute forme de données possédant une structure implicite, non rattachée à un schéma => données auto-descriptives Exemples : => page Web => texte => document XML

Quelques propriétés Propriétés des données : => données auto-descriptives => données hétérogènes Propriétés de la structure : => structure implicite => structure irrégulière => peu de contraintes Confusion entre données et structure Pas de connaissances a priori de la structure

Quelques 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émas => subsumption

Quelques problèmes Les SGBD standard ne sont pas adaptés => ne supportent pas lhétérogénéité => niveau de contrainte trop élevé => structure explicite et régulière => connaissance du schéma obligatoire Comment modéliser les données semi-structurées ?

2. Modéliser des données semi-structurées Modèle de données Modèle OEM Schéma de types Assignation de schémas

Modèle de données Graphe étiqueté, orienté, avec un nœud racine => arcs orientés et étiquetés => un nœud racine unique => presque un arbre Exemple : description des personnages de la bande dessinée Astérix

personnage nom origine descriptionnom origine descriptionnom origine description cheveuxtaille cheveux taille poids ami &1231&1232&1233 &11 &1 &12&13 &111&112&113&121&122&123&131&132&133 &1131&1132 BDAsterix jaunes ObelixCesarGaule Romemince petitbas de poitrine roux à tresses grand Asterix Figure 2 : graphe OEM

Modèle OEM OEM : Object Exchange Model => 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 oid => objets atomiques vs objets complexes => o. atomiques : int, string, … = nœuds-feuilles => o. complexes : {(étiquette,oid)} = nœuds-intermédiaires

Schéma de données (1/2) Modèle simplifié => nœud racine unique => arcs orientés => nœuds identifiés (oid) et étiquetés (sauf la racine) => nœuds-références étiquetés avec « & »

O1 := personnage O11 := nom O12 := origine O13 := description O111 := «Astérix»O121 := «Gaule»O131 := cheveuxO132 := taille O1311 := «jaunes»O1312 := «petit» Figure 2 : Schéma de données O14 := & O2 := «ami»

Schéma de données (2/2) O ensemble infini doid et L ensemble détiquettes Une b.d. est une structure D= 1. O D O 2. label D est un mapping de O D dans L 3. children D est un mapping de O D { } dans i 0 O D i ; si label D (o)=&, alors children D (o) O D 1 La structure obtenue en ne considérant pas les nœuds-références est un arbre Retour à lexemple

Schéma de types (1/2) Exploiter la structure avec un système de typage des données => notion dobjets typés Utilisation dun schéma de types pour décrire ce système => prédicats sur les étiquettes => expressions régulières sur les descendants

T1 := personnage T11 := nom T12 := origine T13 := description T111 := StringO121 := «Gaule»T131 := cheveuxT132 := taille T1311 := StringT1312 := String Figure 3 : Schéma de types T14 := & T2 := «ami» * ?

Sché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 T =>t, &t, (t 1,t 2 ), (t 1 |t 2 ), t 1 *, t 1 ?, etc. Un schéma de types est une structure S= : 1. T S sous-ensemble fini de T 2. predicate S mapping de T S dans P, avec soit predicate S (t)={&} soit & predicate S (t) 3. regexp S mapping de T S { } sur L(R) S, avec si predicate S (t)={&}, regexp S (t) est de la forme t 1 |t 2 |…|t n Retour à lexemple

Assignation 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 : O D { } T S { } tq : 1. f( )= 2. Pour o O D, predicate S (f(o))=label D (o) 3. Pour o O D { }, avec children D (o)=[o 1,..,o n ], f(o 1 ),..,f(o n ) L(regexp S (f(o))) Retour aux exemples

O23 := description O231 := cheveux O232 := taille O233 := poids O2331 := «bas de poitrine» O2321 := «grand»O2321 := «roux» T23 := description T231 := cheveux T232 := taille T233 := poids T2321 := String T2331 := String ? label(O23) = description children(023) = [O231,O232,O233] predicate(T23) = description regexp(T23) = T231,T232,T233? predicate(f(O23))=label(O23)=description f(O231), f(O232), f(O233) L(regexp(T23)) Figure 4 : Assignation de schéma

Assignation 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é S [D].

3. Subsumption entre schémas Le problème Subsumption de schémas Propriétés Utilisation de la subsumption

Le 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

PhysicalDescr := description hair := cheveux height := taille heightDesc := StringhairDescr := String T23 := description T231 := cheveux T232 := taille T233 := poids T2321 := String T2331 := String ? Figure 5 : Relation entre schémas Schema S

Subsumption de schémas Définition intuitive: relation de correspondance entre les types de deux schémas, mapping entre deux schémas. => assignation de types entre schémas Soient S et S deux schémas de types, S subsume S sil existe une fonction de mapping g:T S { } T S { } tq : 1. g(t)= ssi t= 2. t T S, predicate S (t) predicate S (g(t)) 3. t T S { },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

PhysicalDescr := description hair := cheveux height := taille heightDesc := StringhairDescr := String T23 := description T231 := cheveux T232 := taille T233 := poids T2321 := String T2331 := String ? Figure 6 : Subsumption entre schémas Schema S S subsume S avec la fonction g tq : g(PhysicalDescr)=description g(hair)=T231 g(hairDescr)=T2321 g(height)=T232 g(heightDescr)=T2321 Par ex, on a : predicate S (PhysicalDescr)=predicate S (T23) =description L=regexp S (PhysicalDescr)=cheveux,taille L=regexp S (description)=cheveux,taille,poids? et L L

Propriétés de la subsumption S [D] 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 D => utile pour la validation de schémas Avantages : => travail sur des schémas (tailles pas daccès direct aux données

Utilisation 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. => optimiser les informations de typage communes => détermination du bon schéma Systèmes de requêtes, systèmes de stockage, intégration…

Conclusion 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é => 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

Bibliographie 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)