The chapters are structured such that one could cover one chapter per week for a semester-long course with, depending on one’s interest, e.g., to spread Chapter 6 over two lectures or elaborate more on Chapter 5.
- Chapter 1: Introduction. The introductory chapter addresses differences between databases and knowledge bases, conceptual data models and ontologies, what an ontology is (and is not), and takes a sampling of application areas, such as the Semantic Web and data integration.
- Block 1: Logic foundations for ontologies
- Chapter 2: First order logic and automated reasoning. This chapter provides a recap of the basics of first order predicate logic, including the notion of model-theoretic semantics. The second part introduces the principles of reasoning over a logical theory, and tableau reasoning in particular.
- Chapter 3: Description Logics. This chapter is devoted to a gentle introduction to the basics of Description Logics, which are a family of languages that are decidable fragments of FOL and lie at the basis of most ‘species’ of the World Wide Web consortium’s standardised Web Ontology Language OWL. Tableau reasoning returns and is adapted to the DL setting.
- Chapter 4: The web ontology language OWL and Automated Reasoning. The chapter starts with a few historical notes to put the language(s) into context, and proceeds with OWL 2 and its computationally better behaved profiles. In addition, we take a look at the principal automated reasoning services for (OWL) ontologies, such as satisfiability checking and classification and how this works in the currently available software. It has a short recap on computational complexity to appreciate the trade-offs between language features and scalable applications, and closes with a note on the broader context of the Semantic Web on the one hand, and more expressive logics on the other.
- Block 2: Developing good ontologies
- Chapter 5: Methods and Methodologies. This chapter starts with a sampling of methodologies to structure the process of actually developing an ontology. Drilling down into some detail, this also requires several methods to improve an ontology’s quality, which, to some extent, use the automated reasoner to the developer’s benefit as well as some philosophical notions.
- Chapter 6: Top-down Ontology Development. One step of ontology development is the use of foundational ontologies and their formalisations. We shall have a look at some typical content of foundational ontologies and look at how they represent things differently from conceptual modelling practice so as to foster interoperability. Several foundational ontologies will pass the revue. As part-whole relations are deemed very important in ontology development, both its foundations as well as some practical guidance on its use as discussed.
- Chapter 7: Bottom-up Ontology Development. In addition to starting from ‘above’ with a foundational ontology, one can reuse legacy material to generate candidate classes and relations to speed up populating an ontology. In particular, we will look at relational databases, thesauri (including SKOS), spreadsheets, and natural language processing. It also introduces ontology design patterns.
- Block 3: Advanced Topics
This block contains a (small) selection of advanced topics.
- Chapter 8: Ontology-Based Data Access. Due to various usage scenarios, there is a need to maintain the link between the data and the knowledge, such as in scientific workflows or in silico biology and enhanced user and content management in e-learning applications. For scalability purposes, one connects a database to an ontology so that one can query the database ‘intelligently’ through the ontology. The chapter starts with a motivation and design choices and then proceeds to one such instantiation with (roughly) OWL 2 QL, a mapping layer, and a relational database.
- Chapter 9: Ontologies and natural language. This chapter considers two principal interactions between ontologies and natural language: dealing with the internationalisation and localisation of ontologies, and a natural language interface to ontology by means of a controlled natural language to render the axioms readable for domain experts.
- Chapter 10: Advanced modelling with additional language features. There are various extensions to the ‘basic’ ontology languages and reasoning services to cater for additional knowledge that needs to be represented, such as vagueness, uncertainty, and temporal aspects of a subject domain. The chapter touches upon fuzzy and rough ontologies and considers briefly a temporal DL that, albeit impractical at present, does solve a range of modelling issues.
While the textbook is aimed at advanced undergraduate/early postgraduate level for people studying for a degree in, or with a background in, computer science, it can be used differently. For instance, one may be a logician and wonder what those philosophers are going on about, or are unfamiliar with the ‘hands in the mud’ of some bio-ontologies project and wants to gain an appreciation of those efforts. In that case, it would be better to commence with Block II and just consult Block I as/if the need arise. Conversely, if one has tried to develop an ontology and ‘fights’ with the reasoner or cannot represent the things one would like, then commence with Block I, which will provide some answers to solve such issues. In any case, both the material of Block I and Block II are prerequisites for the advanced topics in Block III. The three chapters in Block III can be done in order of preference, or just a subset thereof.
Finally, additional materials are available online at the book’s webpage at http://www.meteck.org/teaching/OEbook/. These materials consist mainly of supporting material for the exercises.