Podcast: Play in new window | Download
Subscribe: Apple Podcasts | Spotify | Amazon Music | Android | Youtube Music | RSS

For nearly three decades, Giancarlo Guizzardi has researched and advanced the field of semantics and the practice of ontology and conceptual modeling.
His work on the Unified Foundational Ontology (UFO), the OntoUML pattern language, and AI explainability are just a few of the accomplishments that make him an exemplar of the “full-stack ontologist.”
We talked about:
- his broad-ranging ontology and other responsibilities work at the University of Twente in the Netherlands
- the origins of the term ontology in computer science in 1967
- George Mealy’s assertion that “every data makes an ontological commitment”
- his take on the idea of capital O Ontology, both the conceptual tooling to build ontologies as digital artifacts and the design patterns that guide their creation
- how his insight that conceptual modeling is the foundation of any system led to his development of the Unified Foundational Ontology (UFO)
- his goal with UFO to give engineers tooling to reuse ontology patterns without having to expose them to the complexity of the underlying ontology itself
- the resulting OntoUML pattern language
- his belief that ontology engineering should separate conceptual modeling from design and implementation
- his take on the difference between verification and validation in ontology design
- how conceptual modeling and engineering implementation often end up in the hands of a “full-stack ontologist”
- how the ideas in his paper on “Explanation, Semantics, and Ontology” support explainable AI
Giancarlo’s bio
Giancarlo Guizzardi is a Full Professor of Computer Science the University of Twente, The Netherlands, where he chairs the Semantics, Cybersecurity & Services (SCS) department. He is also a co-founder and co-director of the NeXAI Competence Cluster in the same university. He has been active for nearly three decades in the areas of Formal and Applied Ontology, Ontology Engineering, Conceptual Modeling, Enterprise Computing and Information Systems Engineering, working with a multidisciplinary approach in Computer Science that aggregates results from Philosophy, Cognitive Science, Logics and Linguistics. He is the main contributor to the upcoming ISO/IEC international standard 21838-5 Unified Foundational Ontology (UFO) and to the OntoUML modeling language. He is an associate editor of several journals including Applied Ontology and Data & Knowledge Engineering, chair of the Steering Committee of the International Conference on Conceptual Modeling (ER), member of the Advisory Board of the International Association for Ontology and its Applications (IAOA), and an ER fellow. Finally, he has extensive technology-transfer experience developing industrial ontologies in sectors such as Health, Cybersecurity, Risk Management, Space, Finance, Energy, Distributed Software Development, Digital Journalism, Complex Media Management, Government.
Connect with Giancarlo online
Resources mentioned in this interview
- Another Look at Data, George Mealy’s 1967 paper
- Explanation, Semantics, and Ontology
- Ontology, Ontologies and the “I” of FAIR
- Unified Foundational Ontology (UFO)
- OntoUML
Video
Here’s the video version of our conversation:
Podcast intro transcript
This is the Knowledge Graph Insights podcast, episode number 51. The origins of the practice of ontology in computer science go back almost 60 years, well before the current era of knowledge graph technologies. Since then, ontology researchers like Giancarlo Guizzardi have demonstrated the importance of distinguishing between conceptual modeling and the symbolic language that implements the model. Giancarlo’s latest work shows that genuinely explainable AI is impossible without formal ontology and semantics.
Interview transcript
Larry:
Hi everyone. Welcome to episode number 51 of the Knowledge Graph Insights Podcast. I am really delighted today to welcome to the show Giancarlo Guizzardi. Giancarlo is a professor at the University of Twente in the Netherlands. Welcome, Giancarlo. Tell the folks a little bit more about what you’re doing these days.
Giancarlo:
Hi, Larry. Thanks for having me. It’s a pleasure to be here talking to you. As you said, I’m a professor here in the Netherlands. I’m the head of a group called Semantics, Cybersecurity, and Services. So as the name says, everything we do is grounded on semantics and ontologists. And we call ourselves full-stack ontologists.
Giancarlo:
So we work from very theoretical issues. So sometimes I even publish in philosophy journals, to very practical issues of… So we go from building ontologies in philosophy, ontology in computer science, modeling languages, tools, ecosystems of tools for ontology engineering, and to implementation of ontologies in large-scale settings. So we’ve been doing this for quite a while in many different domains.
Giancarlo:
The group now is very focused on cybersecurity, on risk management and on social and legal issues. So the service part refers to that. And it’s a big group, around 70 people here in the Netherlands.
Larry:
Oh, wow. I didn’t realize it was that big. Well, and that scope that you described, and I love that you describe yourself as a full-stack ontologist because there were a number… I just came back from KGC and there were a number of presentations there that they take the semantic layer and divide it into five or six layers of its own, a lot of which aligns with what you just said.
Larry:
But one of the things you talk about, and I think it fits into this, with this deep varied ontology practice spanning a bunch of different domains, different levels from the highbrow ontology stuff to the in-the-weeds data stuff. You argue that capital O, Ontology, like a proper philosophically grounded… Or I don’t know exactly what you mean by that, but tell me more about what you mean by capital O, Ontology, and why it’s essential for engineering practice?
Giancarlo:
Yes. Ontology, capital O, is basically… So the term refers to three different things, ontology. It refers to, originally in philosophy would refer to a particular theory about a given domain. So what exists in a given domain? So one interpretation is what exists behind a certain description? The ontologist, whatever, a certain description assumes to exist in the world in order for that to be true. So we can see how that connects with data.
Giancarlo:
So there is a quote that I like very much from a guy called Mealy. Mealy is the creator of Mealy Ontology in computer science. He was the PhD supervisor of Peter Chen, the guy that created entity relationship diagrams. So grandfather of conceptual modeling. Mealy writes this paper in 1967 called Another Look at Data, which the first reference of the word ontology in computer science, by the way. So we are talking about ontology in computer science since ’67.
Giancarlo:
And Mealy has this nice quote. He says, “data are a theory, a fragment of a theory of the real world.” So he’s saying every data makes an ontological commitment. This is absolutely inevitable. In fact, any type of representation makes an ontological commitment. So even if you have a kind of Python code that has variables like customer and purchase order and product and so on, you are committing to a given theory of the world of what kinds of things exist with which properties, under which constraints, and so on.
Giancarlo:
And Mealy makes his reference to ontology basically saying, we need to make that explicit, interoperability in a sense. So he’s not using these words, but he’s saying computer scientists are obsessed with symbols and with symbol manipulation, but we need to look beyond the symbols at what kind of theory of the real world is behind that symbolic structure.
Giancarlo:
So this is a definition of ontology, it’s whatever is behind a symbolic structure. In computer science in another area in AI, particularly in the end of the ’70s with Pat Hayes and so on, ontology became the structure itself. So the representation of that theory in the background. So these are two interpretations of ontology. Ontology as whatever is in the background, whatever is assumed by a representation, or the representation itself.
Giancarlo:
Well, the representation only justifies its name if it’s a representation of the ontology in the background. Otherwise, we could just call this data structure or data model. Ontology, capital O, is a area that allows you to, let’s say, flesh out, review, make explicit what is the theory of the real world, which is behind a certain symbolic structure in a systematic way. Or in other words, Ontology, capital O, is an area that will give you instruments, conceptual tools to build ontologies as artifacts. Otherwise, we’re going to need to invent these conceptual tools.
Giancarlo:
So typically Ontology, capital O, will deal with the most general aspects of reality, like what are events, what are objects, how objects relate to their parts, how events relate to their parts, what kind of properties can objects have, what kind of relations can connect objects and so on and so forth. What kind of types exist, how types relate to each other forming taxonomic structures, very general theories.
Giancarlo:
So I see these theories as kind of not only conceptual tools, but actually as kind of patterns. So let me give you an example. So imagine if you have a theory of events that says an event is something which happens in space and time, events have parts. So there is a mirror logical structure in events of events. These parts can be related by different types of temporal relations, by causal relations, objects participate in events. So events are kind of dependent entities. In order for them to exist something needs to participate in this event.
Giancarlo:
So you have this theory, this general theory. Now this thing can be seen on one hand as a methodological device, because now when I recognize something in the world as an event, let’s say a lecture or this conversation or a football game or a war, I start asking these questions like, where does it happen? And when does it happen? What kind of things participate? Does it have parts? How are these part related? Does this thing have parts? How are these parts related? What kind of temporal relations? Are there causal relations?
Giancarlo:
So I started asking these questions and externalizing domain knowledge that would otherwise remain tacit. But this thing can also be thought as a kind of design pattern that helps me to instantiate, to specialize that entire structure for a given situation, for a situation of this conversation or a lecture, or a war, or an election, or a football game.
Giancarlo:
So it’s about on one hand helping with this process of ontological analysis. So I really think that the main contribution of Ontology, capital O, to computer science is not a artifact, but it’s a method of analysis and it also helps us to promote reusing the highest level of abstraction. Because without that, what you are asking is that every user comes up with their foundational ontology, with their own general theory of events. So everybody that has to come up with a model about football games, we have to figure out all these subtle notions and constraints about events instead of reusing that, instead of reusing this knowledge which has been developed over many years.
Giancarlo:
So in a nutshell, what I’m saying is, ontology, lowercase O, is absolutely inevitable because any type of descriptive structure that has semantics makes an ontological commitment, commits to a given theory of the real world. And Ontology, capital O, it’s also inevitable if you want to do this in a systematic, engineering principled way. Otherwise, what you’re doing is asking users to come up with their own general theories of things.
Larry:
Nice. I love that, especially the distinction between it’s both a methodological device and a design pattern. That just seems like… The device part of it, that sort of makes it operationalizable, I guess. And the design pattern part gives you, I don’t know, the highest level lattice work, the framework to hang everything else on.
Larry:
Well, that’s right. And so in practical terms, you gave a couple of examples here, like an event and it’s attributes. In terms of somebody designing an ontology, I think a lot of people, they’ll start to either reuse an existing one or adopt. Maybe this is a good time to talk about UFO. I forget, what does the F stand for? Foundational Ontology. Can you talk a little bit about that and how, what you just said about capital O, Ontology relates to that?
Giancarlo:
Yeah. So if Ontology, capital O, is an area producing all these different theories, a foundational ontology is an artifact that represent a particular set of theories. And in practical terms, I see foundational ontology as really this toolbox, conceptual toolbox, a library of design patterns which are very general, that will promote both reuse and interoperability.
Giancarlo:
So we get to the interoperability part in a minute. But UFO, it’s one of these toolboxes. It’s coming up as an ISO standard now. So now it’s a draft international standard already. So it’s in the workflow of ISO in order to become a fully published standard. It’s the result of almost 30 years of work of an entire community. So this whole thing started because… I’m a computer scientist, so I’m not a philosopher, or maybe I’m a bit of a philosopher after 30 years doing this, but I’m originally a computer scientist.
Giancarlo:
I was doing formal methods, implementing protocols, network protocols of large systems. And I realized that the hard part of building any systems is getting the concepts right. So systems are really sometimes wrote into the core because people don’t get the concepts right. And getting the concepts right was very hard without having the support of the right language methodology, theories, tools and so on. So that’s how I started working on that almost 30 years ago.
Giancarlo:
And so with UFO, what I wanted to do is to look at the problems of conceptual modeling in computer science, in software engineering and AI databases, make a collection of very practical problems. So I actually built a benchmark of problems which were not solved in computer science, like deciding transitivity of parthood. How do you model… Some of the problems look very silly. How do you model that a role can be played by entities of multiple kinds, like customer can be both a person or an organization.
Giancarlo:
People make a lot of mistakes modeling this. They will say, sorry, customer is specialized into person and organization. If you do that, you get into a logical contradiction. The solution to that is not obvious. People discussed this years in the literature. It came up with the most convoluted solutions and I was like, “there is something wrong here. We need good theory.” So I assembled this benchmark of modeling problems and then I started looking at theories outside computer science in philosophy, in cognitive science, in philosophical logics and linguistics, but always with an eye on those problems. I wanted to solve those problems, those very practical problems.
Giancarlo:
So UFO was the result of that, of building a set, a system of microtheories dealing with these most general things, always trying to solve practical problems. It’s now, as I said, it’s an international standard and it’s a logical theory, it’s proven consistent and so on. What we did from that, is that being a computer scientist, I didn’t want to just give a logical theory to engineers. I don’t want that people in order to use UFO, they would need to extend the logical theory. I thought this proposition was completely absurd.
Giancarlo:
So I wanted to build engineering tools to help people build models that were consistent with UFO that would reuse these patterns in the background while shielding them from the complexity of the ontology itself. And for that, we designed this language called OntoUML, which is now in the process of standardization by the OMG. So it’s a version of the UML language, but it’s actually, it has a form of semantics, it’s connected to this ontology in the background.
Giancarlo:
And it’s actually a pattern language because you are reflecting these patterns now in the language, but then you have a diagrammatic visual language, a pattern language that helps people reuse all these theories in the background. And we built a bunch of other stuff, interesting things around OntoUML, so catalogs of anti-patterns. So we automatically detect certain anti-patterns and rectify them. So tools for formal verification, for validation, we can talk a little bit about the difference and why this matters for oncology and interoperability, for verbalization, and for code generation.
Giancarlo:
And here’s something that I think it’s worth spending time with. I really believe that we should look at ontology engineering from an engineering point of view and do what all other branches of engineering do, which is to separate the problem of conceptual modeling from the problem of design and implementation. So when you’re doing conceptual work in engineering you are trying to… If you are representing things, what you are trying to do is to get the best possible representation that will solve the problem at hand. So you are trying to understand the domain in the world that you are representing in a way that’s semantically transparent and adequate, that really tells… I think of these things as kind of contracts, it’s telling the world, what is your worldview about that portion of reality.
Giancarlo:
So these conceptual models are there to help you to do mini negotiation, to domain understanding, to do problem solving and so on. Once we understand that domain and all the subtleties of that domain, then we can automatically generate implementations from that. So from the same conceptual model, it can generate several different implementations and these different implementations could address different types of non-functional requirements.
Giancarlo:
So when we come to ontology engineering, I think what people call ontology languages, for example, in the semantic web like OWL, RDFS, property graphs, all that, they are actually implementation languages. So they are language that have the characteristics. First of all, they are logical language. They have zero ontology in it. They’re ontologically neutral because they’re basically logics. And they have very low expressive power. And they have low expressive power for a good reason. So they were designed to focus on retaining certain computational properties.
Giancarlo:
And it’s a well-known thing that you cannot… Expressivity and maintaining these computational properties are in a kind of trade-off, so they would favor the latter. So OWL, for example, was designed to be in a certain computational complexity class and to be adherent to the model of the web and to basically optimize for certain architectural choices like open world assumption and non-unique name assumptions, all that.
Giancarlo:
These are all design concerns. Sometimes you don’t need any of this. Sometimes you can reason with closed world and another implementation choice would be better. Sometimes you don’t want to reason with data, you want to represent data, but you don’t want to reason with data, and this thing would be too much. Sometimes you want to map this to a kind of theory improver, but these are all implementation choices, codification choices.
Giancarlo:
So from the same model, you can generate all these different things addressing these different design, non-functional concerns, as I would see them. So OntoUML is a language design for this conceptual level that will guarantee that you get the model that represents your worldview about that domain with all its subtleties, because you want to solve this interoperability problem when you want to connect that model to other models, but you also want to reuse that across all these different implementations. So we actually have tools that will generate OWL, for example, automatically from OntoUML and from an OntoUML model can actually generate several OWL-
Larry:
That’s what I was just going to ask, because I really appreciate the teasing out the conceptual understanding from the implementation. But I don’t know, for most knowledge engineers, they’re doing it in OWL or RDFS or some RDF application. But do the use of your ontology framework, is it as much about people doing, I don’t know, stuff in Prolog or Datalog or Python stuff, as well as this? And the reason I ask about that is you mentioned several times the notion of interoperability-
Giancarlo:
Yes.
Larry:
And the web nativeness of OWL and RDF in general, that’s just built in, but are there other considerations like that?
Giancarlo:
So what would you say is built in RDFS and OWL?
Larry:
Oh, just the notion of, they’re web native. It’s built to the web, whereas a lot of computer science stuff maybe doesn’t happen on the web. And I think that… But also the notion of interoperability. Anyhow, those are two things that jumped out at me.
Giancarlo:
Yeah. So, let’s get to that. So people use ontologists to map to many different things. So relational database, for example, or theory improvers. I was talking before about this idea, the difference between verification and validation. So verification is basically in this context, verification is checking if you got the model right, validation is checking if you’ve got the right model. These are very completely different ball games.
Giancarlo:
So verification and ontologists checking if your model is consistent, basically, if it’s satisfiable, if it’s devoid of mistakes. Validation is these things representing my shared conceptualization of reality. Is the model really representing my worldview about that domain? And most of this logical language are kind of useless for validation. Because think from a logical point of view what validation is about. Validation is, you have a representation. There are a number of possible interpretations of that representation. So if you think in logical terms, you have a logical theory and you have the logical models of that theory.
Giancarlo:
To validate that thing is to see if the possible interpretations of that representations are the intended ones. I’ll give you a ridiculous example. So imagine if you have the simplest ontology in the world, you have, a person can be married to zero too many people and person can be married to zero to many people. So zero to many on both sides of that link. Are there possible interpretations of this model? So things which will satisfy the constraints of the model, which are unintended, a million, like you married to yourself, you married to several people at the same time, you married to dead people, you married to lots of people at the same time, one of which is you, several which are dead and so on. So you have all these possibilities which satisfy the constraints, but which are non-intended.
Giancarlo:
So an ontology is a contract. An ontology can only help with durability if it is a kind of meaning contract. If it really captures… It’s you telling the world what your worldview is about. It can only play that role for interoperability if it excludes unintended interpretations. And these logical languages are kind of useless for that. But there are language which are useful for that. One is a language called Alloy, for example.
Giancarlo:
So what it does is it generates the visual representations of the possible interpretations of that model. Technically, we can get to the technical part, but imagine it generates all the possible interpretations of that model. So the user is confronted with what the model is saying on their behalf. So you check if this model is allowing for things which are possible but not intended.
Giancarlo:
So this is one of the things we do. We generate from OntoUML to Alloy, do this validation part. And then once you are convinced that the model has all the constraints it needs to have in order to exclude this unintended interpretation, then we generate OWL. And again, it’s a one too many mapping. Because of the difference of expressivity of the SHOIQ language.
Giancarlo:
So even people don’t realize this. We have a paper on events, on a foundational ontology of events, which we have the full representation in first order logics, and we have the translations through SROIQ, basically to OWL. Do you know how many possible translations you get from the first order of representation of a theory of events? It’s a theory of events with 250 axioms. Do you know how many possible mappings to OWL you can get from that?
Larry:
I can only imagine.
Giancarlo:
12,000. So think about this for a minute, the gap between the two things. It means that when you do your ontology of events in OWL, you are making an unconscious choice of one representation in a set of 12,000 possibilities. So that’s what you are leaving at the table.
Larry:
Well, it sounds like… In all of your work it sounds like is getting this intellectual underlying rigor, but also shielding the end… Well, who are the end users? Is it mostly engineers who are…
Giancarlo:
Yes.
Larry:
Yeah.
Giancarlo:
So people doing ontology engineering or people doing conceptual modeling in general in computer science. Sometimes… It’s people… I think the killer application is really interoperability. Shall we talk about interoperability?
Larry:
Well, yeah, actually we’re coming up close to time, but I do want to ask one thing, because that distinction between conceptual modeling and the engineering implementation, that’s something that… And I come out most of my career the last 30 years or so, I’ve worked mostly in the UX-oriented part of the world where there’s pretty clear distinctions between research and modeling and engineering are separate things.
Larry:
Everybody I know in this world, all the ontology engineers I’ve ever met, they’re doing everything, the stakeholder interviews. I guess that probably has to do with just the dearth, the not enough talent. But how do you help… I think this feels like an important distinction in the application of your work, is helping people stay clear on whether they’re doing… Where they are in that conceptual modeling versus engineering implementation part of the work.
Giancarlo:
Yes, yes. We end up doing… Sometimes you become a kind of full-stack ontologist because of that, but these are different… I really think that in order to be a very good programmer, you need to understand architecture and you need to understand conceptual modeling well, right? Because again, the conceptual modeling part is inevitable. You might be doing this in Python, but you are doing conceptual modeling.
Giancarlo:
So if you are a very good conceptual modeler, you can get away with Python despite Python not being a good conceptual modeling language. OWL is equivalent to Python in that sense. If you have the ontological notions in your Ontology, capital O, all these methods of analysis and all these different theories, patterns in your mind, you might be able to produce really good models despite OWL not being a good ontology language, conceptual modeling language from a conceptual modeling point of view.
Giancarlo:
What an engineering discipline does is to shorten the distance between the very experience and the novice. So if you are doing this for 30 years, maybe you don’t need any of this because you’ve been exposed to this already for 30 years and you’ve got these patterns. You have a foundational ontology in the back of your mind. But if you are starting and if you want to shorten the curve, the learning curve, make it a little bit less steep, you need these engineering tools.
Larry:
That’s exactly why I brought that up because the whole point of all my podcasts, I’ve done over 300 now, is democratization of practice and democratization of the benefits of these practices. So
Larry:
Hey, Giancarlo, I can’t believe it we’re coming up on time already. But before we wrap up, is there anything last, anything that we didn’t get to or that you want to revisit from the conversation?
Giancarlo:
Yeah. So we didn’t have time to talk about the relation between ontologies and explanation. I think this is extremely important. It’s connected to interoperability as well. In a sense… So I wrote a paper called Explanation, Semantics, and Ontology, that invite people to take a look at. And this paper shows that these three things are strongly connected, they’re intimately connected. In fact, you cannot have explanations without semantics and ontology.
Giancarlo:
And people in AI doing explainable AI should find out about that as well and the sooner, the better. That you cannot really have explanation in AI without ontology. What people are doing now with this explainable AI, they are interesting things, but they are not explanations. And the paper explains why.
Larry:
Excellent. I’ll link to that paper. And you shared a number of other papers as we prepared for this. I’ll share those in the show notes as well. Oh, one other thing, I’ll put it in the show notes, of course, but I want to have it in the recording. If folks want to connect you with you, what’s the best place to find you online?
Giancarlo:
Well, I’m on LinkedIn. There is a website called my name and surname dot com, giancarloguizzardi.com, and there people can find my email, my LinkedIn account. I tried to put there as well the recordings of podcasts and keynotes and things like that. I even included the recordings of an entire course on ontology-driven conceptual modeling, so people can look at that.
Larry:
Excellent. No, you could probably earn a PhD. I couldn’t get through all the stuff you shared before we met. Well, thank you so much, Giancarlo. I really enjoyed the conversation.
Giancarlo:
Thank you. My pleasure.