query by reference


Leigh Dodds raised a couple of good issues against our protocol  
design, one of which actually convinced me: we lost the ability to do  
query by reference at some point, and I don't know if that was  
explicitly desired or not. I'm pretty sure we don't have a WG  
decision directly on point.

I'd like to propose adding that back to the protocol design.  
Basically we're talking about adding another parameter (in HTTP),  
"query-uri", the value of which would be a URI which, when  
dereferenced, would return a representation of a SPARQL query  
resource. That would add a third way to "convey a query" to a SPARQL  
query service:

a. POSTing a urlencoded query in the body of an HTTP request
b. serializing a query in a URI (in the 'query' parameter)
c. 'pointing' at a query on the Web and asking the service to deref  
and execute it

I don't believe this opens any additional security or implementation  
burdens since:

- we already allow arbitrary URIs to be deref'd to load data

- whatever sanity checks one would implement (or specify) re:  
executing an arbitrary SPARQL query conveyed via (a) or (b) also  
apply to (c), and I don't believe (c) adds any additional constraints  
or holes (but I'm *not* a security expert)...

I think I could make a pretty good Use Case argument for this  
feature, FWIW.

Leigh's comments and our subsequent conversation:


(There should probably be some restriction on the presence of query  
and query-uri parameters, of course. Only one or the other can be  
present in an In Message, not both.)


Received on Tuesday, 15 November 2005 21:44:52 UTC