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