W3C home > Mailing lists > Public > public-owl-wg@w3.org > July 2008

RE: An approach to xsd:dateTime

From: Boris Motik <boris.motik@comlab.ox.ac.uk>
Date: Thu, 24 Jul 2008 06:56:08 -0400
To: "'Alan Ruttenberg'" <alanruttenberg@gmail.com>
Cc: "'Michael Smith'" <msmith@clarkparsia.com>, <public-owl-wg@w3.org>
Message-ID: <000001c8ed7b$e42fb030$f4744381@wolf>

Hello,

Having only one time line (without the time zone) is rather usual in programming languages. For example, this is how java.util.Date
works: it is internally implemented to store the number of milliseconds elapsed from January 1, 1970, 00:00:00 GMT. This value is
always in GMT.

When you want to put this value onto the Gregorian calendar, then you need to specify a time zone, and you get back an the 8-tuple
(day, month, year, hour, minute, second, millisecond, time zone). You are also free to use calendars other than the Gregorian.

Windows Win32 API works in a similar way and, if my memory serves me right, UNIX has something similar as well.

Form an implementor's perspective, such a design is beneficial because reasoning with dates is really easy: it is the same as with
owl:number. The only complicated machinery is in reading the constants and converting them into the number of milliseconds.

Regards,

	Boris

> -----Original Message-----
> From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
> Sent: 24 July 2008 06:09
> To: Boris Motik
> Cc: 'Michael Smith'; public-owl-wg@w3.org
> Subject: Re: An approach to xsd:dateTime
> 
> 
> On Jul 23, 2008, at 6:14 PM, Boris Motik wrote:
> 
> >
> > Hello,
> >
> > The problem seems a bit more complicated. What do you do with the
> > time zone if it is present on some constant?
> This is well defined in http://www.w3.org/TR/xmlschema11-2/#vp-dt-timeOnTimeline
> 
> The issue is really what to do about constants without time zone, as
> these don't have a specific location on the time line.
> Or they have a position on a different time line (depends on your
> point of view)
> 
> > Another way forward would be to make the value space of dateTime the
> > (continuous) time line at Greenwich. Each number on the time
> > line would correspond to the number of seconds elapsed from some
> > fixed point, such as the beginning of AD or something similar. (I
> > am deliberately not using UTC -- I'll explain shortly.) In this way,
> > you have a unique time point for every event, and that time
> > point is not dependent on the time zone or on effects such as
> > daylight saving. Furthermore, the value space is isomorphic to
> > owl:number, which makes reasoning simpler.
> 
> This is effectively TimeOnTimeline. owl:number is a reasonable value
> space because the value space is otherwise decimal, and owl:number is
> what we use for decimal.
> 
> > Time zone, daylight saving, and leap seconds would be relevant only
> > for dateTime constants. For example, you might have a constant
> > "midnight on 1/1/2008 in London", and this constant would be mapped
> > to the same time point as the constant "1am on 1/1/2008 in
> > Berlin". Thus, the time zone, leap seconds, and daylight saving
> > would be relevant only when you want to refer to actual time points.
> >
> > Now I deliberately didn't want to say that the value space of
> > dateTime should be UTC because UTC time consists of a day, month,
> > year, hour, minute, and second. As such, it is not just one number,
> > but six numbers, which makes reasoning more complicated.
> > Furthermore, a minute in UTC can contain leap seconds, which is yet
> > another complication for reasoning.
> 
> The leap seconds is a separate issue, I think. The main issue is that
> leap seconds are defined only historically. So no matter what you
> can't account for them completely. In any case, the latest version of
> the spec explicitly says that it doesn't handle leap seconds.
> http://www.w3.org/TR/xmlschema11-2/#d-t-values
> 
> > I believe that such a design would work. The main problem, however,
> > is that we don't have (or at least I don't know of) a standard
> > that we can point to and that we could reuse. Specifying something
> > like this from scratch might require a lot of work; furthermore,
> > I don't believe that this is the core competence of our WG.
> 
> I don't think we are designing from scratch - the XML Schema provides
> us what is needed to map to owl:number.
> 
> The biggest decision is what to do about the TZ specified versus TZ
> not specified values. If  each (with/without)  were placed on separate
> timelines, then the only thing we would lose is the ability to use a
> facet value of one kind with the value space of the other, unless
> someone has an idea of how to do something reasonable with areas where
> the two are incomparable (when they are with 24 hours of each,
> ignoring time zone).
> 
> -Alan
> 
> >
> > Regards,
> >
> > 	Boris
> >
> >> -----Original Message-----
> >> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org
> >> ] On Behalf Of Michael Smith
> >> Sent: 23 July 2008 17:33
> >> To: public-owl-wg
> >> Subject: Re: An approach to xsd:dateTime
> >>
> >>
> >> On Wed, 2008-07-23 at 14:49 -0400, Michael Smith wrote:
> >>> As I read the XML Schema 1.1 description of dateTime [1], the
> >>> primary
> >>> problem it presents as a datatype is that timezone is optional.
> >>> If OWL
> >>> were to require the timezone property, all values map to a single
> >>> point
> >>> on a discrete number line (see [2]), making implementation
> >>> equivalent to
> >>> implementation of xsd:integer.
> >>
> >> Tracker, this was in reference to ISSUE-126.
> >> --
> >> Mike Smith
> >>
> >> Clark & Parsia
> >>
> >
> >
> >
Received on Thursday, 24 July 2008 10:58:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 24 July 2008 10:58:16 GMT