Asynchronous View Processing¶
Asynchronous processing for SPARQL requests make it possible to arrange for long-running requests without time-outs and without interfering with other request activity. It also enables result dispatch to remote locations, such as Amazon S3 storage or subsequent processing in Athena (https://aws.amazon.com/athena/). The immediate response is just an acceptance code.
The request header Accept-Asynchronous
governs this execution mode.
If the value is not specified, the default is execute
.
mode |
effect |
---|---|
|
The request is executed asynchronously returning a 204 status, the task identifier and any user id |
|
The request is handled as a standard SPARQL protocol request. It is executed immediately with the status and the result returned as response. |
Asynchronous Request Form¶
The asynchronous request is recorded in the form of an HTTP request object which captures the terms of the original request as several request headers. This includes the minimal authentication information and does not carry any client location information.
The request shouldbe a GET or a POST. For the first method the query can be suppied in-line or specified as a named view.
Asynchronous-Authorization¶
The authentication header for the notification request. If none is provided the authentication header from the original request is used.
Asynchronous-Content-Type¶
The content type for the query response in the notification request
Asynchronous-Content-Encoding¶
The query response in the notification request can compressed by specifying GZIP as the content encoding. Note that, in this mode, the content is binary and the asynchronous location must accept binary content.
Asynchronous-Location¶
The HTTP URL for the notification request
Asynchronous-Method¶
The HTTP method for the notification request
Authorization¶
The initial request authentication information.
Client-Request-ID¶
The client request id to be reported with the notification request.
Content-Type¶
The content type to be used to execute the asynchronous import.
Request-ID¶
The task id from the initial request to be used to track the asynchronous execution.
Asynchronous Notification¶
The asynchronous notification take the form of an HTTP request to an external location
as specified with the Asynchronous-*
header values.
The method should be PUT or POST.
The content body is the query result.
clearpage