Yes, so I guess the question becomes whether that is appropriately documented 
as part of "HTTP auth stuff" or as part of "JSON-specific stuff". I'm rather 
inclined to the latter.

---
A. Soroka
The University of Virginia Library

> On Nov 14, 2016, at 7:03 PM, Stian Soiland-Reyes <[email protected]> wrote:
> 
> No, I've only used the default caching mechanism, (as I wrote it ;-) - I
> guess to do it properly we would then need to pass this through options or
> the Documents loader to use.. :-/
> 
> On 9 Nov 2016 5:39 pm, "A. Soroka" <[email protected]> wrote:
> 
>> Hm, now I'm not sure whether I can give a good example of managing the
>> JSON-LD HTTP client within Jena. oaj.riot.lang.JsonLDReader doesn't seem to
>> allow users to get at the DocumentLoader instance in use, and that's where
>> the JSON-LD docs show an override to use a specific client. I don't see any
>> static state of the kind you describe in JSON-LD, Stian-- can you give me a
>> pointer?
>> 
>> ---
>> A. Soroka
>> The University of Virginia Library
>> 
>>> On Nov 9, 2016, at 11:46 AM, Stian Soiland-Reyes <[email protected]>
>> wrote:
>>> 
>>> Yeah, as the client is set static inside JSON-LD Java it might not
>>> good for be Jena  HttpOps to be "helpful" and propagate its client -
>>> at least not without a flag.  But we can link to it from our
>>> documentation.
>>> 
>>> On 9 November 2016 at 16:39, A. Soroka <[email protected]> wrote:
>>>> Hm, that's a really good point. I don't understand what's happening in
>> JSON-LD very well, but I think you must be correct to say that it wouldn't
>> take up a supplied client, because it wouldn't be using state from Jena.
>> I'll check this a bit in the code and add a note as you suggest.
>>>> 
>>>> ---
>>>> A. Soroka
>>>> The University of Virginia Library
>>>> 
>>>>> On Nov 9, 2016, at 11:37 AM, Stian Soiland-Reyes <[email protected]>
>> wrote:
>>>>> 
>>>>> I think the new text looks good, quite easy to understand.
>>>>> 
>>>>> Could you add a paragraph about when the configured client would be
>>>>> used?   It might not be clear when this HttpClient would be accessed
>>>>> or not.  For instance I assume it would be used for remote SPARQL
>>>>> queries or loading of HTTP URLs from RDFDataMgr -- but may not be
>>>>> propagated through to JSON-LD Java's @context loading - which has a
>>>>> similar httpclient setting and documentation on how to configure
>>>>> caching [1]
>>>>> 
>>>>> [1] https://github.com/jsonld-java/jsonld-java#controlling-
>> network-traffic
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> On 9 November 2016 at 15:42, A. Soroka <[email protected]> wrote:
>>>>>> Done. I'll wait to hear from other folks before pulling a trigger on
>> (re)publishing the site.
>>>>>> 
>>>>>> ---
>>>>>> A. Soroka
>>>>>> The University of Virginia Library
>>>>>> 
>>>>>>> On Nov 9, 2016, at 6:30 AM, Andy Seaborne <[email protected]> wrote:
>>>>>>> 
>>>>>>> Great -
>>>>>>> 
>>>>>>> One (!) other thing:
>>>>>>> 
>>>>>>> A section specifically calling out migrating SPARQL remote calls:
>> QueryExecutionFactory.sparqlService and QueryEngineHTTP.
>>>>>>> 
>>>>>>> On the latter, older code may still be directly using
>> QueryEngineHTTP.setBasicAuthentication
>>>>>>> 
>>>>>>>    Andy
>>>>>>> 
>>>>>>> On 08/11/16 17:58, A. Soroka wrote:
>>>>>>>> I've made those changes-- should be restaging now.
>>>>>>>> 
>>>>>>>> ---
>>>>>>>> A. Soroka
>>>>>>>> The University of Virginia Library
>>>>>>>> 
>>>>>>>>> On Nov 8, 2016, at 12:40 PM, Andy Seaborne <[email protected]>
>> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 08/11/16 16:59, A. Soroka wrote:
>>>>>>>>>> This commit includes the new docs for HTTP behavior in Jena
>> 3.1.1. I can't find any way to see a view of this on the staging site--
>> https://jena.staging.apache.org/ just seems to proxy
>> https://cms.apache.org/, for some reason?
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> It does not for me.
>>>>>>>>> 
>>>>>>>>> Try http://jena.staging.apache.org/  (not https)
>>>>>>>>> 
>>>>>>>>> PDF attached, cc'ed to you in the hope it get through.
>>>>>>>>> 
>>>>>>>>> Comments:
>>>>>>>>> 
>>>>>>>>> 1/ I'd put the current (3.1.1) text first and the previous second
>> so the current is more visible.
>>>>>>>>> 
>>>>>>>>> Links at the end of the intro to "current" and "previous", or in
>> the intro as this difference is mentioned.
>>>>>>>>> 
>>>>>>>>> 2/ Title tweaking:
>>>>>>>>> 
>>>>>>>>> "HTTP Authentication after Jena 3.1.0" ->
>>>>>>>>> "HTTP Authentication from Jena 3.1.1"
>>>>>>>>> 
>>>>>>>>> "HTTP Authentication before Jena 3.1.0" =>
>>>>>>>>> "HTTP Authentication from Jena 3.0.0 to 3.1.0"
>>>>>>>>> 
>>>>>>>>> (so the range includes 3.1.0 !)
>>>>>>>>> 
>>>>>>>>> Mentioning Jena 2.x is not necessary IMO - the additional detail
>> adds confusion for current users and 3.x upgrading users (the majority).
>>>>>>>>> 
>>>>>>>>> 3/
>>>>>>>>> "Simple authentication using username and password"
>>>>>>>>> 
>>>>>>>>> "Authenticating via a form"
>>>>>>>>> 
>>>>>>>>> The <h5> don't show up as different on teh screen for me so maybe
>> bump <h4> "Examples of authentication" up a level to <h3> and move sub <5>
>> to <h4> .
>>>>>>>>> 
>>>>>>>>> Maybe drop <h3> "Applying Authentication" (section title
>> immediately after a section title) and have the paragraph there straight
>> away.
>>>>>>>>> 
>>>>>>>>> Andy
>>>>>>>>> 
>>>>>>>>>> ---
>>>>>>>>>> A. Soroka
>>>>>>>>>> The University of Virginia Library
>>>>>>>>>> 
>>>>>>>>>>> On Nov 8, 2016, at 11:53 AM, [email protected] wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Author: ajs6f
>>>>>>>>>>> Date: Tue Nov  8 16:53:48 2016
>>>>>>>>>>> New Revision: 1768736
>>>>>>>>>>> 
>>>>>>>>>>> URL: http://svn.apache.org/viewvc?rev=1768736&view=rev
>>>>>>>>>>> Log:
>>>>>>>>>>> Updates for HTTP behavior in Jena 3.1.1
>>>>>>>>>>> 
>>>>>>>>>>> Modified:
>>>>>>>>>>> jena/site/trunk/content/documentation/query/http-auth.mdtext
>>>>>>>>>>> jena/site/trunk/content/documentation/query/service.mdtext
>>>>>>>>>>> 
>>>>>>>>>>> Modified: jena/site/trunk/content/documentation/query/http-auth.
>> mdtext
>>>>>>>>>>> URL: http://svn.apache.org/viewvc/jena/site/trunk/content/
>> documentation/query/http-auth.mdtext?rev=1768736&r1=1768735&
>> r2=1768736&view=diff
>>>>>>>>>>> ============================================================
>> ==================
>>>>>>>>>>> --- jena/site/trunk/content/documentation/query/http-auth.mdtext
>> (original)
>>>>>>>>>>> +++ jena/site/trunk/content/documentation/query/http-auth.mdtext
>> Tue Nov  8 16:53:48 2016
>>>>>>>>>>> @@ -16,10 +16,12 @@ Notice:    Licensed to the Apache Softwa
>>>>>>>>>>>       specific language governing permissions and limitations
>>>>>>>>>>>       under the License.
>>>>>>>>>>> 
>>>>>>>>>>> -As of ARQ 2.11.0 there is a new unified HTTP operation
>> framework that provides a uniform mechanism for
>>>>>>>>>>> -HTTP authentication that also allows ARQ to support a broader
>> range of authentication mechanisms than were previously possible.
>>>>>>>>>>> +From ARQ 2.11.0 through ARQ 3.1.0 there is a Jena-specific
>> unified HTTP operation framework that provides a uniform mechanism for
>>>>>>>>>>> +HTTP authentication that also allows ARQ to support a broader
>> range of authentication mechanisms than were previously possible. After ARQ
>> 3.1.0, Jena exposes the underlying HTTP Commons functionality to the same
>> end. This documentation is therefore devided into two sections. The first
>> explains the older Jena-specific functionality, and the second explains how
>> to use HTTP Commons code to the same ends.
>>>>>>>>>>> 
>>>>>>>>>>> -## Applying Authentication
>>>>>>>>>>> +## HTTP Authentication before ARQ 3.1.0
>>>>>>>>>>> +
>>>>>>>>>>> +### Applying Authentication
>>>>>>>>>>> 
>>>>>>>>>>> APIs that support authentication typically provide two methods
>> for providing authenticators, a `setAuthentication(String username, char[]
>> password)` method
>>>>>>>>>>> which merely configures a `SimpleAuthenticator`.  There will
>> also be a `setAuthenticator(HttpAuthenticator authenticator)` method
>>>>>>>>>>> @@ -41,14 +43,14 @@ avoids the needs to cast and manually se
>>>>>>>>>>>    ...
>>>>>>>>>>> }
>>>>>>>>>>> 
>>>>>>>>>>> -### Authenticators
>>>>>>>>>>> +#### Authenticators
>>>>>>>>>>> 
>>>>>>>>>>> Authentication mechanisms are provided by [HttpAuthenticator][1]
>> implementations of which a number are provided built into ARQ.
>>>>>>>>>>> 
>>>>>>>>>>> This API provides the authenticator with access to the
>> `HttpClient`, `HttpContext` and target `URI` of the request that is about
>> to be carried
>>>>>>>>>>> out.  This allows for authenticators to add credentials to
>> requests on a per-request basis and/or to use different mechanisms and
>> credentials for different services.
>>>>>>>>>>> 
>>>>>>>>>>> -#### SimpleAuthenticator
>>>>>>>>>>> +##### SimpleAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> The [simple authenticator][2] is as the name suggests the
>> simplest implementation.  It takes a single set of credentials which is
>> applied to
>>>>>>>>>>> any service.
>>>>>>>>>>> @@ -56,7 +58,7 @@ any service.
>>>>>>>>>>> Authentication however is not preemptive so unless the remote
>> service sends a HTTP challenge (401 Unauthorized or 407 Proxy Authorization
>>>>>>>>>>> Required) then credentials will not actually be submitted.
>>>>>>>>>>> 
>>>>>>>>>>> -#### ScopedAuthenticator
>>>>>>>>>>> +##### ScopedAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> The [scoped authenticator][3] is an authenticator which maps
>> credentials to different service URIs.  This allows you to specify different
>>>>>>>>>>> credentials for different services as appropriate.  Similarly to
>> the simple authenticator this is not preemptive authentication so
>> credentials are
>>>>>>>>>>> @@ -67,13 +69,13 @@ if you define credentialsfor `http://exa
>>>>>>>>>>> e.g. `http://example.org/some/path`.  However if you had also
>> defined credentials for `http://example.org/some/path` then these would be
>>>>>>>>>>> used in favor of those for `http://example.org`
>>>>>>>>>>> 
>>>>>>>>>>> -#### ServiceAuthenticator
>>>>>>>>>>> +##### ServiceAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> The [service authenticator][4] is an authenticator which uses
>> information encoded in the ARQ context and basically provides access to the
>>>>>>>>>>> existing credential provision mechanisms provided for the
>> `SERVICE` clause, see [Basic Federated Query][5] for more information on
>>>>>>>>>>> configuration for this.
>>>>>>>>>>> 
>>>>>>>>>>> -#### FormsAuthenticator
>>>>>>>>>>> +##### FormsAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> The [forms authenticator][6] is an authenticator usable with
>> services that require form based logins and use session cookies to verify
>> login state.
>>>>>>>>>>> This is intended for use with services that don't support HTTP's
>> built-in authentication mechanisms for whatever reason.  One example of this
>>>>>>>>>>> @@ -104,7 +106,7 @@ that maps each service to an associated
>>>>>>>>>>> 
>>>>>>>>>>> Currently forms based login that require more than just a
>> username and password are not supported.
>>>>>>>>>>> 
>>>>>>>>>>> -#### PreemptiveBasicAuthenticator
>>>>>>>>>>> +##### PreemptiveBasicAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> This [authenticator][8] is a decorator over another
>> authenticator that enables preemptive basic authentication, this **only**
>> works for servers
>>>>>>>>>>> that support basic authentication and so will cause
>> authentication failures when any other authentication scheme is required.
>> You should **only**
>>>>>>>>>>> @@ -121,20 +123,12 @@ Also be aware that basic authentication
>>>>>>>>>>> many servers will use more secure schemes like Digest
>> authentication which **cannot** be done preemptively as they require more
>> complex
>>>>>>>>>>> challenge response sequences.
>>>>>>>>>>> 
>>>>>>>>>>> -#### DelegatingAuthenticator
>>>>>>>>>>> +##### DelegatingAuthenticator
>>>>>>>>>>> 
>>>>>>>>>>> The [delegating authenticator][12] allows for mapping different
>> authenticators to different services, this is useful when you need to mix
>> and
>>>>>>>>>>> match the types of authentication needed.
>>>>>>>>>>> 
>>>>>>>>>>> -### Debugging Authentication
>>>>>>>>>>> -
>>>>>>>>>>> -ARQ uses [Apache Http Client][14] for all its HTTP operations
>> and this provides detailed logging information that can be used for
>> debugging.  To
>>>>>>>>>>> -see this information you need to configure your logging
>> framework to set the `org.apache.http` package to either `DEBUG` or `TRACE`
>> level.
>>>>>>>>>>> -
>>>>>>>>>>> -The `DEBUG` level will give you general diagnostic information
>> about requests and responses while the `TRACE` level will give you detailed
>>>>>>>>>>> -HTTP traces i.e. allow you to see the exact HTTP requests and
>> responses which can be extremely useful for debugging authentication
>> problems.
>>>>>>>>>>> -
>>>>>>>>>>> -### The Default Authenticator
>>>>>>>>>>> +#### The Default Authenticator
>>>>>>>>>>> 
>>>>>>>>>>> Since it may not always be possible/practical to configure
>> authenticators on a per-request basis the API includes a means to specify a
>> default
>>>>>>>>>>> authenticator that is used when no authenticator is explicitly
>> specified.  This may be configured via the
>>>>>>>>>>> @@ -148,6 +142,82 @@ provided that it is using ARQs APIs to m
>>>>>>>>>>> 
>>>>>>>>>>> Note that the default authenticator may be disabled by setting
>> it to `null`.
>>>>>>>>>>> 
>>>>>>>>>>> +## HTTP Authentication after ARQ 3.1.0
>>>>>>>>>>> +
>>>>>>>>>>> +### Applying Authentication
>>>>>>>>>>> +
>>>>>>>>>>> +APIs that support authentication typically provide methods for
>> providing an [HttpClient] for use with the given instance of that API
>> class. `HttpClient` is [extremely flexible][16] and can handle most
>> scenarios very well. Since it may not always be possible/practical to
>> configure authenticators on a per-request basis the API includes a means to
>> specify a default client that is used when no other client is explicitly
>> specified.  This may be configured via the
>>>>>>>>>>> +`setDefaultHttpClient(HttpClient httpClient)` method of the
>> [HttpOp][13] class. This allows for static-scoped configuration of HTTP
>> behavior.
>>>>>>>>>>> +
>>>>>>>>>>> +#### Examples of authentication
>>>>>>>>>>> +
>>>>>>>>>>> +This section includes a series of examples showing how to use
>> HTTP Commons classes to perform authenticated work. Most of them take
>> advantage of `HttpOp.setDefaultHttpClient` as described above.
>>>>>>>>>>> +
>>>>>>>>>>> +##### Simple authentication using username and password
>>>>>>>>>>> +
>>>>>>>>>>> +First we build an authenticating client:
>>>>>>>>>>> +
>>>>>>>>>>> +    CredentialsProvider credsProvider = new
>> BasicCredentialsProvider();
>>>>>>>>>>> +    Credentials credentials = new 
>>>>>>>>>>> UsernamePasswordCredentials("user",
>> "passwd");
>>>>>>>>>>> +    credsProvider.setCredentials(AuthScope.ANY, credentials);
>>>>>>>>>>> +    HttpClient httpclient = HttpClients.custom()
>>>>>>>>>>> +        .setDefaultCredentialsProvider(credsProvider)
>>>>>>>>>>> +        .build();
>>>>>>>>>>> +    HttpOp.setDefaultHttpClient(httpclient);
>>>>>>>>>>> +
>>>>>>>>>>> +Notice that we gave no scope for use with the credentials
>> (`AuthScope.ANY`). We can make further use of that parameter if we want to
>> assign a scope for some credentials:
>>>>>>>>>>> +
>>>>>>>>>>> +    CredentialsProvider credsProvider = new
>> BasicCredentialsProvider();
>>>>>>>>>>> +    Credentials unscopedCredentials = new
>> UsernamePasswordCredentials("user", "passwd");
>>>>>>>>>>> +    credsProvider.setCredentials(AuthScope.ANY,
>> unscopedCredentials);
>>>>>>>>>>> +    Credentials scopedCredentials = new
>> UsernamePasswordCredentials("user", "passwd");
>>>>>>>>>>> +    final String host = "http://example.com/sparql";;
>>>>>>>>>>> +    final int port = 80;
>>>>>>>>>>> +    final String realm = "aRealm";
>>>>>>>>>>> +    final String schemeName = "DIGEST";
>>>>>>>>>>> +    AuthScope authscope = new AuthScope(host, port, realm,
>> schemeName);
>>>>>>>>>>> +    credsProvider.setCredentials(authscope, scopedCredentials);
>>>>>>>>>>> +    HttpClient httpclient = HttpClients.custom()
>>>>>>>>>>> +        .setDefaultCredentialsProvider(credsProvider)
>>>>>>>>>>> +        .build();
>>>>>>>>>>> +    HttpOp.setDefaultHttpClient(httpclient);
>>>>>>>>>>> +
>>>>>>>>>>> +##### Authenticating via a form
>>>>>>>>>>> +
>>>>>>>>>>> +For this case we introduce an [HttpClientContext][17], which we
>> can use to retrieve the cookie we get from logging into a form. We then use
>> the cookie to authenticate elsewhere.
>>>>>>>>>>> +
>>>>>>>>>>> +    // we'll use this context to maintain our HTTP
>> "conversation"
>>>>>>>>>>> +    HttpClientContext httpContext = new HttpClientContext();
>>>>>>>>>>> +
>>>>>>>>>>> +    // first we use a method on HttpOp to log in and get our
>> cookie
>>>>>>>>>>> +    Params params = new Params();
>>>>>>>>>>> +    params.addParam("username", "Bob Wu");
>>>>>>>>>>> +    params.addParam("password", "my password");
>>>>>>>>>>> +    HttpOp.execHttpPostForm("http://example.com/loginform";,
>> params , null, null, null, httpContext);
>>>>>>>>>>> +
>>>>>>>>>>> +    // now our cookie is stored in httpContext
>>>>>>>>>>> +    CookieStore cookieStore = httpContext.getCookieStore();
>>>>>>>>>>> +
>>>>>>>>>>> +    // lastly we build a client that uses that cookie
>>>>>>>>>>> +    HttpClient httpclient = HttpClients.custom()
>>>>>>>>>>> +     .setDefaultCookieStore(cookieStore)
>>>>>>>>>>> +         .build();
>>>>>>>>>>> +    HttpOp.setDefaultHttpClient(httpclient);
>>>>>>>>>>> +
>>>>>>>>>>> +## Other concerns
>>>>>>>>>>> +
>>>>>>>>>>> +### Debugging Authentication
>>>>>>>>>>> +
>>>>>>>>>>> +ARQ uses [Apache Http Client][14] for all its HTTP operations
>> and this provides detailed logging information that can be used for
>> debugging.  To
>>>>>>>>>>> +see this information you need to configure your logging
>> framework to set the `org.apache.http` package to either `DEBUG` or `TRACE`
>> level.
>>>>>>>>>>> +
>>>>>>>>>>> +The `DEBUG` level will give you general diagnostic information
>> about requests and responses while the `TRACE` level will give you detailed
>>>>>>>>>>> +HTTP traces i.e. allow you to see the exact HTTP requests and
>> responses which can be extremely useful for debugging authentication
>> problems.
>>>>>>>>>>> +
>>>>>>>>>>> +### Authenticating to a SPARQL federated service
>>>>>>>>>>> +
>>>>>>>>>>> +ARQ allows the user to configure HTTP behavior to use on a
>> per-`SERVICE` basis, including authentication behavior such as is described
>> above. This works via the ARQ context. See [Basic Federated Query][5] for
>> more information on configuring this functionality.
>>>>>>>>>>> +
>>>>>>>>>>> [1]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/atlas/web/auth/HttpAuthenticator.html
>>>>>>>>>>> [2]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/atlas/web/auth/SimpleAuthenticator.html
>>>>>>>>>>> [3]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/atlas/web/auth/ScopedAuthenticator.html
>>>>>>>>>>> @@ -161,4 +231,7 @@ Note that the default authenticator may
>>>>>>>>>>> [11]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/web/DatasetGraphAccessorHTTP.html
>>>>>>>>>>> [12]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/atlas/web/auth/DelegatingAuthenticator.html
>>>>>>>>>>> [13]: http://jena.apache.org/documentation/javadoc/arq/org/
>> apache/jena/riot/web/HttpOp.html
>>>>>>>>>>> -  [14]: http://hc.apache.org
>>>>>>>>>>> \ No newline at end of file
>>>>>>>>>>> +  [14]: http://hc.apache.org
>>>>>>>>>>> +  [15]: https://hc.apache.org/httpcomponents-client-ga/
>> httpclient/apidocs/org/apache/http/client/HttpClient.html
>>>>>>>>>>> +  [16]: https://hc.apache.org/httpcomponents-client-ga/
>> examples.html
>>>>>>>>>>> +  [17]: https://hc.apache.org/httpcomponents-client-ga/
>> httpclient/apidocs/org/apache/http/client/protocol/HttpClientContext.html
>>>>>>>>>>> \ No newline at end of file
>>>>>>>>>>> 
>>>>>>>>>>> Modified: jena/site/trunk/content/documentation/query/service.
>> mdtext
>>>>>>>>>>> URL: http://svn.apache.org/viewvc/jena/site/trunk/content/
>> documentation/query/service.mdtext?rev=1768736&r1=1768735&
>> r2=1768736&view=diff
>>>>>>>>>>> ============================================================
>> ==================
>>>>>>>>>>> --- jena/site/trunk/content/documentation/query/service.mdtext
>> (original)
>>>>>>>>>>> +++ jena/site/trunk/content/documentation/query/service.mdtext
>> Tue Nov  8 16:53:48 2016
>>>>>>>>>>> @@ -48,19 +48,18 @@ distributed query evaluation. The algebr
>>>>>>>>>>> without regard to how selective the pattern is. So the order of
>> the
>>>>>>>>>>> query will affect the speed of execution. Because it involves
>> HTTP
>>>>>>>>>>> operations, asking the query in the right order matters a lot.
>>>>>>>>>>> -Don't ask for the whole of a bookstore just to find book whose
>>>>>>>>>>> +Don't ask for the whole of a bookstore just to find a book whose
>>>>>>>>>>> title comes from a local RDF file - ask the bookshop a query with
>>>>>>>>>>> the title already bound from earlier in the query.
>>>>>>>>>>> 
>>>>>>>>>>> ## Controlling `SERVICE` requests.
>>>>>>>>>>> 
>>>>>>>>>>> -The `SERVICE` operation in a SPARQL query may be configured via
>> the Context.
>>>>>>>>>>> -The values for configuration can be set in the global context
>> (accessed via
>>>>>>>>>>> +The `SERVICE` operation in a SPARQL query may be configured via
>> the Context. The values for configuration can be set in the global context
>> (accessed via
>>>>>>>>>>> `ARQ.getContext()`) or in the per-query execution context.
>>>>>>>>>>> 
>>>>>>>>>>> The prefix  `srv:` is the IRI `<http://jena.hpl.hp.com/Service#
>>> `.
>>>>>>>>>>> 
>>>>>>>>>>> -### Summary
>>>>>>>>>>> +### Configuration for ARQ through version 3.1.0
>>>>>>>>>>> 
>>>>>>>>>>> Symbol | Usage
>>>>>>>>>>> ------ | -----
>>>>>>>>>>> @@ -71,7 +70,7 @@ Symbol | Usage
>>>>>>>>>>> `srv:queryAuthPwd` |  Basic authentication
>>>>>>>>>>> `srv:queryContext` | Per-endpoint configuration
>>>>>>>>>>> 
>>>>>>>>>>> -### `srv:queryTimeout`
>>>>>>>>>>> +#### `srv:queryTimeout`
>>>>>>>>>>> 
>>>>>>>>>>> Set the connect and read timeouts for the query.
>>>>>>>>>>> 
>>>>>>>>>>> @@ -86,21 +85,21 @@ read timout = 0
>>>>>>>>>>> 
>>>>>>>>>>> Values of 0 indicate no timeout and service operation will wait
>> until the remote server responds.
>>>>>>>>>>> 
>>>>>>>>>>> -### `srv:queryGzip`
>>>>>>>>>>> +#### `srv:queryGzip`
>>>>>>>>>>> 
>>>>>>>>>>> Sets the allow Gzip flag.
>>>>>>>>>>> 
>>>>>>>>>>> Boolean: True indicates that gzip compressed data is acceptable.
>>>>>>>>>>> false
>>>>>>>>>>> 
>>>>>>>>>>> -### `srv:queryDeflate`
>>>>>>>>>>> +#### `srv:queryDeflate`
>>>>>>>>>>> 
>>>>>>>>>>> Sets the allow Deflate flag.
>>>>>>>>>>> 
>>>>>>>>>>> Boolean: True indicates that deflate compression is acceptable
>>>>>>>>>>> False
>>>>>>>>>>> 
>>>>>>>>>>> -### `srv:queryAuthUser`
>>>>>>>>>>> +#### `srv:queryAuthUser`
>>>>>>>>>>> 
>>>>>>>>>>> Sets the user id for basic auth.
>>>>>>>>>>> 
>>>>>>>>>>> @@ -108,7 +107,7 @@ String: The user id to log in with
>>>>>>>>>>> 
>>>>>>>>>>> If null or null length no user id is sent.
>>>>>>>>>>> 
>>>>>>>>>>> -### `srv:queryAuthPwd`
>>>>>>>>>>> +#### `srv:queryAuthPwd`
>>>>>>>>>>> 
>>>>>>>>>>> Sets the password for basic auth.
>>>>>>>>>>> 
>>>>>>>>>>> @@ -116,13 +115,43 @@ String: The password to log in with.
>>>>>>>>>>> 
>>>>>>>>>>> If null or null length no password is sent.
>>>>>>>>>>> 
>>>>>>>>>>> -### srv:serviceContext
>>>>>>>>>>> +#### `srv:serviceContext`
>>>>>>>>>>> Provides a mechanism to override system context settings on a
>> per URI basis.
>>>>>>>>>>> 
>>>>>>>>>>> The value is a `Map<String,Context>` where the map key is the
>> URI of the service endpoint, and the `Context` is a set of values to
>> override the default values.
>>>>>>>>>>> 
>>>>>>>>>>> If a context is provided for the URI the system context is
>> copied and the URI specific values are then copied in.  This ensures that
>> any URI specific settings will be used.
>>>>>>>>>>> 
>>>>>>>>>>> +### Configuration for ARQ after version 3.1.0
>>>>>>>>>>> 
>>>>>>>>>>> +Symbol | Usage | Default
>>>>>>>>>>> +------ | ----- | -------
>>>>>>>>>>> +`srv:queryTimeout` | Set timeouts | none
>>>>>>>>>>> +`srv:queryCompression` | Enable use of deflation and GZip | true
>>>>>>>>>>> +`srv:queryClient` | Enable use of a specific client | none
>>>>>>>>>>> +`srv:queryContext` | Per-endpoint configuration | none
>>>>>>>>>>> +
>>>>>>>>>>> +#### `srv:queryTimeout`
>>>>>>>>>>> +
>>>>>>>>>>> +As documented above.
>>>>>>>>>>> +
>>>>>>>>>>> +
>>>>>>>>>>> +#### `srv:queryCompression`
>>>>>>>>>>> +
>>>>>>>>>>> +Sets the flag for use of deflation and GZip.
>>>>>>>>>>> +
>>>>>>>>>>> +Boolean: True indicates that gzip compressed data is acceptable.
>>>>>>>>>>> +
>>>>>>>>>>> +#### `srv:queryClient`
>>>>>>>>>>> +
>>>>>>>>>>> +Enable use of a specific client
>>>>>>>>>>> +
>>>>>>>>>>> +Provides a slot for a specific [HttpClient][1] for use with a
>> specific `SERVICE`
>>>>>>>>>>> +
>>>>>>>>>>> +#### `srv:serviceContext`
>>>>>>>>>>> +
>>>>>>>>>>> +As documented above.
>>>>>>>>>>> 
>>>>>>>>>>> [ARQ documentation index](index.html)
>>>>>>>>>>> +
>>>>>>>>>>> +[1]: https://hc.apache.org/httpcomponents-client-ga/
>> httpclient/apidocs/org/apache/http/client/HttpClient.html
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Stian Soiland-Reyes
>>>>> http://orcid.org/0000-0001-9842-9718
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Stian Soiland-Reyes
>>> http://orcid.org/0000-0001-9842-9718
>> 
>> 

Reply via email to