RE: ISSUE-126 (Revisit Datatypes): A proposal for resolution

Hello,

I'm sorry -- I did in deed mean that '"1"^^float and "1.0"^^float are *different* constants denoting the same *data value*'. I
apologize for the confusion.

I have no problem in treating points 1. and 2. as a separate issue: we should clean up the definitions of the datatypes as they are
regardless of whether we introduce a rational datatype.

Regards,

	Boris

> -----Original Message-----
> From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
> Sent: 01 July 2008 15:34
> To: Boris Motik
> Cc: 'OWL Working Group WG'
> Subject: Re: ISSUE-126 (Revisit Datatypes): A proposal for resolution
> 
> 
> On Jul 1, 2008, at 8:15 AM, Boris Motik wrote:
> 
> >
> > Hello,
> >
> > Here is a proposal, inspired by Alan's earlier observations, for
> > resolving this issue.
> >
> > 1. We introduce the owl:real datatype with the value space of all
> > real numbers. We don't add any constants of the form owl:real.
> 
> I'm not sure what it means to introduce the datatype. Does this
> necessary have to be named? Can we not just refer to the real numbers
> in the semantics?
> 
> > 2. We introduce the owl:rational datatype with the value space of
> > all rational numbers. We add a constant for each rational number
> > along the lines of http://www.w3.org/2007/OWL/wiki/OWL_Rational.
> > Thus, we would be able to write things such as "1/3"^^owl:rational
> > or even "1/1"^^owl:rational.
> 
> As I mentioned, I think this should be a separate issue, in the
> interest of making quicker progress on the core technical problem we
> are trying to address.
> 
> >
> > 3. We leave xsd:integer and all the derived types as they are.
> > Thus, "1"^xsd:integer is still valid as usual.
> >
> > 4. We make xsd:double the subset of real numbers between the
> > minimal double and the maximal double number. We do the same for
> > xsd:float. All constants are the same as in XML Schema; thus,
> > "1"^^float and "1.0"^^float are all the same constants.
> Denote the same value? (I think that's the language you used in the
> previous email).
> 
> > We disallow
> > the NaN (not-a-number) constant (allowing NaN would make owl:double
> > not a subset of owl:real).
> Would it work to make NaN be equivalent to bottom? This needs a bit
> more thought.
> >
> > We are thus staying "almost" true to XML Schema, in thatwe have
> > exactly the same set of constants as in XML Schema. The main change
> > is that, in order to facilitate simpler implementations, we make
> > the extension of xsd:double and xsd:float continuous rather than
> > discrete.
> +1
> >
> > 5. We make xsd:decimal the subset of owl:real and we leave all
> > constants as they are. Thus, "1.0"^^xsd:decimal is still a valid
> > constant in OWL.
> +1
> > 6. We disallow the "pattern" facet on all numeric datatypes.
> It would be helpful to see whether these are ever usefully used. But
> I concur that they are nasty.
> 
> >
> >
> >
> > As I explained in my last e-mail, two constants can be different
> > even though they denote the same value. This elegantly solves the
> > problems that Alan mentioned in his last e-mail. For example, if
> > the ontology initially contains "1.0"^^xsd:float, this would be
> > read into a constant whose lexical representation is "1.0" and
> > whose URI is xsd:float. Thus, if you write the ontology back from the
> > structural spec, the constant would be written out as
> > "1.0"^^xsd:float, and thus the form of the ontology would be
> > preserved.
> >
> > The only thing that changes really is that we'd say that the
> > extensions of xsd:double and xsd:float are continuous and not
> > discrete,
> > and we'd tweak them (e.g., by removing NaN) to make them subsets of
> > owl:real.
> >
> > Please let me know how you feel about this.
> >
> > Regards,
> >
> > 	Boris
> >
> >

Received on Tuesday, 1 July 2008 14:49:52 UTC