Hi Joshua

BINDINGS is being changed to be VALUES instead by the SPARQL working group
which works similarly except that it can be applied more broadly i.e. Used
throughout queries rather than only at the end


The version of ARQ you are using (2.8.7) is very old and pre-Apache which
makes it at least a year old so may explain why BINDINGS was accepted by
the parser but not implemented.

The latest version 2.9.2 just came out and supports the new VALUES syntax

Rob

On 7/2/12 12:11 PM, "Joshua TAYLOR" <joshuaaa...@gmail.com> wrote:

>Hello, I just noticed that while ARQ doesn't complain about the
>presence of BINDINGS in a query, it doesn't seem to do anything with
>it either.  I tried recreating the example given in the working draft
>[http://www.w3.org/TR/sparql11-query/#bindings] and so end up with the
>following data and query:
>
>== Data ==
>@prefix dc:   <http://purl.org/dc/elements/1.1/> .
>@prefix :     <http://example.org/book/> .
>@prefix ns:   <http://example.org/ns#> .
>
>:book1  dc:title  "SPARQL Tutorial" .
>:book1  ns:price  42 .
>:book2  dc:title  "The Semantic Web" .
>:book2  ns:price  23 .
>
>== Query ==
>PREFIX dc:   <http://purl.org/dc/elements/1.1/>
>PREFIX :     <http://example.org/book/>
>PREFIX ns:   <http://example.org/ns#>
>
>SELECT ?book ?title ?price
>{
>   ?book dc:title ?title ;
>         ns:price ?price .
>}
>BINDINGS ?book {
> (:book1)
>}
>
>and though the prescribed result is the single row:
>
><http://example.org/book/book1>        "SPARQL Tutorial"       42
>
>I get two rows when I run this through Jena/ARQ:
>
>$ arq --version
>Jena:       VERSION: 2.6.4
>Jena:       BUILD_DATE: 2010-12-12T16:56:15+0000
>ARQ:        VERSION: 2.8.7
>ARQ:        BUILD_DATE: 2010-12-12T14:07:48+0000
>$ arq --debug -v --query book_query.sparql --data book_data.n3
>  1 PREFIX  dc:   <http://purl.org/dc/elements/1.1/>
>  2 PREFIX  :     <http://example.org/book/>
>  3 PREFIX  ns:   <http://example.org/ns#>
>  4
>  5 SELECT  ?book ?title ?price
>  6 WHERE
>  7   { ?book dc:title ?title .
>  8     ?book ns:price ?price
>  9   }
> 10 BINDINGS ?book
> 11 {
> 12   ( :book1 )
> 13 }
>
> INFO [main] (Explain.java:228) - QUERY
>  PREFIX  dc:   <http://purl.org/dc/elements/1.1/>
>  PREFIX  :     <http://example.org/book/>
>  PREFIX  ns:   <http://example.org/ns#>
>
>  SELECT  ?book ?title ?price
>  WHERE
>    { ?book dc:title ?title .
>      ?book ns:price ?price
>    }
>  BINDINGS ?book
>  {
>    ( :book1 )
>  }
> INFO [main] (Explain.java:228) - ALGEBRA
>  (project (?book ?title ?price)
>    (bgp
>      (triple ?book <http://purl.org/dc/elements/1.1/title> ?title)
>      (triple ?book <http://example.org/ns#price> ?price)
>    ))
> INFO [main] (Explain.java:228) - BGP :: (?book
><http://purl.org/dc/elements/1.1/title> ?title) (?book
><http://example.org/ns#price> ?price)
> INFO [main] (Explain.java:228) - Reorder :: (?book
><http://purl.org/dc/elements/1.1/title> ?title) (?book
><http://example.org/ns#price> ?price)
>---------------------------------------
>| book   | title              | price |
>=======================================
>| :book2 | "The Semantic Web" | 23    |
>| :book1 | "SPARQL Tutorial"  | 42    |
>---------------------------------------
>
>Is this the expected behavior?  BINDINGS doesn't seem to be rejected,
>but silently ignored.  I know that initial bindings can be set
>programmatically through the API, so I figured that BINDINGS would
>work too, but it doesn't seem to.
>
>Thanks in advance,
>//JT
>
>-- 
>Joshua Taylor, http://www.cs.rpi.edu/~tayloj/

Reply via email to