Re: ISSUE-126 (Revisit Datatypes): The list of normative datatypes should be revisited

I have been asking around a bit about this proposal and generally the  
response is positive.
However, I wonder if the right formulation is to say that floats etc  
are "synonyms" for xsd:float.
For example, this raises the question of serialization - you read in  
a float as "3.5"^^xsd:float and then write it out at "3.5"^^owl:real?

Rather, could we not tweak it slightly differently and say that we  
are considering the value space of floats, etc, to be the reals,  
rather than their specified value space according to XML schema?

Since I don't think we ever produce new (user visible) literals in  
OWL reasoning (do we?), adopting this approach would mean the  
reasoning proceeds as you suggest, but the literals remain as they are.

Since this would be an internal change, we don't necessarily have to  
have a user facing real or rational datatype. Not that I think that  
might be desirable for other reasons, but it can be decoupled from  
this issue.

There would still be the issue of overlapping value spaces. The  
cardinality of unionOf({"1"^^xsd:float}, {"1"^^xsd:int}) would need  
to be determined to be 1. For this I would think a preprocessing of  
all the constants in the ontology to determine which were equal would  
be an efficient way to manage the problem.


ps. Still thinking about the date types. Carsten points out these  
papers as possibly relevant. 

On Jun 19, 2008, at 3:49 AM, Boris Motik wrote:

>>> 4. We introduce a new owl:real datatype. This datatype would allow
>>> for the following types of constants:
>>> - rational numbers written according to
>>> wiki/OWL_Rational
>>> - floating point numbers written in the format as specified in the
>>> definition of xsd:float and xsd:double in the XML Schema
>>> - decimal numbers as written in the format as specified in the
>>> definition of xsd:decimal
>>> - integer numbers as written in the format as specified in the
>>> definition of xsd:integer and related datatypes
>>> Furthermore, we would make xsd:float and xsd:double (and possibly
>>> xsd:decimal as well) synonyms for xsd:real. This would be the only
>>> definition from the XML Schema datatype system: there, some very
>>> large numbers are not members of xsd:float. I believe, though, that
>>> this would bother people in practice.
>>> Finally, we can include xsd:nonPositiveInteger,
>>> xsd:negativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte,
>>> xsd:nonNegativeInteger,
>>> xsd:unsignedLong, xsd:unsignedInt, xsd:unsignedShort,
>>> xsd:unsignedByte, and xsd:positiveInteger with the existing
>>> semantics as
>>> usual.
>>> Regards,
>>> 	Boris

Received on Tuesday, 1 July 2008 06:16:38 UTC