public class QueryEngineHTTP extends Object implements QueryExecution
| Modifier and Type | Field and Description |
|---|---|
static String |
QUERY_MIME_TYPE |
static String[] |
supportedAskContentTypes
Supported content types for ASK queries
|
static String[] |
supportedSelectContentTypes
Supported content types for SELECT queries
|
| Constructor and Description |
|---|
QueryEngineHTTP(String serviceURI,
Query query) |
QueryEngineHTTP(String serviceURI,
Query query,
HttpAuthenticator authenticator) |
QueryEngineHTTP(String serviceURI,
String queryString) |
QueryEngineHTTP(String serviceURI,
String queryString,
HttpAuthenticator authenticator) |
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Stop in mid execution.
|
void |
addDefaultGraph(String defaultGraph) |
void |
addNamedGraph(String name) |
void |
addParam(String field,
String value) |
void |
cancel()
Cancel query evaluation
|
void |
close()
Close the query execution and stop query evaluation as soon as convenient.
|
static String |
defaultAskHeader() |
static String |
defaultConstructHeader() |
static String |
defaultSelectHeader() |
boolean |
execAsk()
Execute an ASK query
|
Model |
execConstruct()
Execute a CONSTRUCT query
|
Model |
execConstruct(Model model)
Execute a CONSTRUCT query, putting the statements into 'model'.
|
Iterator<Triple> |
execConstructTriples()
Execute a CONSTRUCT query, returning the results as an iterator of
Triple. |
Model |
execDescribe()
Execute a DESCRIBE query
|
Model |
execDescribe(Model model)
Execute a DESCRIBE query, putting the statements into 'model'.
|
Iterator<Triple> |
execDescribeTriples()
Execute a DESCRIBE query, returning the results as an iterator of
Triple. |
ResultSet |
execSelect()
Execute a SELECT query
|
boolean |
getAllowDeflate()
Gets whether HTTP requests will indicate to the remote server that
Deflate encoding of responses is accepted
|
boolean |
getAllowGZip()
Gets whether HTTP requests will indicate to the remote server that GZip
encoding of responses is accepted
|
Context |
getContext()
The properties associated with a query execution -
implementation specific parameters This includes
Java objects (so it is not an RDF graph).
|
Dataset |
getDataset()
The dataset against which the query will execute.
|
Query |
getQuery()
The query associated with a query execution.
|
long |
getTimeout1()
Return the first timeout (time to first result), in millseconds: negative if unset
|
long |
getTimeout2()
Return the second timeout (overall query execution after first result), in millseconds: negative if unset
|
boolean |
isClosed()
Answer whether this QueryExecution object has been closed or not.
|
boolean |
isUsingBasicAuthentication()
Gets whether an authentication mechanism has been provided.
|
void |
setAllowDeflate(boolean allowed)
Sets whether the HTTP requests will specify Accept-Encoding: deflate
|
void |
setAllowGZip(boolean allowed)
Sets whether the HTTP request will specify Accept-Encoding: gzip
|
void |
setAskContentType(String contentType)
Sets the Content Type for ASK queries provided that the format is
supported
|
void |
setAuthenticator(HttpAuthenticator authenticator)
Sets the HTTP authenticator to use, if none is set then the default
authenticator is used.
|
void |
setBasicAuthentication(String user,
char[] password)
Set user and password for basic authentication.
|
void |
setDefaultGraphURIs(List<String> defaultGraphURIs) |
void |
setInitialBinding(QuerySolution binding)
Set the initial association of variables and values.
|
void |
setInitialBindings(ResultSet table) |
void |
setModelContentType(String contentType)
Sets the Content Type for CONSTRUCT/DESCRIBE queries provided that the
format is supported
|
void |
setNamedGraphURIs(List<String> namedGraphURIs) |
void |
setSelectContentType(String contentType)
Sets the Content Type for SELECT queries provided that the format is
supported
|
void |
setTimeout(long readTimeout)
Set time, in milliseconds
|
void |
setTimeout(long readTimeout,
long connectTimeout)
Set time, in milliseconds
|
void |
setTimeout(long readTimeout,
TimeUnit timeoutUnits)
Set a timeout on the query execution.
|
void |
setTimeout(long timeout1,
TimeUnit timeUnit1,
long timeout2,
TimeUnit timeUnit2)
Set timeouts on the query execution; the first timeout refers to time to first result,
the second refers to overall query execution after the first result.
|
String |
toString() |
public static final String QUERY_MIME_TYPE
public static String[] supportedSelectContentTypes
public static String[] supportedAskContentTypes
public QueryEngineHTTP(String serviceURI, Query query, HttpAuthenticator authenticator)
public QueryEngineHTTP(String serviceURI, String queryString, HttpAuthenticator authenticator)
public void setInitialBinding(QuerySolution binding)
QueryExecutionsetInitialBinding in interface QueryExecutionpublic void setInitialBindings(ResultSet table)
public void setDefaultGraphURIs(List<String> defaultGraphURIs)
defaultGraphURIs - The defaultGraphURIs to set.public void setNamedGraphURIs(List<String> namedGraphURIs)
namedGraphURIs - The namedGraphURIs to set.public void setAllowGZip(boolean allowed)
public void setAllowDeflate(boolean allowed)
public void addDefaultGraph(String defaultGraph)
defaultGraph - The defaultGraph to add.public void addNamedGraph(String name)
name - The URI to add.public boolean isUsingBasicAuthentication()
Even if this returns false authentication may still be used if the
default authenticator applies, this is controlled via the
HttpOp.setDefaultAuthenticator(HttpAuthenticator) method
public void setBasicAuthentication(String user, char[] password)
Note that it may be more flexible to
user - password - public void setAuthenticator(HttpAuthenticator authenticator)
HttpOp.setDefaultAuthenticator(HttpAuthenticator) method.authenticator - HTTP authenticatorpublic ResultSet execSelect()
QueryExecutionImportant: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the SELECT query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
execSelect in interface QueryExecutionpublic Model execConstruct()
QueryExecutionexecConstruct in interface QueryExecutionpublic Model execConstruct(Model model)
QueryExecutionexecConstruct in interface QueryExecutionpublic Iterator<Triple> execConstructTriples()
QueryExecutionTriple.
Caution: This method may return duplicate Triples. This method may be useful if you only need the results for stream processing, as it can avoid having to place the results in a Model.
Important: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the CONSTRUCT query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
execConstructTriples in interface QueryExecutionpublic Model execDescribe()
QueryExecutionexecDescribe in interface QueryExecutionpublic Model execDescribe(Model model)
QueryExecutionexecDescribe in interface QueryExecutionpublic Iterator<Triple> execDescribeTriples()
QueryExecutionTriple.
Caution: This method may return duplicate Triples. This method may be useful if you only need the results for stream processing, as it can avoid having to place the results in a Model.
Important: The name of this method is somewhat of a misnomer in that depending on the underlying implementation this typically does not execute the DESCRIBE query but rather answers a wrapper over an internal data structure that can be used to answer the query. In essence calling this method only returns a plan for executing this query which only gets evaluated when you actually start iterating over the results.
execDescribeTriples in interface QueryExecutionpublic boolean execAsk()
QueryExecutionexecAsk in interface QueryExecutionpublic Context getContext()
QueryExecutiongetContext in interface QueryExecutionpublic Dataset getDataset()
QueryExecutiongetDataset in interface QueryExecutionpublic Query getQuery()
QueryExecutiongetQuery in interface QueryExecutionpublic void setTimeout(long readTimeout)
QueryExecutionsetTimeout in interface QueryExecutionQueryExecution.setTimeout(long, TimeUnit)public void setTimeout(long readTimeout,
long connectTimeout)
QueryExecutionsetTimeout in interface QueryExecutionQueryExecution.setTimeout(long, TimeUnit, long, TimeUnit)public void setTimeout(long readTimeout,
TimeUnit timeoutUnits)
QueryExecutionsetTimeout in interface QueryExecutionpublic void setTimeout(long timeout1,
TimeUnit timeUnit1,
long timeout2,
TimeUnit timeUnit2)
QueryExecutionsetTimeout in interface QueryExecutionpublic long getTimeout1()
QueryExecutiongetTimeout1 in interface QueryExecutionpublic long getTimeout2()
QueryExecutiongetTimeout2 in interface QueryExecutionpublic boolean getAllowGZip()
public boolean getAllowDeflate()
public void cancel()
public void abort()
QueryExecutionabort in interface QueryExecutionpublic void close()
QueryExecutionResultSet from QueryExecution.execSelect(),
can not be used once the QueryExecution is closed.
Model results from QueryExecution.execConstruct() and QueryExecution.execDescribe()
are stil valid.
It is important to close query execution objects in order to release
resources such as working memory and to stop the query execution.
Some storage subsystems require explicit ends of operations and this
operation will cause those to be called where necessary.
No operations on the query execution or any associated
result set are permitted after this call.close in interface QueryExecutionclose in interface AutoCloseablepublic boolean isClosed()
QueryExecutionisClosed in interface QueryExecutionpublic void setSelectContentType(String contentType)
contentType - public void setAskContentType(String contentType)
contentType - public void setModelContentType(String contentType)
contentType - public static String defaultSelectHeader()
public static String defaultAskHeader()
public static String defaultConstructHeader()
Licenced under the Apache License, Version 2.0