1 / 36

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. Widom departement of computer science Stanford university. INTRODUCTION.

pink
Download Presentation

Thème: web et bases de données

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. INTRODUCTION Le problème est de fournir un accès à des sources d’informations diverses et variées: CLIENT des informations non enregistrées (on-line) pour faire des requêtes • les bd normalisées sql les bases de connaissances • les entrepôts d’objets les systèmes de fichiers les systèmes de récupération de documents

  3. 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.

  4. Objectif Fournir : • une structure • et des outils d'aide aux humains Il y a trois catégories d ’outils:

  5. CLIENT 1- Traducteur Échange de l'information: Avec un format d'échange convenu, il faut des outils pour traduire Résultat transmis dans le format commun de l’information Requête en langage de requête commun TRADUCTEUR Requête transmise dans le langage de requête de la source d’information Résultat de la source d’information SOURCE 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.

  6. 2- Découverte de l'information : browser 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.

  7. 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.

  8. 3. Médiateurs. Analyse des tendances pour IBM Combinaison des deux sources médiateur Rapport du cours des actions Table des résultas annuels médiateur Extraction des chiffres clés Rapport annuel des actionnaires d ’IBM sur la vente Rapport annuel des actionnaires d ’IBM sur la conception Rapport annuel des actionnaires d ’IBM sur l ’assemblage

  9. 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.

  10. 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.

  11. 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.

  12. label type value object-id 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 sedé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.

  13. Le label Le 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. 

  14. 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

  15. 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.

  16. Personne Nom Prenom … Différences OEM et modèle de données OO La nature flexible de l'OEM peut nous permettre de modéliser les dispositifs complexes d'une source d'une manière simple. (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)... Modèle OO OEM a pour parent

  17. 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.

  18. 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.

  19. 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 object WHERE 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.

  20. 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

  21. 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)

  22. 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'')

  23. 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'')

  24. 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.

  25. 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'')

  26. 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.

  27. 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'')

  28. Schéma: traducteur et prédicat Requête oemql réponse Construit en langage C TRADUCTEUR requête dans le langage de récupération booléenne du folio information Évaluation du prédicat émetteur d'informations bibliographique appelé Folio prédicats

  29. 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.

  30. 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.

  31. 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

  32. browser

  33. 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.

  34. 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.

  35. 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

More Related