Hi,

I'm trying to update ClioPatria's SPARQL support to 1.1.  I get this result:

15 ?- query_test('bind07 - BIND').
======================== BEGIN 'bind07 - BIND' =========================
% Parsed "data.ttl" in 0.00 sec; 4 triples
=========================== 'bind07 - BIND' ============================
TYPE: select(names(s,p,o,z))
RESULTS: 8; 4 missed, 8 incorrect
MISSED: <http://example.org/s1> <http://example.org/p> "1"^^xsd:integer NULL . <http://example.org/s2> <http://example.org/p> "2"^^xsd:integer NULL . <http://example.org/s3> <http://example.org/p> "3"^^xsd:integer NULL . <http://example.org/s4> <http://example.org/p> "4"^^xsd:integer NULL . EXTRA: <http://example.org/s1> <http://example.org/p> "1"^^xsd:integer "2"^^xsd:integer . <http://example.org/s1> <http://example.org/p> "1"^^xsd:integer "3"^^xsd:integer . <http://example.org/s2> <http://example.org/p> "2"^^xsd:integer "3"^^xsd:integer . <http://example.org/s2> <http://example.org/p> "2"^^xsd:integer "4"^^xsd:integer . <http://example.org/s3> <http://example.org/p> "3"^^xsd:integer "4"^^xsd:integer . <http://example.org/s3> <http://example.org/p> "3"^^xsd:integer "5"^^xsd:integer . <http://example.org/s4> <http://example.org/p> "4"^^xsd:integer "5"^^xsd:integer . <http://example.org/s4> <http://example.org/p> "4"^^xsd:integer "6"^^xsd:integer .
========================================================================

The query is this:

PREFIX : <http://example.org/>

SELECT ?s ?p ?o ?z
{
  ?s ?p ?o .
  { BIND(?o+1 AS ?z) } UNION { BIND(?o+2 AS ?z) }
}

and the data is

org:s1 org:p 1 .
org:s2 org:p 2 .
org:s3 org:p 3 .
org:s4 org:p 4 .

Can anyone explain me by which rules the UNION of the two BIND operations should
be NULL instead of resulting in two alternative answers?

        Thanks --- Jan

Reply via email to