Just a bit more on how SERVICE-specific HTTP action is managed:

https://jena.apache.org/documentation/query/service.html#configuration-from-jena-version-311

The code is here:

https://github.com/apache/jena/blob/master/jena-arq/src/main/java/org/apache/jena/sparql/engine/http/QueryEngineHTTP.java#L613

It may or may not be a useful pattern for you, but if your desired 
customization can be packaged in an HTTP client, you _can_ inject HTTP clients 
on a per-service basis.


---
A. Soroka
The University of Virginia Library

> On Jan 1, 2017, at 12:59 PM, Andy Seaborne <[email protected]> wrote:
> 
> 
> 
> On 01/01/17 12:53, Martynas Jusevičius wrote:
>> Hey,
>> 
>> happy 2017 :)
>> 
>> I am wondering if there is a way to "intercept"
> 
> Any thing can be intercepted with a custom OpExecutor.
> 
>> the HTTP request that
>> is being generated by the SERVICE clause?
> 
> See Service.configureQuery for the use of serviceContext
> 
>> 
>> As you might know, some triplestores (RDF4J, Dydra) provide an
>> extension of the SPARQL protocol that allows sending query bindings
>> separately from the query string. (Too bad it's not standardized and
>> I'm not even able to find a good reference right now, but that is
>> another topic).
> 
> What semantics do they have? Specifically, is it replace name-by-value 
> regardless? (so inside nested SELECT where it can be a "different" variable)? 
> What about aggregates?
> 
>> 
>> We have implemented it with a custom SPARQL client, but how can we
>> plug it into the federated query execution?
> 
> You can have query string parameters in the SERVICE URL.
> 
>    Andy
> 
>> 
>> Thanks.
>> 
>> Martynas
>> 

Reply via email to