- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Tue, 1 Jul 2008 15:48:16 +0100
- To: "'Alan Ruttenberg'" <alanruttenberg@gmail.com>
- Cc: "'OWL Working Group WG'" <public-owl-wg@w3.org>

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