Schema Matching for Structured Document Transformations
Total Page:16
File Type:pdf, Size:1020Kb
Schema Matching For Structured Document Transformations THÈSE Nº 3108 (2004) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut des systèmes informatiques et multimédias SECTION D’INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L’OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR AIDA BOUKOTTAYA Diplôme National d’Ingénieur en Informatique, Ecole Nationale des Sciences de l’Informatique Tunis et de nationalité tunisienne Acceptée sur proposition du jury: Prof. Giovanni Coray, co-directeur de thèse Dr. Christine Vanoirbeek, co-directrice de thèse Prof. Gilles Falquet, rapporteur Prof. Martin Rajman, rapporteur Dr. Vincent Quint, rapporteur Lausanne, EPFL 2004 ACKNOWLEDGMENTS This thesis is the outcome of three years experience at the Theoretical Computer Science Laboratory (LITH) at EPFL. There are many people who helped me in this work, either directly by working on projects with me or indirectly by giving me vision and support. I would like to express my deep gratitude to my advisors Prof. Giovanni Coray and Dr. Christine Vanoirbeek. They offer me the great opportunity of working with them. Thank you for the support you gave to me through your continuous encouragements, your constructive suggestions, your focus and vision on my research and your precious help in reviewing my PhD dissertation. I would like to thank Prof. Gilles Falquet for the long discussions we had, for his constructive remarks, his availability and his precious feedback during the course of this research and the writing of my PHD. I would like to thank the members of my examining committee: Prof. Gilles Falquet, Prof. Martin Rajman and Dr.Vincent Quint, who honoured me by accepting to review and evaluate my thesis. A special thank to Prof. Roger. D. Hersch who kindly accepted to be the president of my PHD jury. I would like to thank all the students who hardly worked with me and contributed efficiently to the development of proposed solutions. I would like to thank all members of LITH Laboratory for their support and their friendship. I would like to thank Frederic for his presence, his invaluable encouragements and help and most of all for lending me an ear when I needed it the most. I would like to thank all my friends especially Dali who has always support me through his human attitude. Last but not least, I would like to express my deep gratitude to my family: my parents Chedly and Aziza, who thought me how to succeed, thank you for your love, your patience and your help; my brothers Hichem and Mohamed for their encouragements, their love and their financial support. Without the help of the above people, this work would never have been completed, nor even begun. i ABSTRACT This dissertation studies structured document content reuse problem. In structured document content reuse, a document (or a part of document) structured under one schema must be restructured and translated into an instance of a different schema. Thus, a notion tied to structured document reuse problem is that of structure transformations. This is typically attained in real world by writing translators encoded on a case-by-case basis using specific transformation languages. Writing and managing complex transformations programs is time consuming and generally requires programming skills. Many solutions to simplify and automate as much as possible the task of structured document transformation specification and execution have been proposed. Several simpler and highly declarative transformation languages and graphical tools for transformation specifications have been introduced as solutions to avoid programming. These languages and tools are very useful in describing and specifying transformations. However, they still require developers to manually indicate mappings for each source and target pair. The manual generation of mappings is an extremely labor-intensive and error-prone process. To shield users from manually performing this task, we advocate the use of a schema matching process which (semi) automatically finds semantic correspondences, so called mappings, between two heterogeneous schemas. Based on such mappings a transformation generator generates automatically the translation program. In this dissertation, we propose a framework for solving XML schema matching problem. We rely on the extraction of semantic information nested within XML structures. Semantics is first captured by making explicit element names meanings, exploiting several element characteristics including the analysis of XML Schema’s designer point of view expressed by the logical organisation of XML content and additional semantic information given by means of features such as datatypes, element constraints and inheritance mechanisms. The proposed framework provides a generic view and formalizes the overall matching process. Our proposed solutions allows to (1) discover semi-automatically an efficient sequence of operations for transforming a source XML schema into a target XML schema using schema matching techniques (2) model discovered mappings and (3) generate automatically the transformation script. Note that the purpose of our work is not to replace the programming languages for XML data translations, but rather to complement them. Experiments we have conducted show that we have been able to achieve good performance for the generation of source-to-target mappings. iii RÉSUMÉ Les travaux de cette thèse concernent la réutilisation de contenu dans le cadre des documents structurés. Cette réutilisation consiste, à partir d’un document ou d’un fragment de document structuré contraint par un schéma, d’être restructuré afin de produire un nouveau document contraint par un schéma différent. Cette notion est donc étroitement liée à la problématique de transformation de structure. Ecrire un programme de transformation est un processus qui est coûteux en temps et qui requiert des connaissances non négligeables en programmation. Plusieurs solutions ont été proposées afin de simplifier ou automatiser cette tâche. Certaines utilisent des langages déclaratifs et des outils graphiques pour contourner les problèmes dus à la programmation. Ces langages et ces outils sont très utiles pour la spécification des transformations. Malgré tout, ils nécessitent toujours l’intervention explicite des développeurs pour indiquer manuellement les liens de correspondance entre les structures sources et les structures cibles. La spécification de ces correspondances est extrêmement complexe à réaliser car elle est non seulement coûteuse en temps mais c’est également un processus cognitif délicat sujet à de nombreuses erreurs. Pour palier ces difficultés, nous proposons l’utilisation d’un processus semi- automatique qui établit les correspondances sémantiques entre deux schémas hétérogènes. Basé sur cette correspondance un générateur de transformation produit ensuite automatiquement un programme de transformation. Notre travail s’inscrit concrètement dans le cadre des documents XML et de la problématique de mise en correspondance de plusieurs schémas XML hétérogènes. Nous nous appuyons sur les informations contenues dans les structures XML. Ces informations sont capturées en rendant explicite le sens des noms des éléments, en exploitant certaines caractéristiques des éléments notamment leur organisation logique et en tirant partie des informations sur le typage, les contraintes sur les éléments ainsi que des caractéristiques d’héritage décrites dans les schémas XML. Nous proposons une formalisation de l’ensemble du processus de correspondance entre les schemas, ce qui permet de calculer de façon semi-automatique une séquence pertinente d’opérations qui va permettre de transformer une instance d’un schéma XML source en une instance d’un schéma XML cible. Nous commençons par (1) appliquer des méthodes de recherche d’équivalences entre les schémas. Une fois établies, ces équivalences permettent de (2) construire les règles de correspondance qui serviront à (3) produire automatiquement la description de la transformation. Ce travail n’a pas pour but de remplacer les langages de transformation, mais au contraire de venir en complément de leurs capacités. Les expérimentations que nous avons conduites nous montrent des résultats satisfaisants et notamment en ce qui concerne la pertinence de la mise en correspondance entre des schémas hétérogènes. iv Table of contents Introduction......................................................................................................................... 1 1. Motivation..................................................................................................................... 1 2. Goals of the dissertation ............................................................................................... 7 3. Contributions and road map.......................................................................................... 8 Part I State of the Art ....................................................................................................... 13 Chapter 1 Structured Document Reuse....................................................................... 15 1.1 Why structuring documents ? ................................................................................... 15 1.2 XML Fundamentals .................................................................................................. 16 1.2.1 The XML data model ........................................................................................ 17 1.2.2 Document Type Definition...............................................................................