open-world/open-cmp-02 test compliance to spec

Dear working group,

The open-world/open-cmp-02 doesn't appear to be compliant with the
current SPARQL spec. This particular test evaluates the following query:

   PREFIX      :    <http://example/>
   PREFIX  xsd:    <http://www.w3.org/2001/XMLSchema#>

   SELECT ?x ?v1 ?v2
   {
       ?x :p [ :v1 ?v1 ; :v2 ?v2 ] .
       FILTER ( ?v1 <= ?v2 || ?v1 > ?v2 )
   }

on this data set:

   @prefix     : <http://example/> .
   @prefix  xsd:    <http://www.w3.org/2001/XMLSchema#> .

   :x1 :p [ :v1 "v1" ; :v2 "v2" ] .

   :x2 :p [ :v1 1 ; :v2 "v2" ] .

   :x3 :p [ :v1 "x"^^:unknown ; :v2 "x"^^:unknown ] .

   :x4 :p [ :v1 <test:abc> ; :v2 <test:abc> ] .

   :x5 :p [ :v1 "2006-08-23T09:00:00+01:00"^^xsd:dateTime ;
            :v2 "2006-08-22"^^xsd:date ].

The test specifies that both :x1 and :x3 are results of this query. The
:x1 is clear, it compares two plain literals. However, I wouldn't expect
the :x3 result here. The operator table in the SPARQL spec defines
various operand types for the '<=' operator, but literals with arbitrary
datatypes are not among them. So, based on the contents of this table, I
would say that "x"^^:unknown is not a valid operand for the '<='
operator.

This particular literal does, of course, match the equals part of the
operator, as defined for the '=' operator on RDF terms. But this query
uses the '<=' operator, and not '='. If '?a <= ?b' is supposed to be
semantically equivalent to '?a = ?b || ?a < ?b' -- which would make :x3
a valid result -- than the spec should state this somewhere.

I would be grateful if you could clear this up for me,

Arjohn

Received on Thursday, 30 August 2007 08:13:30 UTC