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

[DTB] ACTION 704 completed

From: Axel Polleres <axel.polleres@deri.org>
Date: Tue, 10 Feb 2009 23:00:32 +0000
Message-ID: <49920710.5040504@deri.org>
To: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>

http://www.w3.org/2005/rules/wg/track/actions/704

Add the generic equality predicates to DTB for discussion (editors note 
this is still under discussion

I now added generic equality and inequality predicates for literals.
This is a first shot, hope it reflects the needs:

http://www.w3.org/2005/rules/wiki/DTB#Comparison_for_Literals

Some issues:

1) As noted in the editor's note, it seems to me that

  pred:literal-equal

is redundant. If that is untrue, let me know.


2) As for naming convention, it seems a bit odd that we now use
CamelCase for some predicates (e.g. isLiteralOfType) and dashes a la
Xpath/XQuery for others (e.g. literal-equal)

3) Currently, for each of the datatypes specified in DTB we have both 
equals and not-equals predicates:

* xs:double
* xs:integer
* xs:decimal
pred:numeric-equal (adapted from op:numeric-equal)
pred:numeric-not-equal

* xs:string
pred:string-equal
pred:string-not-equal

* xs:dateTime
pred:dateTime-equal (adapted from op:dateTime-equal)
pred:dateTime-not-equal

* xs:date
pred:date-equal (adapted from op:date-equal)
pred:date-not-equal

* xs:time
pred:time-equal (adapted from op:time-equal)
pred:time-not-equal

* xs:dayTimeDuration
* xs:yearMonthDuration
pred:duration-equal (adapted from op:duration-equal)
pred:duration-not-equal

* rdf:XMLLiteral
pred:XMLLiteral-equal
pred:XMLLiteral-not-equal

* rdf:text
pred:text-equal
pred:text-not-equal

As for whether literal-equal and literal-not-equal can replace these 
type-specific equal and not-equal predicates, it seems to to me that 
this is mostly fine... *BUT*: The case that worries me is numeric-equal 
from XPAth/XQuery, which is not covered in case we go for disjoint 
datatypes (which appeared to be consensus in the OWL-RIF telecon).

Now here goes an example for the problem case, assuming disjoint 
datatypes decimal and double (please confirm),:
   pred:numeric-equals("1"^^xs:double , "1"^^xs:decimal) = t
   pred:literal-equals("1"^^xs:double , "1"^^xs:decimal) = f


-- 
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland, 
Galway
email: axel.polleres@deri.org  url: http://www.polleres.net/
Received on Tuesday, 10 February 2009 23:01:21 GMT

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