The lecture notes for the Ontology Engineering BSc honours in CS course are available online now. The file is updated compared to the COMP720 module (and those notes have been removed). The main changes consist of reordering the chapters in Block II and Block III, adding better or more explanations and examples in several sections, fixing typos, and updates to reflect advances made in the field. It again includes the DL primer written by Markus Kroetzsch, Ian Horrocks and Frantisek Simancik (saving me the time writing about that; thanks!).
As with the last three installments, the target audience is computer science students in their 4th year (honours), so the notes are of an introductory nature. It has three blocks after the introduction: logic foundations, ontology engineering, and advanced topics (the latter we will skip, as this is a shorter course). The logic foundations contain a recap of FOL and the notion of reasoning, the DL primer and the basics of automated reasoning with the Description Logics with ALC, the DL-based OWL species, and some practical automated reasoning. The ontology engineering block starts with methods and methodologies that give guidance how to commence actually developing an ontology, and how to avoid and fix issues. Subsequently, there are two chapters going into some detail of two ‘paths’ in the methodology, being top-down ontology development using foundational ontologies, and bottom-up ontology development to extract knowledge from other material, such as relational databases, thesauri, and natural language documents.
The advanced topics are optional this year, but I left them in the lecture notes, as they may pique your interest. Chapter 8 on Ontology-Based Data Access is a particular application scenario of ontologies that ‘spice up’ database applications. Chapter 9 touches upon a few sub-areas within ontologies: representing and reasoning with vagueness and uncertainty, extending the language to include also temporal knowledge, the use of ontologies to enhance conceptual data models, and a note on social aspects.
It is still an evolving document, and relative completeness of sections varies slightly, so it has to be seen in conjunction with the slides, lectures, and some additional documentation that will be made available on the course’s Vula site.
Suggestions and corrections are welcome! If you want to use a part of it in your own lectures and/or use the accompanying slides with it, please contact me.
Hi Maria, looks like a great course, and thanks for making the material available.
Some very nit-picky details on the section on OBO, which looks a bit outdated.
“As a result, there are several OBO-in-OWL mappings, some being more comprehensive than others”. The official mapping is here: http://oboformat.org – this extends the original Horrocks/Golbreich mapping, and is implemented in the latest OWL API.
“Thus, if you find an ontology online and, upon loading the class names are something alike IAO12345, then it was likely an OBO ontology converted into OWL” — this isn’t true. Most biological ontologies use numeric schemes whether or not they are developed in obo or owl. In fact IAO itself is developed in OWL. However, this could be seen as an influence of the original set of OBO Library ontologies, which were all developed in OBO Format.
OBO is currently an (idiosyncratic) subset of OWL and only continues to exist because (1) certain types of task are more productive in OE (2) OBO works better than any other syntax in VCS systems like github, and integral part of ontology engineering – see http://douroucouli.wordpress.com/2014/03/30/the-perils-of-managing-owl-in-a-version-control-system/ (3) legacy bioinformatics tools don’t accept W3C OWL syntaxes. This is slowly changing & OBO will eventually become a historic curiosity.
I’m not sure I agree about the relevance of OBO and post-OBO ontologies on bottom up ontology development, but that’s another discussion…
thank you for the update! I’d written that part a few years ago and had not updated it in the meantime; I’ve added it to the to-update list for next year and will mention it in the lecture (today was the first one).
The numbering scheme of OBO also has other advantages cf OWL, notably in the setting of multilingual ontologies (which is mentioned later in the chapter).
> this could be seen as an influence of the original set of OBO Library ontologies.
I think so, too.
Besides versioning, I think OBO works also quite nicely at data-level data integration, and I use it as an example of ontology uses (and success stories) in chapter 1.
p.s.: sorry for the delay: your comment ended up in the moderation section and I’ve been travelling