ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Time representation

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: Pat Hayes <phayes@xxxxxxx>
Date: Mon, 21 Jan 2008 11:15:41 -0600
Message-id: <p06230913c3ba7f3e329b@[192.168.1.2]>

On the CG forum, there was a question about representing time in
conceptual graphs and OWL.  Since that topic may be of interest
to people on this forum, I am forwarding the following copy of
my response.

John Sowa

-------- Original Message --------

There are many possible options for representing and reasoning
about time.  Any of them could be used with conceptual graphs.

OWL is an extremely limited subset of logic, which was not
designed to accommodate time in a systematic way.  In fact, the
purpose of OWL was to represent a limited subset of logic that
is used for stating timeless relationships among the categories
of an ontology.  Trying to add time to such a logic requires
either a complete overhaul of the entire system or an ad hoc
solution that is useful for only a single type of problem.

No, no. Its a subset of full FO logic, true, but its not any more hostile to temporal relationships than any other logic, and one can approach the matter systematically, and indeed in much the same ways it is handled in more expressive logics.


In representing time, the first option is to choose between an
explicit time or an implicit "temporal logic", which does not
actually refer to time.

Temporal logics avoid references to time by using operators
such as 'sometimes', 'always', 'before', and 'after'.  That
representation, which was developed by Arthur Prior (a good
name for a philosopher who was writing about time), treats
time as a kind of modality (with 'always' corresponding
to 'necessity' and 'sometimes' to 'possibility').

An approach with explicit time represents time with a linear
coordinate system.

Why linear? There are branching-time ontologies, circular-time ontologies, etc.. And it need not be a coordinate system exactly: many temporal ontologies have no metric information in them at all.

 That raises more questions, whose answers
require further distinctions:

a) 4 dimensions or 3+1 dimensions?  A 4-D approach treats objects
    and processes as connected regions of a four-dimensional
    space-time continuum.  A 3+1 D approach treats space and time
    as independent, but related, coordinate systems.

b) Time points or intervals?  Using real numbers to represent time
    coordinates implies that time is divisible into infinitely small
    points.  But finite intervals with domain-dependent granularity
    are more realistic.

But such intervals tend to have points at their ends, and meet at points. Its usually most useful to have both kinds of entity, or if you must restrict to one, use points and treat an interval as a pair of (end)points.


c) Contexts or extra arguments on relations?  If time is represented
    by some coordinate system, how are those coordinates associated
    with the other representations?  By attaching the time (and/or
    space) coordinate to a context box or other delimiter that encloses
    the description of a situation at that time?  Or by adding another
    argument to every relation to indicate the time when it is true?

As an example of point (c), the relation HasPart(x,y) would say
that x has y as part.  If parts can be added or lost over time,
there must be some way to state when that relation is true.

The first option specifies the point in time t of a situation
when all the relationships happened to be true, including the
fact that some entity x had some entity y as part.  The second
option adds an extra argument to every relation; for example,
HasPart(x,y,t).

And there are other options in more expressive notations, such as treating relations as predicates on time-intervals:
(HasPart(x,y))(t)

 The first option adds more complexity to
the logic, but simplifies the description of each situation.
The second option adds more arguments to every relation, but
it does not change the underlying logic.

This list of options illustrates why it is so difficult to
handle time in RDF and OWL:  they have no way of representing
contexts, extra arguments for time,

Sure they do. One simply has to use the (now standard) trick of introducing 'facts' (not the best word) which have temporal properties and also are systematically related to the arguments and property of the predication. So the above becomes
(there is fact of type HasPart with the haver role being x and the having role being y and the time-extent being t)

In the N-triples notation for RDF this would look like this

_:x rdf:type HasPart .
_:x rdf:type PredicationFact .
_:x ex:whole X .
_:x ex:part Y .
_:x ex:timeTrue T .

Now, I will admit immediately that such a representation has its problems: but it does actually work, if used consistently; and it is systematic. In fact, if you think of the _:x here as being a proposition, it can be viewed as a restricted subset of IKL.

Pat
-- 
---------------------------------------------------------------------
IHMC               (850)434 8903 or (650)494 3973   home
40 South Alcaniz St.       (850)202 4416   office
Pensacola                 (850)202 4440   fax
FL 32502                     (850)291 0667    cell
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (01)

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