Lecture Notes Ontology Engineering
Total Page:16
File Type:pdf, Size:1020Kb
Lecture Notes Ontology Engineering Department of Computer Science University of Cape Town, South Africa Version 1.2 2014 C. Maria Keet Lecture Notes Ontology Engineering C. Maria Keet Keywords: Ontology, ontologies, Knowledge base, Description Logics, OWL, Semantic Web, Ontology Development Copyright © 2014 by Maria Keet This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 543 Howard Street, 5th floor, San Francisco, Cal- ifornia, 94105, USA. These Lecture Notes are typeset in LATEX Cover design by Maria Keet Printed and bound by you Contents Preface vii Course Outline ix 0.1 Aims and Synopsis . ix 0.2 Module assessment . ix 0.3 Course material . .x 0.4 Course content . .x 1 Introduction 1 1.1 What is an ontology? . .1 1.2 What does an ontology look like? . .5 1.3 What is the usefulness of an ontology? . .6 1.3.1 Data and information system integration . .7 1.3.2 Ontologies as part of a solution to other problems . 11 1.4 Success stories . 13 1.5 Outline and usage of the lecture notes . 15 1.6 Exercises . 16 1.7 Literature and reference material . 17 I Logic foundations for ontologies 19 2 First Order Logic recap 21 2.1 First order logic syntax and semantics . 21 2.2 Reasoning . 25 2.2.1 Introduction . 25 2.2.2 Basic idea . 26 2.2.3 Deduction, Abduction, Induction . 27 2.2.4 Proof . 29 2.3 Exercises . 30 2.4 Literature and reference material . 32 3 Description Logics 33 3.1 DL primer . 33 3.1.1 Basic Building Blocks of DL Ontologies . 34 iii 3.1.2 Constructors for Concepts and Roles . 37 3.1.3 The Description Logic SROIQ .................... 40 3.1.4 Description Logic Semantics . 41 3.1.5 Important Fragments of SROIQ ................... 44 3.2 A basic DL: ALC ................................ 45 3.3 Reasoning services . 46 3.4 Exercises . 50 3.5 Literature and reference material . 51 4 The Web Ontology Language OWL 2 53 4.1 Standardizing an ontology language . 54 4.1.1 The OWL family of languages . 55 4.1.2 OWL syntaxes . 57 4.2 OWL2 ..................................... 58 4.2.1 OWL 2 features . 60 4.2.2 OWL 2 Profiles . 61 4.2.3 OWL 2 syntaxes . 63 4.3 Computational Properties . 64 4.3.1 Complexity recap . 64 4.3.2 OWL and computational complexity . 67 4.4 Exercises . 69 4.5 Literature and reference material . 70 II Ontology development 71 5 Methods and Methodologies 73 5.1 Methodologies for ontology development . 74 5.1.1 Macro-level development methodologies . 74 5.1.2 Micro-level development . 77 5.2 Methods to improve an ontology's quality . 80 5.2.1 Explanation and justification . 80 5.2.2 OntoClean to correct a taxonomy . 81 5.2.3 Detecting and revising modelling flaws . 82 5.2.4 Tools . 84 5.3 Design parameters and their dependencies . 85 5.4 Exercises . 87 5.5 Literature and reference material . 87 6 Top-down Ontology Development 89 6.1 Foundational ontologies . 89 6.1.1 Typical content of a foundational ontology . 90 6.1.2 Using a foundational ontology . 95 6.2 Part-whole relations . 100 6.2.1 Mereology . 101 6.2.2 Modelling and reasoning in the context of ontologies . 102 6.3 Ontology Design Patterns . 105 6.4 Exercises . 106 6.5 Literature and reference material . 108 iv 7 Bottom-up Ontology Development 109 7.1 Relational databases and related `legacy' KR . 110 7.2 Thesauri . 113 7.3 Natural language and ontologies . 115 7.3.1 NLP for ontology learning . 115 7.3.2 Multilingual ontologies . 116 7.3.3 NLG to interact with domain experts . 118 7.4 Other semi-automated approaches . 119 7.5 Exercises . 121 7.6 Literature and reference material . 124 III Advanced Topics 125 8 Ontology-Based Data Access 127 8.1 Introduction: Motivations . 127 8.2 OBDA Architecture . 128 8.3 Principal components . 129 8.4 Examples . 133 8.5 Exercises . 134 8.6 Literature and reference material . 134 9 Extra topics 135 9.1 Uncertainty and vagueness . 135 9.2 Ontology-Driven Conceptual Data Modelling . 137 9.3 Time and Temporal Ontologies . 138 9.3.1 Why temporal ontologies? . 138 9.3.2 Temporal DLs . 140 9.4 Challenges in representation and reasoning over ontologies . 143 9.5 Social aspects . 144 Bibliography 145 A Practical Assignment: Develop a Domain Ontology 163 B Assignment: Mini-project 165 C Dealing with References 167 C.1 Introduction . 167 C.1.1 Plagiarism and borderlines . 167 C.2 Referencing in text . 168 C.2.1 Quoting versus citing . 168 C.2.2 Referencing modes . 169 C.2.3 What to put where . 171 C.3 The \References" section . 172 C.3.1 Finding the details of those `random' online documents . 172 C.4 Managing your references . 173 C.5 What you can (not) cite . 175 References . 176 D Answers of selected exercises 177 v Preface These lecture notes for the Ontology Engineering course (at the University of Cape Town, South Africa) are structured in the order of teaching the module for a 4th year BSc(honours) in Computer Science. This 10-credit course covers Block I and Block II. Given that the field is in flux, much new material is becoming available rapidly, so these notes will be updated regularly. I have written these notes under time constraints; hence, a note of caution: these lecture notes are a work in progress and feedback is welcome. A bright side of it being an active field of research and technology development is that you will become acquainted with the forefront of computing|instead of the more common relatively `established' knowledge of your undergraduate courses|which will put you at a competitive advantage and give you a head-start especially if you plan to find a job after graduating with the BSc(hons). The, perhaps downside, is that, at the time of writing, there is no text book yet that fills the gap between undergraduate and PhD- student & researcher-level handbooks and scientific articles in logic-based ontologies, so you will have make do with these notes, the slides, lectures that provide further explanation, exercises with answers, and you will have to learn to read several of those scientific articles. The contents of these lecture notes are themselves updated versions of material I de- veloped for the EMCL Semantic Web Technologies course I taught at the Free University of Bozen-Bolzano, Italy, in 2009,subsequent syllabi for the Ontology Engineering courses at the University of Havana and University of Computer Science, Cuba, and at the Mas- ters Ontology Winter School 2010, South Africa, and the COMP718/720 notes of 2012 and 2013 at UKZN. Some contents of these lecture notes, or accompanying slides used in the lectures, or associated exercises are adapted from slides or tutorials made by other people, and I would like to thank them for having made that material available for use and reuse. They are (in alphabetic order) Jos de Bruijn, Diego Calvanese, Nicola Guar- ino, Matthew Horridge, Ian Horrocks, Markus Kr¨otzsch, Lina Lubyte, Tommie Meyer, Mariano Rodr´ıguez-Muro,Sebastian Rudolph, FrantiˇsekSimanˇc´ık,and David Toman. Cape Town, South Africa C. Maria Keet March, 2014. vii Course Outline 0.1 Aims and Synopsis The principal aim of this module is to provide the participant with a comprehensive overview of ontology engineering. A secondary aim is to provide hands-on experience in ontology development and Semantic Web Technologies that illustrate the theory, such as language features, automated reasoning, and top-down and bottom-up ontology devel- opment. This module covers material such that, upon completion, the student: (i) has a general understanding of the notion of what ontologies and knowledge bases are, what they can be used for, how, and when not; (ii) has obtained an understanding of the, currently, main ontology languages|OWL and its underlying Description Logics languages|in order to represent the knowl- edge in ontologies formally and to reason over them, and have a basic understanding of what the automated reasoner does; (iii) can confidently use an Ontology Development Environment; (iv) can confidently use methods and methodologies to develop ontologies, including the top-down approach with foundational ontologies and bottom-up using non- ontological resources such as relational databases, natural language or thesauri; and (v) has become acquainted with several major applications.