SPARQL 1.1 Query erratum

Spotted by one of the guys in Experian.

    "The IN operator tests whether the RDF term on the left-hand side is found in the values of list of expressions on the right-hand side. The test is done with "=" operator, which tests for the same value, as determined by the operator mapping."

    "The IN operator is equivalent to the SPARQL expression:

    (lhs = expression1) || (lhs = expression2) || …"

    But that's not true given a non-deterministic lhs, e.g.:

    (RAND() < 0.5) IN (true, false)

    Which is always true by my reading of the text, and only true 75% of the time by the equivalence.

Suggest the following text for the errata:

    <div class="entry">
      <p><span style="font-weight: bold;"><a id="errata-query-3">errata-query-3</a></span></p>
      <p>Report: <a href="">this mail...</a></p>
      <p>In the <a href="http://www.w3.org/TR/sparql11-query/#func-in">definition of the IN operator</a>, the <tt>(lhs = expressionN)</tt> equivalence should be downgraded to an illustration, as the equivalence doesn't hold for a non-degterministic lhs.</p>
    </div>

Cheers,
   Steve

-- 
Steve Harris
Experian
+44 20 3042 4132
Registered in England and Wales 653331 VAT # 887 1335 93
80 Victoria Street, London, SW1E 5JL

Received on Tuesday, 7 May 2013 13:33:29 UTC