thème: web et bases de données

36
Thème: web et bases de données ECHANGE D’OBJETS A TRAVERS DES SOURCES D’INFORMATION HETEROGENE titre: Object Exchange Across Heterogeneous Information Source de Yannis Papakonstantinou, H. Garcia-Molina, J. Widom departement of computer science Stanford university

Upload: pink

Post on 17-Mar-2016

36 views

Category:

Documents


2 download

DESCRIPTION

Thème: web et bases de données. ECHANGE D’OBJETS A TRAVERS DES SOURCES D’INFORMATION HETEROGENE titre: Object Exchange Across Heterogeneous Information Source de Yannis Papakonstantinou, H. Garcia-Molina, J. Widom departement of computer science Stanford university. INTRODUCTION. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Thème: web et bases de données

Thème: web et bases de données

ECHANGE D’OBJETS A TRAVERS DES SOURCES

D’INFORMATION HETEROGENE

titre: Object Exchange Across Heterogeneous Information Source de Yannis Papakonstantinou, H. Garcia-Molina, J.

Widomdepartement of computer science Stanford university

Page 2: Thème: web et bases de données

Le problème est de fournir un accès à des sources d’informations diverses et variées:

INTRODUCTION

CLIENT

les bd normalisées sql les entrepôts d’objets

les bases de connaissancesles systèmes de fichiers

les systèmes de récupération de documents

des informationsnon enregistrées (on-line) pour faire des requêtes

Page 3: Thème: web et bases de données

Description de l’intégration d ’informations hétérogènes par rapport à l'intégration des bases de données conventionnelles

données non-structurées ou structurées, sans schéma régulier pour décrire les données

environnement est dynamique accès et intégration de l'information entrelacés. intégration exigeant une participation plus humaine.

Page 4: Thème: web et bases de données

Objectif

Fournir : une structure et des outils d'aide aux humains

Il y a trois catégories d ’outils:

Page 5: Thème: web et bases de données

1- TraducteurÉchange de l'information: Avec un format

d'échange convenu, il faut des outils pour traduire

SOURCEINFORMATION

Requête transmise dans le langage de requête de la source d’information

Résultat de la source d’information

CLIENT

TRADUCTEUR

Requête en langage de requête commun

Résultat transmis dans le format commun de l’information

Une fois qu’un format d'échange est convenu, il faut des outils pour traduire entre un émetteur d'informations et le format d'échange.

Page 6: Thème: web et bases de données

Les utilisateurs voudront explorer l’information disponible pour:

découvrir des sources, browser (feuilleter) des objets, et étudier la sémantique des objets et leurs

composants.

Les outils (browser) permettent aux humains (et finalement aux logiciels) :

de faire des requêtes pour des sources d'intérêt, de demander des objets à ces sources, de naviguer par/au travers des objets (explorant leurs

composants), et de poser des questions sur la signification des

objets et de leurs composants.

2- Découverte de l'information : browser

Page 7: Thème: web et bases de données

3. Médiateurs. Un médiateur est un programme qui rassemble

l'information d'une ou plusieurs sources, et la combine, et exporte l'information résultante.

Page 8: Thème: web et bases de données

3. Médiateurs.

médiateur

Rapport annuel des actionnaires d ’IBM sur la vente

Rapport annuel des actionnaires d ’IBMsur la conception

Rapport annuel des actionnaires d ’IBMsur l ’assemblage

Extraction des chiffres clés

Table des résultas annuels

Rapport du cours des actions

médiateur

Analyse des tendances pour

IBMCombinaison des deux sources

Page 9: Thème: web et bases de données

SOMMAIRE

Définition d’un modèle d’échange de l’information basé sur l ’objet: OEM

Définition d’un langage d’interrogation correspondant au modèle

Comment le modèle et le langage ont été employés pour intégrer des sources d’informations hétérogènes.

Description des deux bibliothèques polyvalentes mises en place pour échanger des objets entre clients et serveurs.

Page 10: Thème: web et bases de données

SOMMAIRE

Définition d’un modèle d’échange de l’information basé sur l ’objet OEM

Définition d’un langage d’interrogation correspondant approprié à l’intégration des sources d’informations diverses

Comment le modèle et le langage ont été employés pour intégrer des sources d’informations hétérogènes.

Description des deux bibliothèques polyvalentes mises en place pour échanger des objets entre clients et serveurs.

Page 11: Thème: web et bases de données

Modèle d‘Echange d‘Objet:OEM

L’OEM est bien approprié à l'échange de l'information dans les environnements hétérogènes et dynamiques.

L'OEM est assez flexible pour inclurent tous les types d'information, et il est assez simple de faciliter l'intégration;

L'OEM inclut des informations sémantiques sur des objets.

Page 12: Thème: web et bases de données

L’idée fondamentale de l’OEM

Les valeurs échangées sont indiquée par un label (ou un tag) qui décrit sa signification.

L’objet se décrit lui-même: idée de self-describing Exemple:Echange de la valeur de la température 80 degrés de

Fahrenheit:temperature_in_Fahrenheit, integer 80 la ch. de car. « temp. in Fahrenheit » est lisible par un

humain, « integer » indique le type de la valeur, et 80 est la valeur elle-même.

label type value object-id

Page 13: Thème: web et bases de données

Le labelLe label joue deux rôles: identifier un objet, et identifier la signification d'un objet .Le label est relatif à la source qui l’exporte.C’est le client qui est le médiateur et nomme

différemment les objets si le sens pour la source est différent.

Exemple: le label person-name signifie nom du personnel pour une source A et nom du personnel et dirigeants pour une source B.

Alors le client renomme. 

Page 14: Thème: web et bases de données

OID Chaine de longueur variable qui identifie de

manière unique l ’objet Chez le client, les ensembles et les listes

contiennent des éléments de deux formes. Un tag interne indique la forme de chaque élément.

référence locale d'objet OID à distance

Page 15: Thème: web et bases de données

Différences OEM et modèle de données OO

l'OEM est un modèle d'échange d’'informations hétérogènes. L'OEM n'indique pas comment les objets sont stockés à la

source. L'OEM indique comment les objets sont reçus par un client,

mais après réception le client les stocke de la façon qu ’il veut.

L ’OEM est beaucoup plus simple.Un modèle simple mais puissant car: les dispositifs avancés peuvent être ''émulé" quand ils sont

nécessaires.

Page 16: Thème: web et bases de données

Différences OEM et modèle de données OO

(personne, set, {o1,o2,o3,o4,o5,o6,o7}) o1 is location of(nom, string, ” DUPOND" )o2 is location of(prenom, string, " Julie")o3 is location of(photo, bitmap,  "ph1")o4 is location of(nom_pere, string, " DUPOND")o5 is location of(nom_mere, string, " MOULIN")o6 is location of(prenom_pere, string,"Georges")o7 is location of(prenom_mere, string, "Aline")

incorporation des parents dans les subobjects de l’objet

OID de l’objet: l'id0 (personne), l'id1 (nom), l'id2 (prenom), l'id3 (photo)...

Personne

Nom Prenom…

a pour parent

Modèle OO OEM

La nature flexible de l'OEM peut nous permettre de modéliser les dispositifs complexes d'une source d'une manière simple.

Page 17: Thème: web et bases de données

Différences OEM et modèle de données OO

Une différence distincte finale est l'utilisation des labels au lieu d'un schéma.

Dans les modèles traditionnels de données, un client doit se rendre compte du schéma afin de poser une question. Dans le modèle OEM, un client peut découvrir la structure d'information.

Page 18: Thème: web et bases de données

SOMMAIRE

Définition d’un modèle d’échange de l’information object-based OEM

Définition d’un langage d’interrogation correspondant au modèle

Comment le modèle et le langage ont été employés pour intégrer des sources d’informations hétérogènes.

Description des deux bibliothèques polyvalentes mises en place pour échanger des objets entre clients et serveurs.

Page 19: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

Pour demander des objets OEM d'un émetteur d'informations, un client émet des requêtes en OEMQL.

La construction de base dans OEMQL est une expression de SQLlike SELECT-FROM-WHERE. La syntaxe est:

SELECT FetchExpression FROM objectWHERE Condition

le résultat de cette requête est un objet, avec un label spécial answer:(answer, se, {obj1, obj2,…,objn})obj i est un composant de object indiqué dans la clause FROM, où le

composant est placé près du FetchExpression et satisfait la condition.

Page 20: Thème: web et bases de données

le langage d'interrogation (query language)

Query language syntax: Query ::= SELECT FetchExp FROM Object WHERE Condition FetchExp ::= Path | Path.OID Path ::= Label | Label.Path Label ::= string [ (variable) ] | ? [ (variable) ] | * [ (variable) ] Object ::= string /*lexical object identifier */ Condition ::= true | Path | predicate(Value 1 , Value 2 , : : : , Value n )

| Condition1 and Condition 2 Value ::= Path | constant

Page 21: Thème: web et bases de données

Exemple: (bibliography, set, {doc 1 , doc 2 , … , doc n }) doc 1 is (document, set, {authors1 , topic1 , callnumber1 })

authors1 is (authorset, set, {author11}) author11 is (authorlastname, string, ``Ullman”)

topic1 is (topic, string, ``Databases'') callnumber1 is (internalcallno, integer, 25)

doc2 is (document, set, {authors 2 , topic 2, callnumber 2}) authors2 is (authorset,set,{author12, author22 ,author32 })

author12 is (authorlastname, string, ``Aho'') author22 is (authorlastname, string, ``Hopcroft'') author32 is (authorlastname, string, ``Ullman”) topic2 is (topic, string, ``Algorithms'')

callnumber2 is (deweydecimal, string,”BR273”) . . . doc n is (document, set, {authors n , topic n , callnumber n })

authors n is (singleauthorfullname, string, ``Michael Crichton”) topic n is (topic, string, ``Dinosaurs'') callnumber n is (fictioncallno, integer, 95)

Page 22: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

L'exemple 1: Recherche la matière de chaque document pour laquelle ''Ullman`` est un des auteurs:

SELECT bibliography.document.topic FROM root WHERE bibliography.document.authorset.authorlastname=“Ullman”

(root: racine)

Voici le résultat de la requête:(answer, set, {obj 1, obj 2})

obj 1 is (topic, string, ``Databases'') obj 2 is (topic, string, ``Algorithms'')

Page 23: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

l'exemple 2: utilisation d'une clause WHERE existentiel. Cette requete recherche les matières de tous les documents avec des numéros d'appel internes.

SELECT bibliography.?.topic FROM root WHERE bibliography.?.internalcallno Le label "?'' matche avec n'importe quelle label. il n'y a aucun opérateur de comparaison dans la clause Where

de cette requête, juste un chemin.

Réponse:(answer, set, {obj 1})

obj 1 is (topic, string, ``Databases'')

Page 24: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

l'exemple 3,3 dans l'exemple 3,2, le symbole de wildcard ? a été employé pour matcher n'importe quelle label. Il est également permis d ’utiliser des “ wildpaths ” indiqué par le symbole ``*``.

Employant le "*", la requete dans l'exemple précédent serait exprimé comme:

SELECT *.topic FROM root WHERE *.internalcallno

Le symbole ``*`` matches n'importe quel chemin de longueur un ou plusieurs.

Page 25: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

l'exemple 3,4 variables employées pour indiquer différents chemins avec le même ordre de labels.

Cette requête recherche chaque document pour lequel le ''Aho`` et le ''Hopcroft`` sont des auteurs: SELECT bibliography.document FROM root WHERE bibliography.document.authorset.authorlastname(a1) =“Aho” AND bibliography.document.authorset.authorlastname(a2)=“Hopcroft” réponse:(answer, set, {obj}) obj is (document, set, {authors2 , topic2 , callnumber2 })

authors2 is (authorset,set,{author 12,author 2 2 ,author 3 2 }) author 12 is (authorlastname, string, ``Aho'') author 22 is (authorlastname, string, ``Hopcroft'') author 32 is (authorlastname, string, ``Ullman'')

topic 2 is (topic, string, ``Algorithms'') callno 2 is (deweydecimal, string, ``BR273'')

Page 26: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

Cette requete recherche l'OID pour tous les documents avec un numéro d'appel deweydecimal :

SELECT *.OID FROM root WHERE *.deweydecimal

réponse:(oid de la source)(answer, set, {id 1 }) où id1 est l'Oid pour l'objet désigné sous le nom du Doc 2.

Page 27: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

L'exemple 3,6 OEMQL permet à n'importe quel prédicat d'être employé dans la condition de la clause WHERE.

Les prédicats, qui peuvent être évalués pour un émetteur d'informations donné, dépendent du traducteur et de la source.

Si l ’émetteur d'informations bibliographique soutient le prédicat:auteur(document, nom_auteur ) vrai si au moins un auteur avec le nom donnéAlors la requête dans l'exemple 3,4 pourrait être écrite comme:

SELECT bibliography.document FROM root WHERE author(bibliography.document, ''Aho'') and author(bibliography.document, ''Hopcroft'')

Page 28: Thème: web et bases de données

émetteur d'informations bibliographique appelé Folio

TRADUCTEUR

prédicats

Construit en langage C

Requête oemql

requête dans le langage de récupération booléenne du folio

Évaluation du prédicat

information

réponse

Schéma: traducteur et prédicat

Page 29: Thème: web et bases de données

le langage d'interrogation (query language): OEMQL

Une prolongation utile pour OEMQL:

la capacité d'exprimer des requêtes au sujet des labels et de la structure d'objet pour permettre d’ `` apprendre'' au sujet des objets exportés par un émetteur d'informations avant que des requêtes significatives puissent être posées.

Page 30: Thème: web et bases de données

SOMMAIRE

Définition d’un modèle d’échange de l’information object-based OEM

Définition d’un langage d’interrogation correspondant au modèle

Comment le modèle et le langage ont été employés pour intégrer des sources d’informations hétérogènes.

Description des deux bibliothèques polyvalentes mises en place pour échanger des objets entre clients et serveurs.

Page 31: Thème: web et bases de données

Mise en œuvre des traducteurs, des browsers, et des médiateurs

Architecture générale: Le browser hétérogène de l'information Traducteurs et médiateurs

Page 32: Thème: web et bases de données

browser

Page 33: Thème: web et bases de données

SOMMAIRE

Définition d’un modèle d’échange de l’information object-based OEM

Définition d’un langage d’interrogation correspondant au modèle

Comment le modèle et le langage ont été employés pour intégrer des sources d’informations hétérogènes.

Description des deux bibliothèques polyvalentes mises en place pour échanger des objets entre clients et serveurs.

Page 34: Thème: web et bases de données

5 les bibliothèques d ’OEM Fournissent les fonctionnalités communes

requises pour l’échange d'objet et de requête. Il y a deux composants principaux: la bibliothèque du client (CSL) et la bibliothèque du serveur (SSL) pour le translateur/médiateur.

Page 35: Thème: web et bases de données
Page 36: Thème: web et bases de données

Conclusions

Cette étude fournit une solution pour intégrer des données hétérogènes: avec le modèle d’échange d ’objet: OEM un langage d ’interrogation OEMql