Re: xsd:float and xsd:decimal

[Patrick Stickler, Nokia/Finland, (+358 40) 801 9690, patrick.stickler@nokia.com]


----- Original Message ----- 
From: "ext Brian McBride" <bwm@hplb.hpl.hp.com>
To: "Patrick Stickler" <patrick.stickler@nokia.com>; "ext Jeremy Carroll" <jjc@hpl.hp.com>; <w3c-rdfcore-wg@w3.org>
Sent: 28 November, 2002 17:19
Subject: Re: xsd:float and xsd:decimal


> At 16:00 24/11/2002 +0200, Patrick Stickler wrote:
> 
> 
> 
> >[Patrick Stickler, Nokia/Finland, (+358 40) 801 9690, 
> >patrick.stickler@nokia.com]
> >
> >
> > > Thus, reading the authoritative specs we work out what the values are, and
> > > they are the same. Hence, independent of whether our implementations
> > > actually do it, the relevant entailments are part of RDF datatyping.
> >
> >I'm fine with this as long as it is clear (somewhere) that
> >datatype entailments involving equality of values between
> >different datatypes are based on the definitions of the
> >datatypes themselves, and if the relationships between
> >the datatypes are not part of the formal definitions of
> >the datatypes, then the entailments cannot be determined.
> >
> >I.e. we need to be clear about the basis for the entailments
> >and not work solely on the basis of human intuition.
> 
> Patrick,
> 
> May I test my understanding of what you mean here.  I offer two datatype 
> definitions and an entailment.
> 
> Datatype Definition 1:
> 
> URI:           http://example.org/datatypes#1
> Lexical Space: {"1"}
> Values  Space: {1}
> Mapping:       {"1", 1}
> Comment:       The value space of this datatype is the set containing only 
> the integer 1.
> 
> Datatype Definition 2:
> 
> URI:           http://example.org/datatypes#2
> Lexical Space: {"one"}
> Values  Space: {1}
> Mapping:       {"one", 1}
> Comment:       The value space of this datatype is the set containing only 
> the integer 1.
> 
> Does:
> 
> <a> <b> "1"^^http://example.org/datatypes#1 .
> <c> <d> "one"^^http://example.org/datatypes#2 .
> 
> entail
> 
> <a> <b> _:v .
> <c> <d> _:v .
> 
> The point of this test is that whilst it is true that:
> 
> http://example.org/datatypes#1 rdfs:subClassOf http://example.org/datatypes#2 .
> http://example.org/datatypes#2 rdfs:subClassOf http://example.org/datatypes#1 .
> 
> this is not explicitly stated in the definitions of the datatypes.

This is both easy and tricky to answer because it depends on behavior
that is external to RDF.

If it is the case that http://example.org/datatypes#1{1} and
http://example.org/datatypes#2{1} really are the same thing in
the universe, then of course the entailment holds. If it is
controversial, however, whether they are the same thing, then
RDF has nothing to say one way or the other about it. I.e. the
entailment is being determined entirely outside the scope of
RDF or RDFS.

My concerns have to do with (a) how a given application will know
this, (b) whether support for "datatype entailments" includes this
knowledge about relations between datatypes, and (c) how much we
ourselves have to specify/clarify.

Perhaps the following verbage might do the trick:

"Datatype entailments presume special knowledge about the particular
datatypes involved, including the memberships of the lexical and
value spaces, the lexical to value mapping, and in the case of 
comparisons of values expressed in terms of different datatypes,
the intersection, if any, between the value spaces of those datatypes.
Some applications may have only limited knowledge about datatypes,
and as such may only be able to compare values expressed in terms
of the same datatype, while others may support comparisons between only
certain pairs of datatypes. Given this fact, not all applications
will be able to test all possible valid entailments involving typed
literals. Applications are encouraged to notify the
user when it is unnable to make datatype value comparisions in the 
absence of sufficient knowledge about the datatypes in question."

There is still, of course, the social issue of disagreements about
whether two datatypes have intersecting value spaces, but that is
not an RDF concern, though it may mean that different reasoning
engines taking different views about the relationships between two
datatypes might come to different conclusions since one will make
entailments the other does not. Cest la vie.

Patrick

Received on Friday, 29 November 2002 04:01:58 UTC