If you are familiar with the field of digital humanities, you have probably heard or read about ontologies. However, you are less likely to have read or heard about conceptual models. In this post I will describe what these are, how they are related, and how they may be useful in digital humanities.
In philosophy, ontology is the study of being, that is, the branch of philosophy concerned with what is (and isn’t), how we can organise what there is, and what major categories of existence and things there are. In information technology (IT), the word “ontology” has been borrowed to refer to a machine-readable representation of a portion of the world. In the words of [Gruber 1995],
An ontology is a specification of a conceptualization.
First of all, ontologies in IT are about conceptualisations. An ontology represents a specific manner to think about a part of the world. This conceptualisation is usually shared by a number of people so that the ontology can be useful to all. Second, ontologies in IT are specifications, that is, they consist of instructions or declarations targeted at a computer. In fact, IT ontologies arose in the 1990s from the works previously carried out in artificial intelligence (AI) during the 1970s and 1980s. The AI community was focused on developing methods to represent the world so that computers could “understand” and “reason” about it. After all, AI was part of computer science, and very much computer-oriented.
At the same time, the incipient software engineering community was immersed in a crisis, due to the increased complexity of the software being demanded and many projects running out of budget and time. New methods were needed to specify software systems so that development could be faster, cheaper and more powerful. During the 1980s and early 1990s, a flurry of modelling approaches were proposed, all focused on creating representations of the world that were as faithful and rich as possible, with the aim to guide software engineers in programming computers better and faster. This proposed “blueprints” of software systems were called conceptual models, and the subfield of conceptual modelling appeared within software engineering. A conceptual model, in a nutshell, is a purposeful representation of a portion of the world that is made of concepts. All this happened in the context of software engineering, which was (and still is) more people-oriented and less computing-oriented than computer science.
As you can see, both the AI and software engineering communities were, at the same time, developing approaches to represent the world. Unfortunately, not many exchanges took place, so they kept working independently and, very often, oblivious to each other’s progress. In the late 1990s and early 2000s, the situation was like this:
- Ontology engineering arose from the computer-oriented AI field, whereas conceptual modelling appeared in the people-oriented software engineering field.
- Ontologies are built by people and targeted at machines, whereas conceptual models are built by people but targeted at people too.
- For this reason, ontologies are harder to develop, since they require people to “come closer” to the computer and “speak its language”; however, conceptual models are easier to develop, as their audience is other people.
- The purpose of ontologies is automatic reasoning in AI settings, whereas the purpose of conceptual models is guidance to engineers in constructing software systems.
Of course, I am making some simplifications here, and a more nuanced description of these differences can be found in [Gonzalez-Perez 2017]. Anyway, the 2000s saw some changes to this panorama, most of them produced by the advent of the Model-Driven Architecture (MDA) initiative by the Object Management Group (OMG). The MDA argues that conceptual models do not necessarily need to be created by people, because computers can generate them automatically from other models by using model transformation techniques. I am sparing you the details of how this happens, but the realisation that models could be automatically processed by machines brought conceptual modelling closer to ontologies, which from the start had focused on being machine-processed.
As a result, many authors [Atkinson et al. 2006, Henderson-Sellers 2011] in the 2000s and 2010s started comparing ontologies and conceptual models, and arriving at the conclusion that these two approaches were not that different after all. Some models are now targeted at machines, and the differences in purpose of ontologies and models has blurred significantly. Some authors claim now that ontologies are just a particular kind of conceptual model, and a new field of ontology engineering has arisen to take much of the work in ontologies and combine it with some advances in conceptual modelling.
Let me make some clarifications. Firstly, this “unified” approach in ontology engineering is not without its critics. Some scholars and practitioners from both AI and software engineering, perhaps overzealous of the dominance of their respective disciplines, are sometimes reluctant to consider innovations to the way things are usually done, and would rather keep ontologies or conceptual modelling in their purest form (whatever that is).
Secondly, it’s worth noting that two major kinds of ontologies are usually considered in ontology engineering:
- Foundational ontologies, which describe “what reality is made of” in terms of the major types of things that exist, such as categories, time and space. This is quite similar to the original idea of “ontology” in philosophy. A foundational ontology, being extremely abstract, is usually applicable to a wide range of domains, and for many different purposes.
- Domain ontologies, which describe a particular portion or field of activity in the world, such as genomics, air travel, or cultural heritage. Obviously, a domain ontology is only applicable within its domain.
Bear in mind that, whenever we discuss ontologies in the context of digital humanities, we are referring to domain ontologies. As far as I know, very few works in foundational ontologies have been discussed from the digital humanities field.
Finally, I must say that notable differences persist today between ontologies and conceptual models, despite the unification efforts described above. One of the most visible is that of technologies and tools. If you want to develop an ontology, you are likely to use OWL and tools such as Protégé; but if you want to develop a conceptual model, you probably use UML or ConML, and a drawing tool such as Microsoft Visio or a modelling tool such as ArgoUML. If you want to develop an ontology, you still need to worry about machine-oriented issues such as naming your entities with URIs and applying the right namespaces; but if you want to develop a conceptual model, you can be as informal as needed and perhaps get it done by sketching something on the back of a napkin.
How is all this relevant to the digita humanities? First and foremost, because of the very unequal popularity of conceptual models and ontologies among digital humanities scholars and practitioners. Due to historical reasons, most of the IT savviness in the digital humanities today traces back to the library and document management systems that started in the 1970s. Back then, conceptual modelling (and software engineering, for that matter) didn’t exist yet, but computer science did. Links were established between modern information science and computer science, and developments in data processing carried out within computer science were adopted for the organisation and management of libraries and archives. The contemporary heirs of these computer science developments are ontologies, as well as other computer science-related approaches such as many of the W3C recommendations such as OWL and RDF.
Ontologies are extremely useful. However, conceptual modelling has a lot to offer too, fixing some issues with ontologies and adding expressive power and usability. The “united” approach encouraged by some recent works may well constitute the best of both worlds. Unfortunately, and for the reasons sketched above, most people in the digital humanities are not aware, or very little, about conceptual modelling. I encourage you to get acquainted with it, try it yourself, and keep a critical stance on anyone who suggests that conceptual modelling has nothing to contribute as compared to good old ontologies.
- Atkinson, C., Gutheil, M. & Kiko, K. 2006. On the Relationship of Ontologies and Models. In Proceedings of the 2nd International Workshop on Meta-Modelling (WoMM). LNI 96, Köllen Druck+Verlag. [Link]
- Gonzalez-Perez, C. 2017. How Ontologies Can Help in Software Engineering, in Proceedings of the 5th “Grand Timely Topics in Software Engineering” International Summer School. Cunha, J., Fernandes, J. P., Lämmel, R., Saraiva, J. & Zaytsev, V. (eds.). LNCS, Springer. [in press]
- Gruber, T. 1995. Toward Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal of Human-Computer Studies, 43 (5-6). [Link]
- Henderson-Sellers, B. 2011. Bridging Metamodels and Ontologies in Software Engineering. Journal of Systems and Software, 84 (2). [Link]