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

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:35:06 UTC