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

Re: ISSUE-80: Meta builtins

From: Chris Welty <cawelty@gmail.com>
Date: Fri, 13 Mar 2009 14:22:09 -0400
Message-ID: <49BAA451.6080404@gmail.com>
To: Chris Welty <cawelty@gmail.com>
CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>


At the March 3 telecon we discussed the issue of a general literal 
equality/non-equality predicate.  There was consensus that we could drop (or, 
really, not add) pred:literal-equal, however it turned out that some who agreed 
(or didn't object) assumed that meant *also* dropping pred:literal-not-equal, 
and of course some thought it meant keeping not-equal.

It is pred:literal-not-equal that reduces the 13 inequality rules in [1] to a 
single rule.

Lets see if we can resolve this one at the upcoming telecon.


[1] http://www.w3.org/2005/rules/wiki/OWLRL#Rules_for_supported_datatypes

Chris Welty wrote:
> Issue-80 was prompted by DaveR's attempt at using RIF-Core to specify 
> the rules in OWL-RL.  He suggested it would be much easier, and also 
> promote datatype extensibility, if the builtins were more general.  We 
> resolved to have a two-argument pred:isLiteralOfType (and its negation), 
> and are currently considering literal equality, which is more complicated.
> Basically we need a pred:literal-not-equal, or at the very least a not= 
> for each datatype.  It seems to make sense to have a pred:literal-equal 
> as well (for symmetry, if nothing else), but what does it do? Is it 
> redundant with RIF's = predicate?  Does it do numeric comparison?  Is it 
> simply lexical?
> At the moment pred:literal-equal is defined to be subsumed by RIF's =.  
> It does not do xs:numeric-equal, which includes type promotion.  Thus we 
> would need to keep that, unless this predicate were changed.  RIF= for 
> datatype checks identity in the value space.
> Jos believed he read somewhere that it is possible for a datatype to 
> have multiple values in their value spaces that are identical.  Probably 
> this is from dateTime, which is pretty hard to understand - I wasn't 
> able to nail it down precisely (the spec says datetimes are compared 
> based on their timeline values).  Thus if RIF= already provides value 
> space identity, pred:literal-equal could provide the datatype specific 
> equality that F&O specifies for e.g. numerics, date-times, etc.
> Note:  [XS2] says "Equality" in this Recommendation is defined to be 
> "identity" (i.e., values that are identical in the ˇvalue spaceˇ are 
> equal and vice versa). Identity must be used for the few operations that 
> are defined in this Recommendation. Applications using any of the 
> datatypes defined in this Recommendation may use different definitions 
> of equality for computational purposes; [IEEE 754-1985]-based 
> computation systems are examples. Nothing in this Recommendation should 
> be construed as requiring that such applications use identity as their 
> equality relationship when computing.
> Solutions:
> 1) Drop pred:literal-equal
> 2) Leave pred:literal-equal as is (redundant with RIF =)
> 3) Redefine pred:literal-equal to perform all the datatype specific 
> equality tests including numeric, and remove those datatype specific 
> tests from DTB.
> -Chris
> [Xs2] http://www.w3.org/TR/xmlschema-2/

Dr. Christopher A. Welty                    IBM Watson Research Center
+1.914.784.7055                             19 Skyline Dr.
cawelty@gmail.com                           Hawthorne, NY 10532
Received on Friday, 13 March 2009 18:23:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:54 UTC