[Top] [All Lists]

Re: [ontolog-forum] Is Philosophy Useful in Software Engineering Ontolog

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Thomas Johnston <tmj44p@xxxxxxx>
Date: Wed, 1 Jul 2015 21:31:47 +0000 (UTC)
Message-id: <1975845411.729384.1435786307226.JavaMail.yahoo@xxxxxxxxxxxxxx>

Ontology Used to Extend Bitemporality to Tritemporality

July 1, 2015.
Tom Johnston

Here's a few more comments on the topic of the usefulness of Philosophy to formal ontology and ontology engineering.

Some Things That Come Immediately to Mind

Philosophy is the source of most of the major concepts that we think with. For example:

  1. The notion that physical things are clumps of smaller physical things originated with Democritus and Leucippus in 5th Century BCE Greece. This concept of the atom, although highly refined, is still part of the world view of physics today.

    1. The notion of justice as something different from doing good things for your friends and bad things to your enemies, as something to do with balance and harmony, originated with the Greek tragic poets and also with Socrates. More broadly, many of the virtues that we consider essential to living a good life were first articulated by these thinkers, reflecting on earlier understandings of evaluative standards inherited from Greece's Heroic Age.

    1. The distinction between abstract objects and their physical instantiations is due to Pythagoras and Plato. And the problems with this distinction, which are still discussed today, were first stated by Plato.

    1. The very basic concepts of permanence and change were first articulated by the pre-Socratics (Parmenides and Democritus, specifically), and gave rise to the two major strains of ontology – Plato's and Aristotle's. (Depicted in Ralphel's painting “The School of Athens”). Plato saw change as part of everything in the world around him, and concluded that there must be a separate realm of permanence where individual permanent and perfect things, like perfect triangles and perfect justice, existed. (This is still a view common among mathematicians, who speak of “discovering” proofs rather than of “constructing” them.) Aristotle saw change around him, and distinguished between change in which an object retains its identity from change in which it does not – essential vs. accidental change.

    1. Knowledge, for Plato, was recollection from a period prior to a person's existence in his body, of perfect and unchanging archetypes/Ideas/Forms. For Aristotle, knowledge was abstraction of patterns from the experience of particulars, their organization by means of a set of categories, and their arrangement in a hierarchy of more general (genus) to less general (species) in which all nodes under a common node in the hierarchy were distinguished by means of a criterion (specific difference). These nodes are concepts, and their definition by genus and specific difference is still the gold standard for definitions of concepts.

The apparently recent notion of concepts as prototypes can be seen as, not a completely new, profound insight (usually attributed to Wittgenstein), but rather as a revival of a Platonic view of concepts as Ideas/Forms, and their imperfect physical instantiations.

    1. The question of whether predicates represent concepts in the mind, or universal patterns in extra-mental reality, or perhaps both, or perhaps neither, was discussed for a thousand years in medieval Europe. Indeed, the very idea of representation (re-presentation) was extensively discussed by the medievals. And, believe me, the number of different but very cogent positions taken on these issues are considerable.

One problem with this list is that it's just a grab-bag of what occurs to me as I am writing today. But it does, I think, illustrate the origins of some of the most important concepts we use to think with. For the most part, we aren't even aware of them as themselves products of human thought, first formulated in a specific period of time, and subjected to evolution and change as the decades and centuries went by.

But they are.

Many of these questions are not settled “black letter” philosophical law. For this reason, these questions are of particular relevance to ontology engineering. To these questions, different answers are likely to be given, especially by people who are unaware that there have been different answers already given to these questions. In which case, semantic freight train collisions are quite possible, further down the ontological track.

An Example of Philosophy's Relevance: Concepts

For example, are there such things as concepts? I think this question is clearly important for any upper-level ontology which does not exclude mental objects. (And what is a mental object, by the way?) Language of thought (LOT) cognitive scientists certainly think so. And on this point, their connectionist opponents agree with them. Both take concepts to be physically instantiated in the brain (one in an “atomic” way, and one in a distributed way). (I regard this as ignoring the mind-body problem and waiting for discussions of it to gradually fade away, rather than solving that problem. Something like how Kuhn describes revolutions in scientific theories.)

But some of the later medieval philosophers thought that the notion of concepts as mental things was an unjustified reification of our talk about concepts. In addition, they raised important questions about that notion. For example, the concept of a dog that you have and that I have are two mental things, one in your mind and one in mine. So in what sense are they the same concept? Is there some super concept, existing outside human minds, perhaps in the mind of God? Or less theologically, perhaps as abstract extra-mental objects, that being one of the philosophical roles for the concepts of God and His Ideas in Medieval Philosophy?

For those philosophers (Henry of Ghent comes to mind), “having a concept in mind” was the act of “conceptualizing” that thing. It was an act, not itself a thing. In contemporary terms, we would say that conceptualizing is a neurological process rather than saying that concepts are a neurological construct. (Perhaps my notion of states, and of events as occasions during which things may alter the states of other things, might mediate this difference in a manner amenable to representation in a formal ontology. (See BDTP, Ch. 5))

Certainly an ontology which recognized concepts as objects would differ in important ways from one which instead recognized conceptualization as a mental act. Two lower-level ontologies, extended/merged upwards until they were covered by two upper-level ontologies, one with concepts as objects and the other with conceptualizations as mental acts, would have difficulty sharing lower-level mental and/or social concepts, or mapping assertions from one context to the other. I suggest that any bridge ontology constructed to reconcile the differences between them (or map the exchanges) would be both flimsy and elaborate, and unsatisfying to both sets of ontology advocates.

Have I Convinced the Plain-Joe Data Modeler/Ontologist?

A plain-Joe data modeler/ontologist, concerned with getting an application-level ontology up and running, might still want to say “So what? You haven't convinced me yet. My boss wants this product catalog organized on our website as an intuitively structured and easily navigable set of webpages, and indented tree structures on each webpage, and she wants it by next week. How will Aristotle or Henry of Ghent help me with that?”

Well, if that's Joe's only objective, and his web app's eventual fit into a larger ontological context isn't of any concern to him (or his boss), then at best it's Philosophy as a habit of thought that might be useful to him. And if he doesn't want use the term “Philosophy” for that habit of thought – that way of thinking that often finds a set of distinctions that weren't perhaps obvious, but that proved to be intuitively natural and also stable over time – then that's ok. Like I said previously, Philosophy as a way of thinking doesn't require a PhD.

On the other hand, that web app will very possibly need to be integrated with other apps later on, simply in order to present a cross-divisional, single consistent set of concepts and ways of organizing them to the employees, customers, business partners, regulators and other involved parties with whom the enterprise interacts. That integration is ontology integration, and its result is semantic interoperability across the integrated components.

Doing this integrating intrinsically involves bringing lower-level distinctions together under higher-level generalizations and, conversely, extending a higher-level distinction down onto one or both of the lower-level ontologies being integrated. These generalization concepts (call them the members of a mid-level ontology) are way-stations on the road to (and from) an upper-level ontology in which all differences are reconciled without being obscured.

It is the conceptual (object or act) members of that top-level ontology that have been and continue to be the subject matter of ontology, as done by philosophers. Most philosophers have much to learn from us about working out the deductive/semantic consequences of the positions they take by translating their positions into a formal language and cranking up the inference engine. (On the other hand, philosophers such as Nino Cocciarella don't need any instruction from us on that count.)

And we have much to learn from the philosophers about the art of working out subtle and important distinctions, and of steering away from false leads (usually recognized because those false leads were pursued to their bitter ends somewhere in the history of Philosophy). Many of the categories philosophers have developed, and distinctions they have found useful in the process of developing those categories, will be useful to we formal ontologists / ontology engineers.

In my own case, in writing my second book on bitemporal data, I had several of aha! moments that changed my own position from a bitemporal theory that differed in one of two temporal dimensions from the standard bitemporal theory, to a tritemporal theory. I think this evolution in my thought was almost inevitable, as it basically amounted to adding a third temporal dimension without taking away an existing one. Nonetheless, it happened while I was writing BDTP.

Perhaps briefly summarizing this experience, in which Philosophy played an important role, will help to illustrate my contention that we in this forum should care about Philosophy.

Philosophy, Ontology, and Software Development: a Vignette

At about the two-thirds point of my way through BDTP, I had developed a theory of bitemporal data which differed from the standard theory (the one now in the ISO SQL standard), and which was semantically a superset of that standard theory. But in one stretch of several hours, a number of ideas came together which together led me to a tritemporal theory of databases.

The standard theory's transaction time is the time from when a row is inserted into a table until it is deleted. The standard theory's valid time is the time when the object described by that row is in the state ascribed to it by that row, the state consisting of the object's recorded attributes.

By the time I started on BDTP, the idea that a row in a relational table represents a statement (an existential statement in first-order predicate logic) was part of my active conceptual toolkit. (I think the idea “clicked” when I was reading John's book Knowledge Representation). So I had already realized that a row in a relational table could be thought of both as a physical object (an inscription) and a semantic object (a statement).

Then the first of a cascade of “mini-aha”s happened. I had already realized that the standard theory's transaction time is about the row as an inscription. Also that its valid time is about the object in the world that the row represents. Here's what happened next.

Aha 1

To begin with, it “clicked” in my mind that a statement about what an object is like (or was like, or will be like) will be true during the time that the corresponding object was/is/will be in the state ascribed to it by that statement. In other words, that a valid time period for (an interval in the life of) the object referenced by a statement is necessarily co-extensive with the period of time during which the statement is in fact true. Valid time was statement time!

With that insight, and the new terminology of inscription time and statement time, I understood the standard theory, for the first time, in terms of a distinction between a physical object and a semantic object. (Good terminology is very important in thinking clearly. On the other hand, it can close you off from different points of view.)

Aha 2

A second “mini-aha” came as I then wondered whether the statement time period on a row was part of the statement itself, or was a temporal modal qualifier of the statement, and then realized that it could be treated either way. Since a modal logic interpretation of bi- or tri-temporality was beyond my expertise (and likely to be ignored by those who develop vendor software for a very long time!), I chose to regard the statement time period as part of the statement itself.

Aha 3

I then immediately recognized that this interpretation was an interpretation of statement time as a temporal indexical. Just as most statements about contingent matters of fact (hereafter just “statements”, since those are, in fact, the vast majority of statements in relational databases) which don't mention time involve the assumption that the statement is about what those matters of fact are right now, statements about anything other than the ever-changing current temporal moment need to explicitly state what time it is that they are about. If they don't they may be declarative sentences, but they aren't statements because they don't express one proposition. (I am here declaring some terminological conventions, of course.)

Aha 4

At this point, as I recall, the mental image of one proposition → multiple statements, one statement → multiple inscriptions popped into my mind. And I knew that as I wrote the rest of the book, something good would come out of this image.

From this perspective, it immediately became acutely puzzling to me why we data management professionals (especially the end-user IT folks and the vendors that support them) didn't attempt to tie those multiple inscriptions to the one statement they all express, and multiple synonymous statements to the one proposition they all express. That being done by some set of “meta-tables”, e.g. a meta-table for Statements to which every row in a regular table would have a foreign key.

Aha 4.1

For when the business directs we IT people to delete a row in a table, the business isn't concerned with rows and tables. With the naive thought that a statement is represented by just one row in one table in one database in the enterprise, they can say things like “Delete C123 from the Customer table”.

But what they mean is “Remove a particular statement about C123 from the set of statements expressed in the enterprise's databases”. And with a Statement meta-table, that would be a lot easier to do. Without it, what happens, in general, is well-known. One row about C123 is physically deleted. But copies of the data in that row – as entire row copies, as vertically truncated copies in which some columns are dropped off, as fabricated rows in which that row or some of its columns are joined to columns from other rows from other tables – will still exist, scattered across the enterprise. If, as every copy of the original row was made, a link was established to the corresponding statement in the Statement meta-table, then the intent of the request to make a deletion could be more closely approximated.

Eventually, maybe, this mess would be cleaned up. More likely, users of the enterprise's databases would just have to make the adjustments in their own minds. But when it is databases talking to databases via a yet-to-be realized Semantic Web that establishes machine-interpretable semantic interoperability across databases, that isn't an option.

Aha 4.2

Looking at this example from the point of view of the copies, not from the point of view of the request to delete something, I realized something else. All the recent talk about data provenance I had been hearing about expressed, at least in large part, a desire for the provenance of a semantic object, not a physical one. It was a desire to track the provenance of a statement across its many physical instantiations.

Aha 4.3

My next thought was that what the business user wanted deleted was, of course, not just the statement about C123, it was the proposition that C123 was/is/will be in the state ascribed to him by that statement. Mutatis mutandis, it is the provenance of propositions that we really want to know about. This seemed to me to cash in, in a pretty substantial way, the worn-out platitude about the distinction between data and information. (It still does seem that way to me.)

Aha 4.4

My thoughts then wandered to issues of implementing such grandiose ideas. And so I thought of “spaces”, in the sense of “namespaces” that we are all familiar with. In a hierarchy of statement spaces, extending from databases to enterprises to industries to the universe, statement provenance could be tracked across all those inscriptions registered into the space. In a hierarchy of proposition spaces, proposition provenance could be tracked across all those statements registered into the space. (Realizing, immediately, that the latter tracking, relating statements to propositions, would require human intervention in many important cases, for the foreseeable future.)

Aha 5

Everything up to this point still left me with bitemporal time. In my first book (Managing Time in Relational Databases), and in BDTP up to this point, I was developing a bitemporal theory. That theory, however, took the standard theory's transaction time, and extended it so that rows could be added to a table with a transaction time period that began in the future! (This was an extremely useful capability, still not yet recognized by computer scientists or really anybody else, explained in Chapter 12 in MTRD and Chapter 14 in BDTP.)

But now I was puzzled. I had already realized that “transaction time” was a bad name for the way I was using that temporal dimension, since the results of a transaction begin to exist when the transaction completes, not some time after that. And I (and my co-author) had already renamed this time period “assertion time” in MTRD.

And here came the next Aha. We had replaced transaction time with a different kind of time, and that was a mistake. Transaction time is what I was now calling Inscription time; and clearly, a time period tracking the temporal interval occupied by a physical inscription was important metadata. So what I then called assertion time should not have been offered as a replacement for / renaming and extension of transaction time. It was something different. So what was it?

The term “assertion” already provided the answer. I can inscribe a statement without necessarily asserting that it is true. Asserting that a statement is true is a speech act. In normal conversational contexts, the utterance of a declarative sentence is also the performance of the speech act of asserting that the statement made by that sentence is true. This is part of Grice's conventions of conversational implicature. Similarly, the act of creating a row is the inscription of a declarative sentence, and is normally also the performance of that selfsame speech act – asserting that the inscribed statement is in fact true.

But in both cases, the statement doesn't have to be true! I can utter “John loves Mary” in an ironic tone of voice, making it clear that by that utterance, I am not asserting that it is true that John loves Mary. I can also add a row to a database table predicting that the price of xyz stock will reach $200/share by the end of the year, and can do that while believing that the stock will actually tank by then. In inscribing (or uttering) a statement, that is, I can lie. I can perform the speech act of lying.

But by extension to database contexts, Grice's rules apply to inscriptions as well as to utterances. And although I can't enter an ironic inscription into a database, I can enter one believing that the statement it makes is false. Doing so, however, violates those conventional implicature rules, and these are rules that we all unconsciously rely on when querying a database, and that (fortunately) most of us conform to when modifying a database.

So now I had three things, each of which is associated with a time period, whether implicitly or explicitly expressed. The first is the inscription. Very little problem there. That takes care of the standard theory's transaction time.

The second is the statement. Statement time turns out to be the semantic mirror-image of the standard theory's valid time. The reason is that the time interval during which a statement (about contingent particulars, remember) is true co-varies with the time interval during which the object described by the statement is in the state ascribed to it by that statement. So there is little problem here, as well.

But a third time period, orthogonal to the first two, is also needed. It is the time period during which the party responsible for the database is willing to assert that the statement made by a row is, in fact, true. And there is no reason why a row can't be added to a table in advance of when the responsible party will be willing to assert that the statement is true.

Think of database/table merges when one company acquires another company. The merged data may be so large that the merge can't be completed during any one off-line session of the database. But management may reasonably expect that none of the merged data will be available in the database until all the data is merged, and so that management may set a single “go-live” point in time. At that point in time, which will be after all the data has been merged, management wants all the merged data to become instantly available. By setting the assertion time period to begin on that go-live point, these objectives can be met.

Note that future valid time is no solution here. Rows about new prices that will become effective on some future date, are rows in future valid/statement time. Some of these may have been part of the merge, and yet it is all merged rows – ones in past, present or future statement time – that management wants to remain invisible until a single go-live point.

That go-live point is the point at which management makes the speech act of asserting that the statements expressed by those rows are true statements – the statements about the past, the present, or the future.

And so what my co-author explained to me that companies needed – future assertion time – now took its place as a third temporal dimension, not as a replacement for transaction/inscription time.

Aha 5.1

And since anyone can change their minds, or since a statement about a current state of affairs may become false because that state of affairs ceased to exist, it must also be possible to withdraw such an assertion. This is done by ending the open assertion time period of the row.

Aha 5.2

The last Aha is about assertion and withdrawal speech acts. As speech acts, assertions and withdrawals are actions of parties, parties being persons or groups of persons making assertions and withdrawals. So while Inscription time and Statement time are single dimension spaces, assertion time must be associated with asserting/withdrawing parties, creating two-dimensional spaces. And the provenance of assertions, as distinct from the provenance of statements, is a provenance of the time periods, relative to a statement, during which a party asserted that the statement is true. That time period begins with the assertion by the asserting party, and ends with its withdrawal by that same party.

I note, in passing, that assertion provenance is fraught with legal implications.

Summary of Vignette

And so I finally realized that a full _expression_ of the times relevant to information recorded in databases required (i) a time period for a row as an inscription; (ii) a time period for a row as representing the state of an object; and (iii) a party/time period for the speech act of explicitly confirming Gicean implicature rules by committing oneself to the truth of the statement inscribed by that row.

Henry of Ghent might have been pleased with this. He distinguished between concepts as objects and conceptualizations as mental acts. I distinguish between statements as objects and assertions as mental acts or, more accurately, as expressions of the propositional attitude of belief held by a person or group of persons towards a statement during a specific period of time.

Not to forget the equally important distinction between (i) statements themselves; (ii) database rows which are their physical inscriptions; and (ii) propositions which are their information contents.

I hope this vignette has illustrated how a familiarity with concepts from Philosophy can help an ontologist develop a better ontology than he would otherwise have done. (The ontology, developed in BDTP, which I continue to work on, can be found in Chapters 5 and 19. It is an ontology in which tritemporality takes its place, and in which states and events are of equal ontological importance with things.)

Since I continue to work on this material, and am thinking of shaping it into a third book, I'd appreciate any comments, especially from the members of this forum. What is obscure? What seems wrong? What has been overlooked?

Thanks to all.

Tom Johnston

On Wednesday, July 1, 2015 5:14 PM, Ravi Sharma <drravisharma@xxxxxxxxx> wrote:

Does not mathematical model or logic help us synchronize towards very similar understanding of physical reality? Please note I have not used personally perceived reality that is already described in previous emails.

On Wed, Jul 1, 2015 at 2:05 PM, Kingsley Idehen <kidehen@xxxxxxxxxxxxxx> wrote:
On 6/30/15 9:21 PM, Chris Partridge wrote:
Not sure this is going to get us far, but I still cannot make much sense of "But the point is that none of it is about objective reality or objective truth.  It is about the world as seen by the people and software that have to communicate." Don't we see/sense the same world?
No we don't. That's Ed's fundamental point. The very same point made by John Sowa, Patrick Hayes and others --  in a variety of posts over the years.

We are individuals for a reason :)

Think of this as the cognition paradox .


Kingsley Idehen	      
Founder & CEO 
OpenLink Software     
Company Web: http://www.openlinksw.com
Personal Weblog 1: http://kidehen.blogspot.com
Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen
Twitter Profile: https://twitter.com/kidehen
Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen
Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J

(Dr. Ravi Sharma)
313 204 1740 Mobile

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

<Prev in Thread] Current Thread [Next in Thread>