The preceding sections already indicated that several aspects would return ‘later in the course’. The order that will be followed in this book, is to commence with a recap (or brief introduction, as may be the case) of First Order Predicate Logic regarding the formalization with syntax, semantics (what it all ‘means’, formally), and principles of automated reasoning. Full FOL is undecidable, but there are less expressive languages, i.e., fragments of FOL, that are decidable for a set of important problems in computing in the area of ontologies and knowledge bases. One such family of languages is the Description Logics (DL) family of languages. These two topics are covered in Chapter 2 and Chapter 3, respectively. Several DLs, in turn, form the basis of the W3C standardized Web Ontology Language OWL (actually, a family of languages, too). OWL specifies a computer-processable serialization of the ontology and knowledge base, and interacts with the automated reasoners for OWL. OWL and the so-called standard reasoning services are summarised in Chapter 4.
After these logic foundations in Block I, we shall look at how one can develop an ontology. The first approach is a so-called ‘top-down’ approach, where we use foundational ontologies with the high-level categories and relationship to get us started with the principal choices and the modelling so that a modeller does not have to reinvent the wheel; this is covered in Chapter 6. However, designing an ontology from scratch is rather cumbersome, and much information already has been represented in various ways—natural language, conceptual data models, etc.—so, one can speed up ontology development also by somehow reusing those ‘legacy’ sources, which is described in Chapter 7. Both approaches, however, are just that—not a ‘cookbook recipe’ for ontology development—and there exist interdependencies, methods, tools, and methodologies that help structure and carry out the activities, which is described in Chapter 5. One could go through Block II either in the order of Chapters 6, 7, and 5, or first Chapter 5 and then 6 and 7.
Blocks I and II form the foundations of ontology engineering at an introductory level, and the topics that follow afterward deepen and extend that material. Block III contains a few short chapters that introduce various subtopics, which is far from exhaustive and the block is intended mainly to illustrate that there is a range of themes within ontology engineering. In one direction, you may wish to explore further some quite involved theory and technology to realise a practical ontology-driven information system, being querying databases by means of an ontology, which is the topic of Chapter 8. Ontologies are used throughout the world, and not all systems are in English, therefore we will look at the interaction of natural language with ontologies in Chapter 9. There are extensions to the standard ontology languages, because it is perceived to be needed to be more precise in representing the subject domain. Chapter 10 touches upon the temporal, uncertain, and vague dimension.
Depending on one’s background, one can study Block I after Block II—unless one’s knowledge of logic is a bit rusty or limited. In any case, both the material of Block I and Block II are prerequisites for Block III, advanced topics. Within Block III, the chapters can be done in order of preference, or just a subset thereof.
This is the first version of the textbook, but essentially the fourth version of prior lecture notes, and due to time constraints, perhaps not everything that should have been in the book made it into the book. Also, because it is of an introductory nature and a reader my be interested more in one sub-topic than another, it is liberally referenced, so you more easily can look up further details. There are many references in the bibliography. You are not expected to read all of them; instead, each chapter has a “Literature and reference material” section with a small selection of recommended reading. The large reference list may be useful especially for the practical assignment (Appendix A.1) and the mini-project assignment (Appendix A.2): there are very many more references in computer science conference proceedings and journals, but the ones listed, first, in the “literature and reference material” and, second, in the bibliography, will give you a useful ‘entry point’ or may even suffice, depending on the chosen topics.
Exercises are structured along the line of review questions and then either practical exercises or further analysis questions. Some exercises refer to particular ontologies, which can be found at the book’s webpage at http://www.meteck.org/teaching/OE/book/ or the URL provided. The answers to the review questions can be found in the respective chapter. A selection of answers to the exercises is included in Appendix D.