W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > March 2009

Re: Suggestion: Parameterised Queries

From: Arjohn Kampman <arjohn.kampman@aduna-software.com>
Date: Fri, 06 Mar 2009 11:32:49 +0100
Message-ID: <49B0FBD1.2010208@aduna-software.com>
To: Leigh Dodds <leigh.dodds@talis.com>
CC: public-rdf-dawg-comments@w3.org
Hi all,

Sesame also supports this in its HTTP protocol and we use it a lot. We
decided to use a '$' prefix for variable names though, to prevent
accidental name collisions with other URL-parameters (e.g. "query").

Regards,

Arjohn

Leigh Dodds wrote:
> Hi,
> 
> I have the following featur esuggestion for the WG.
> 
> Feature: Parameterised Queries
> 
> Feature Description:
> 
>   Extend the SPARQL protocol such that additional URL parameters in
> the query string (or a subset that match
>   a specific naming convention) are reflected into the query as
> initial variable bindings.
> 
> Example:
> 
>   E.g. for a query such as:
> 
>   PREFIX foaf: <http://xmlns.com/foaf/0.1/>
>   SELECT ?name
>   WHERE {
>    ?x foaf:name ?name.
>    ?x foaf:weblog ?blog.
>   }
> 
>   A protocol request of the form:
> 
>   /sparql?query=...&blog=http://www.example.org/blog
> 
>   Would bind ?blog to the value in the URL parameter before it is
> matched against the dataset.
> 
> Existing Implementations
> 
>  ARQ supports this usage in its core URL, and I have used this to
> implement the above style of parameter passing in
>  several apps and endpoints whilst at my previous employer.
> 
> Use Cases
> 
> Enable support SQL style parameterised query directly from the SPARQL
> protocol. In conjunction with the proposed Query By Reference
> feature it enables the creation of simple "web APIs" using only the
> SPARQL protocol. E.g. I am able to publish a common
> SPARQL query that does some useful data extraction, and then reuse
> that query by altering the passed parameters.
> 
> Even without the Query By Reference feature it would simplify
> interaction with an endpoint (change url parameter(s) not query) and
> would allow the endpoint to cache and parse a query for repeated use,
> thereby removing any query parsing overheads.
> 
> Cheers,
> 
> L.
> 


-- 
Arjohn Kampman, Senior Software Engineer
Aduna - Semantic Power
www.aduna-software.com
Received on Friday, 6 March 2009 10:33:27 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 6 March 2009 10:33:27 GMT