I recently presented a tutorial on Protégé–a widely-used ontology editor developed at Stanford University. Some of the students (all in Biomedical Informatics) were already pros, while others were new to implementing ontologies in OWL and Turtle. Many of them have training in Basic Formal Ontology and were eager to apply it, so I put together the assignment below, with a scenario based on one I commonly used to teach Mill’s methods in Critical Thinking courses (for complete step-by-step instructions and an OWL file that presents a key, drop me an e-mail). I may tweak it in the future, but I thought it went over well. Although the scenario is silly, the basic technique of using defined classes and a reasoner to identify instances through re-classification is a frequently used technique in scientific and research applications of ontology.
The Case of the Murdered Psychologist: A Protégé Murder Mystery
A psychologist has been murdered by one of her patients and your task is to find out whodunnit. Using her notes, you know facts about the suspects, as well as about the murderer.
We’ll use Protégé and one of its reasoners to discover the murderer in our data. Hopefully, along the way, you will learn how to import other ontologies; create classes, object properties, individuals, and various kinds of restrictions; and use Protégé as a knowledge base that can tell you something new about your data. (Note: usually, ontologies are built under the open world assumption, but for the purposes of the game, let’s pretend the available facts exhaustively describe the investigation.) We will use classes and relations from three other ontologies: The Relations Ontology, BFO 2.0, and the Mental Functioning Ontology.
Facts of the Case
The suspects include: Werner, Mark, Neil, and Barry.
Mark can play the violin.
Neil, Mark, and Barry daydream.
Barry cannot play a musical instrument, but he can read and solves math problems.
Werner has never daydreamed.
Mark admits he doesn’t do problem solving of any kind.
Werner can play the trumpet and engages in mathematical problem solving.
Sadly, Neil never learned to play an instrument and has no linguistic skills whatsoever.
The murderer is A) a daydreamer and B) either a musician or literate and C) engages in problem solving.
Represent these facts in Protégé, reusing as many classes as possible from the Mental Functioning Ontology. Then, make ‘OURMURDERER’ a defined class, with an equivalence axiom described by line 9. With any luck, when you run the reasoner, the only possible suspect will be the only individual who instantiates the class ‘OURMURDERER’.
I have started a public Github repository available here, which will house a series of ontology files I have been working on, all related to social and moral psychology data. The first project now available is a rough update to a class project I worked on with Brian Donohue, which maps a large series of personality research instruments to the Five Factor Paradigm. It was created to allow for large amounts of psychology data taken from a variety of instruments to be repurposed as measurements for Five Factor. Parts of it will also be added to the Mental Functioning Ontology.
For the last year, while working on my dissertation, I have been serving as UB project manager for the CHAMP project–an industry project generously funded by the Digital Manufacturing and Design Innovation Institute (DMDII). The goal of the project is to create a suite of modular ontologies that represent the domain of manufacturing across the product life cycle. Implemented in turtle, such ontologies may later be combined à la carte, allowing small and mid-sized companies, their suppliers, and their customers to plan out their long term data integration needs. Such data integration is a billion dollar task and requires companies to continually hire specialists who design custom systems at cost (and which need updating). By contrast, at the end of our project, all files will be made available to the public, along with documentation. Companies can then download and extend them for free.
Such practical, industry work may seem as far away from academic philosophy as one could get, but that isn’t true. While working on this project, my colleagues and I have had to tackle a host of philosophical issues, issues such as: how best to taxonomize artifacts, how to define the persistence conditions of portions of material (as opposed to mere objects or object aggregates), how to think of material functions and dispositions, how to treat design specifications and simulation models within a realist ontology framework (i.e. within Basic Formal Ontology), and the social ontology of organizations, deontic relations, and social roles.
There are a number of industry ontology projects going on right now and I am learning about others all the time. What makes ours unique, I believe, is that it is guided by the insights taken from the creation of the Open Biomedical Ontology Foundry. This ongoing project supports open, social, expertly curated ontologies in biomedical science, and has led to a series of principles and practices, honed by experience, that have been instructive for this project. Too many other ‘ontology’ projects really seem like exercises in semantic technology applications, since they are not interested in ontology per se, but rather in designing a one-off application that succeeds in one particular area. We are interested in creating models that can be re-used, and this requires a series of constraints others aren’t thinking about. Some of these constraints come from the new world of open data (e.g. collaborative design and open access), but others require drawing from expertise in other areas, for instance: analytic metaphysics, logic, mereotopology, social ontology. In this regard, having a good theory is the most practical advantage one can have.