1 Introduction

It is a truism that lay persons rush in where experts fear to tread. We are too well aware of the many enthusiasts who insist that they have built a perpetual motion machine, that they can square the circle, and so on and so forth. Where philosophers have long concluded that there can be no such thing as a single standard ontology, non-philosophers ignore such minor issues and set about trying to build one (e.g. SUMO, see [4]).

Unfortunately, it is still the case that there can be no such thing as a standard ontology. As I will show in this note, at best there can be a number of local ontologies, each dealing with a small, well understood problem domain, where there is only one point of view. This latter criterion is crucial: if I am building ontologies in (say) robotics, I have to accept that the points of view of the robot’s designer, programmer and user are very different, not to mention the point of view of the robot itself. Thus each of these must involve a separate ontology.

I proceed by setting out the arguments for ontological relativity, the claim that multiple equally valid ontologies are endemic. Having done this I show that there are, in fact, very severe constraints on what a candidate ontology can look like, imposed not by a world-view but by the requirement for philosophical coherence.

2 Ontological relativity

An ontology is a (hopefully systematic) collection of types whose intersections are such that by applying subsets of the types in the collection to a thing we can reach the point at which we have a sound description of that thing, and some understanding of its structure. But this is immensely problematical.

2.1 Multiple Ontologies

Consider first the case of types of things whose existence is debated. For example, I may believe in angels, you may not. So, even if an ontology extended to include the category of ‘imaginary things’ we would end up categorising angels in different ways. Thus there is no way that even one ontology can be applied in a consistent and unambiguous way across all cases and individuals.

Now consider the case where I am a classical physicist and you are trained in quantum mechanics. Your conceptual world contains ideas such as ‘wave function’, ‘S-matrix’, ‘state vector’ and so on and so forth mine does not. Thus it is not a matter of our having a common set of categories but disagreeing as to how to categorise a thing; in this case you have categories that I do not even know of the existence of. Therefore either we must conclude that multiple ontological frameworks must coexist, or we must assert that progress will inevitably drive us to bigger and better ontologies, or we must become Platonists and assert that there is a single ‘correct’ ontology, but we have not yet discovered it all. Of these options, the second is dumbfounding in its arrogance and, less pejoratively, is merely a weak form of the third. The third is unprovable and also faintly worrying for all those of us who are not Platonists. Therefore multiple ontologies must coexist.

2.2 Coexisting ontologies

Third, we can do serious damage to the Platonist point of view. Consider Quine’s famous example from [6] where you and I see a rabbit, you say gavagai and I deduce that gavagai means rabbit. Which seems perfectly sound, until we consider the assumptions inherent in this deduction. I have assumed that you ontologise the world into things in the same way as me, so you look at what I think of as a rabbit and see a single thing. But you could use an ontology in which the basic unit is the body part, and then there are names for particular collections of types of body part, so gavagai actually refers to the components of what I would call a rabbit.

Quine showed that, in fact, there is no way of distinguishing by purely extensional communication whether gavagai means rabbit or ‘a particular collection of types of body part’, meaning that both ontologies are equally valid and the difference causes no problem in communication. It is therefore impossible to privilege one over the other; any attempt to do so would inevitably end up deriving from personal prejudice than any rigorous criterion. Thus, not only are multiple ontologies possible, they are endemic. In [6] Quine coined the term ontological relativity to refer to this concept that in fact there can be no preferred ontology.

2.3 Local ontologies

Therefore we must conclude that there is no global ontology that can be applied by fiat. At best there are local ontologies, tailored to specific problems or domains, between which we translate. This should not, of course, come as a surprise to anyone who regularly switches between vocabularies depending on context (e.g. technical, formal, informal).

3 Constraints on ontologies

3.1 Concrete vs Abstract

We need to be very careful with the formulation of the categories that make up ontologies, for the way we formulate them can depend on the precise world-view we want to adopt. Moreover, they can result in severe constraints being imposed on the resulting ontology. Thus any candidate ontology must be verified not just against its creators’ view of the world, but against meta-ontological requirements of coherence and consistency. In this section I demonstrate this fact by analysing one apparently safe top-level categorisation, into concrete and abstract.

3.1.1 What is concrete?

What, precisely, do we mean by concrete? The folk-epistemology denition that something is concrete if it is real is far from helpful, because if I am a Platonist then, as far as I am concerned, $\aleph_0$ is real, whereas if I am a constructivist I might assert that only finite integers are real, if I were an empiricist I might deny the negative integers, and if I were a strict empiricist I might wonder whether it is actually provable that the integer 472,533,956 is realised anywhere in the physical world. So the naive view founders on ontological relativity.

So say that a thing is real if it can be realised; that seems safe enough. A horse can be realised, so horses are real. But what about unicorns? The fact that no realised unicorns have been discovered does not mean that they cannot be realised, only that they have not been realised; there is a clear distinction between absence and impossibility. Now, we might decide to rule against unicorns because they are imaginary, but consider the case of the top quark. Top quarks have been demonstrated to be realised, so top quarks are concrete. But the top quark as a thing was hypothesised long before it was discovered, so what was its ontological status after its invention but before its discovery? If unicorns are abstract, so must the top quark have been, in which case it suddenly underwent transition from abstract to concrete upon its discovery. Thus either, once again, ontological relativity rears its ugly head, or else we have to accept the Platonic position that anything we can construct hypothetically is, in fact, concrete.

3.1.2 Types and kinds

In fact things get much worse. When we speak of things, do we consider a thing to be anything that is realisable, or does it have to correspond to a particular object. To put it more formally, can types and kinds be things? To return to my example, horse is actually a type, in that it consists of a collection of qualities that allow us to ascribe identity to one particular class of things. But surely types cannot be concrete, for (unless we are Platonists) surely the concept horse cannot be realised, precisely because it is, in the truest sense, an abstraction.

So let us suppose that all types and kinds are abstract. What, then is there left to be concrete? That question is very hard to answer, because once we have taken away all types, kinds and properties (for properties are merely a kind of type), what is left is formless, undistinguished stuff. Indeed, as Quine has pointed out ([7]), even proper names can be thought of as properties, as they are essentially predicates that allow us to distinguish one thing from the rest, and hence are a property held only by that thing. Even within the context of Kripke’s rather more Platonic universe, the rigid designator ends up as being a kind of label that picks out a particular thing ([3]), and is hence a property or type. Thus, once we have stripped away all types and kinds what is left is things that are undistinguished and undistinguishable, the unknowable thing in itself. The concrete category might well exist, but in as far as the purpose of an ontology is to enable proper categorisation of things, then it is useless, because it is not susceptible to categorisation.

Therefore it follows that when we are building an ontology, we might, if we so wished, make an initial division into concrete and abstract, but we would immediately find that at that point we had, at least in the concrete category, gone as far as we could go, and that all subsequent work must involve the imposition of structure upon the abstract. Therefore, any ontology that attempts to maintain a distinction between the concrete and the abstract while imposing structure on the concrete is incoherent.

3.2 Hierarchies and other structures

There is a common assumption among practitioners of practical ontology that ontologies must be hierarchical, that is to say that each type or kind is a specialisation of precisely one (more general) type or kind, and so on all the way back to a single root kind. Thus the categories that make up the ontology form a simple tree. This top-down approach is strongly rooted in pre-modern systematic philosophy (see [1] and [5] for examples) but it is not obvious how realistic it is.

3.2.1 Hierarchical models are not sufficient

Consider, for example the case of the platypus. A platypus is a type of mammal, but it is also a type of egg-laying animal and those two types cannot be placed in a hierarchical relation to one another. Hence, the type platypus cannot be derived from only one parent type. As a more conceptual example, the C declaration

```typedef union
{
long l;
double d;
} longdouble;```

creates a type which is simultaneously a type of long and a type of double; in fact it is polymorphic and can be taken to be of either type.

Consider also this problem. Say I decide that a relation is a type of thing within my ontology. So it must sit somewhere in my hierarchy. But any realised relation is a relation (one type) between one or more things (one or more additional types), and so the realised relation derives from at least two types, and may derive from any number. This is evidence of a certain problem with naive ontologies: if one tries to make an ontology all-embracing then it has to end up being self-describing, so meta-ontological structures such as relation become part of the ontology and end up being related to almost everything.

3.2.2 Recursive types

In fact, we can go further. Clearly any reasonable ontology must allow for recursive types. For example, in Haskell we might specify the type of (rather ironically) a binary tree as

data Tree a = Leaf a | Node ( Tree a ) ( Tree a )

In general, we can only define the type binary tree in terms of itself, and this is far from being the only example. A sound ontology has to allow for recursive definitions, but a hierarchy cannot.

3.2.3 Functional types

A classic example of a type that will not fit in any hierarchy is the function type, that is to say a type of things that change the type of other things. So, for example, transducers are a type of thing that convert one type of energy to another, e.g. microphones, which convert sound energy into an electric current. We can model this as

transducer :: a -> b

where a and b are the input and output types of energy. So this function type depends crucially on two types, the input and the output.

3.2.4 Conditional types

This is complex enough, but the example of the tree demonstrates just how far from being a hierarchy ontology can get. Recall that we defined

data Tree a = Leaf a | Node ( Tree a ) ( Tree a)

Here a is a parameter that can stand for any type. So this prescription tells me how to make a binary tree of type a. Continuing down this route, we can be more stringent, for example

data (Eq a ) => Set a = Set [a]

says that I can make a set whose elements are things of any type a that happens to belong to the type Eq. In other words, I am given a type of types (i.e. Eq) and from it construct a function

Set : : (Eq a ) => a -> Set a

This is a conditional type, in that it imposes a condition on a: if a is of type Eq then Set a is a type.

To make this concrete consider the types heap of sand, heap of bricks, heap of clothes. These fall into a pattern, in that though each of them is a type in its own right, underlying them is a more general type, the type heap. Each type of heap is formed by combining heap of… with another type from within a fairly wide class of types. So we combine a type (heap) with a type of types (types of things you can form into heaps) and derive a function (that takes a heapable type into the type of heaps of things of that type).

It need hardly be said that this is entirely incompatible with notions of hierarchical or tree-based ontologies. A more subtle structure, such as that found in typed lambda calculus (see [2]), is probably required.

3.2.5 Conclusions

So we conclude that a viable ontology cannot be hierarchical or tree-based. This is not to say that it cannot have a parent-child structure, but whatever structure we choose must allow that (i) a type may have multiple parents, (ii) a type may be its own parent, and (iii) the most general rule for deriving more specialised types from less specialised must accomodate at least function types and conditional types.

References

1. Aristotle. The Physics.
2. H Barendregt. “Lambda calculi with types”. In: Handbook of Logic in Computer Science. Vol. II.
3. S Kripke. Naming and Necessity.
4. I Niles and A Pease. Towards a Standard Upper Ontology. 2008.
5. Proclus. The Elements of Theology.
6. W Quine. “Ontological Relativity”. In: Ontological Relativity and other essays.
7. W Quine. Set Theory and its Logic.