Dad asked me how I was getting on with Haystack, and my response was:
It isn't usable, at least not without about a gigabyte of RAM. If it gets to the point that they say the ontology is stable (or migration to new versions will be supported) then I'd consider whether getting a gig of ram just for the sake of running it was worthwhile.
To which Dad rejoined,
What IS ontology?
So, what is ontology?
Chambers' Everyday Paperback Dictionary:
ontology, n. the science that treats of the principles of pure being, that part of metaphysics which treats of the nature and essence of things
OED:
The science or study of being; that department of metaphysics which relates to the being or essence of things, or to being in the abstract.
The OED also provides the following quote, which I simply like:
a1832 BENTHAM Fragm. Ontol. Wks. 1843 VIII. 195 The field of ontology, or as it may otherwise be termed, the field of supremely abstract entities, is a yet untrodden labyrinth.
So, from the dictionary it's hard to see what ontology could mean in this context. Pan Reference's "A Dictionary of Philosophy", is a little more helpful:
ontology 1. The branch of metaphysical enquiry concerned with the study of existence itself (considered apart from the nature of any existent object). It differentiates between `real existence' and `appearance' (noumenon; phenomenon) and investigates the different ways in which entities belonging to various logical categories (physical objects, numbers, universals, abstractions, etc.) may be said to exist. 2. The assumptions about existence underlying any conceptual scheme or any theory or system of ideas. Widely differing assumptions about `what there is not' and `what there is', are found in Parmenides and Plato, in Leibniz and Kant, and in modern phenomenological and analytical schools.
Definition 2 is what we are most interested in. Haystack is a piece of software for information management, and any such software builds in, even if implicitly, a set of assumptions about what sorts of thing are of interest and how they might be related. An ontology. People (with postal addresses, email addresses, and so forth), email messages, calendar entries, an so on, are included in the ontology of any personal information management software.
Haystack is unusual in that its core ontology is that of RDF: there exist nodes, identified by URIs (commonly URLs, which are a subset of the more general URIs) between which directed links may be established, the type of which links are again identified by URIs. This is clearly vastly more flexible than the normal approach, where "address card" or "email message" are at the most fundamental level of the ontology. It is also, however, too flexible to be practically useful. Worse still, if a few determined individuals were to use software which only provided this level of ontological commitment (that is, the ontology, the assumptions regarding what there is and how those things that there are might be linked, to which you commit in building a tool) they would naturally build, over time, a further layer of ontological commitment into their use of the tool. Since each such user would do so, the likely result would be the absence of any ability to send chunks of information to other users of the same software and expect them to be able to ingtegrate that information in their own repository.
To get round this, Haystack adds this further layer of ontological commitment "ready packaged"; essentially it brings the software up to the level of normal PIM software in the high level entities which are recognised. Because it builds up from a simple and consistent lower level ontology (the directed graph of nodes and labelled arcs of RDF) in terms of which this higher level is defined, the higher level is itself more consistent, and also more extensible.
Defining an ontology which is at once flexible enough for "power users" and simple enough for others is a difficult task, which is why no doubt the Haystack developers are reluctant to commit prematurely.
Davis, Schrobe, and Szolovits (1993) list "A set of ontological commitments" as one of five components of a knowledge representation. Easily missed is the fact that it is not just software explicity designed for information or knowledge management which can be classified as a knowledge representation or tool for KR. All software involves KR, and therefore all software (after all inevitably a "conceptual scheme or any theory or system of ideas") embeds ontological commitments.
Two people will likely never agree on the best set, but it must be fair to say that the more consistent the commitments embedded in a piece of software, the easier that software will be to learn and to use. I think that it is precisely because this feature of software is usually overlooked that many people struggle so hard to use computers. When you start usnig some software, naturally you will have to learn to see the world the way the authors of the software did; this will take effort, but if the software is well designed, will often be rewarding in any case.
All of this, of course, is not something I have thought about because of an obsessive fascination with personal information management. It is at the very core of my thinking about modelling tools, and in fact my fascination with PIM software is driven by a desire for it to cease being a glorified card file, and to start being a modelling tool. There's more to be said on this, but not here.
So, does that help any?
Comments