W3C home > Mailing lists > Public > public-rif-wg@w3.org > January 2009

int/float disjointness

From: Sandro Hawke <sandro@w3.org>
Date: Wed, 21 Jan 2009 09:14:42 -0500
To: public-rif-wg@w3.org
Message-ID: <13694.1232547282@ubehebe>


We agreed at F2F 12 to have the value spaces of numeric types be
disjoint [1], so that numeric builtins could use the normal math
libraries.  We implicitely agreed to Dave's three test cases:

> RS1: [3]
>    ex:a = "1"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:double))
> entails:
>    ex:p("1.0000000001"^^xsd:double)
> 
> but:
> 
> RS2:
>    ex:a = "10000000"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:double))
> entails:
>    ex:p("10000000"^^xsd:double)
> 
> what's more the XPath type promotion rules mean that:
> 
> RS3:
>    ex:a = "10000000"^^xsd:double
>    ex:p(?x) :- ?x = External(func:numeric-add(ex:a,
>                                   "0.0000000001"^^xsd:decimal))
> also entails:
>    ex:p("10000000"^^xsd:double)

Now, in thinking about talking to OWL-WG about this, I'm wondering about
a few other test cases.  In particular, I think in RIF Core, for the
empty ruleset:

   "1"^^xsd:decimal = "1"^^double    IS NOT entailed

but

   pred:numeric-equal("1"^^xsd:decimal, "1"^^double)  IS entailed
   
Agreed?

The question then, for OWL, is whether it's possible to still have

   "1"^^xsd:decimal owl:sameAs "1"^^double.   

be entailed.  Can we still allow that?  I think we could implement it in
OWL-RL, using datatype guards and builtins, as above.

I'm trying to figure out whether our "push back" on OWL on this subject
actually changes their implementations, or is really just about how they
conceptualize the language.

      -- Sandro

[1] http://www.w3.org/2005/rules/wg/meeting/2009-01-15#resolution_10
Received on Wednesday, 21 January 2009 14:14:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:00 GMT