- From: Benjamin Nowack <bnowack@semsol.com>
- Date: Tue, 10 Mar 2009 09:53:50 +0100
- To: public-rdf-dawg-comments@w3.org
Hi,
ARC uses "${var}" for parameters, a notation that's sometimes
used in template languages.
Downside:
It requires a grammar tweak.
Upside:
It separates vars from parameters so that a processor can
detect missing input data, and it opens the door to things
like ${var.stripTags()}, ${var.toLowerCase()}, or
${now().toXSD()}
Related implementation issue:
How to detect/specify the type of an input parameter, i.e.
should &var=foo be handled as <foo>, "foo", or _:foo, or
whether there should also be a &var-type=uri|bnode|literal.
Benji
--
Benjamin Nowack
http://bnode.org/
http://semsol.com/
>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 Tuesday, 10 March 2009 08:59:57 UTC