public class SPARQLTupleQuery extends AbstractHTTPQuery implements TupleQuery
Query.QueryType
baseURI, queryLanguage, queryString
bindings, dataset, includeInferred
Constructor and Description |
---|
SPARQLTupleQuery(SPARQLProtocolSession httpClient,
String baseUri,
String queryString) |
Modifier and Type | Method and Description |
---|---|
TupleQueryResult |
evaluate() |
void |
evaluate(TupleQueryResultHandler handler) |
Explanation |
explain(Explanation.Level level)
Explain how the query will be (or has been) executed/evaluated by returning an explanation of the query plan.
|
getBindingsArray, getHttpClient, setMaxExecutionTime, toString
getMaxQueryTime, setMaxQueryTime
clearBindings, getBindings, getDataset, getIncludeInferred, getMaxExecutionTime, removeBinding, setBinding, setDataset, setIncludeInferred
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getMaxQueryTime, setMaxQueryTime
clearBindings, getBindings, getDataset, getIncludeInferred, getMaxExecutionTime, removeBinding, setBinding, setDataset, setIncludeInferred, setMaxExecutionTime
public SPARQLTupleQuery(SPARQLProtocolSession httpClient, String baseUri, String queryString)
public TupleQueryResult evaluate() throws QueryEvaluationException
evaluate
in interface TupleQuery
QueryEvaluationException
public void evaluate(TupleQueryResultHandler handler) throws QueryEvaluationException, TupleQueryResultHandlerException
evaluate
in interface TupleQuery
QueryEvaluationException
TupleQueryResultHandlerException
public Explanation explain(Explanation.Level level)
Query
Explain how the query will be (or has been) executed/evaluated by returning an explanation of the query plan.
This method is useful for understanding why a particular query is slow. The most useful level is Executed, but this takes as long as it takes to execute/evaluate the query.
When timing a query you should keep in mind that the query performance will vary based on how much the JIT compiler has compiled the code (C1 vs C2) and based on what is or isn't cached in memory. If Timed explanations are considerably slower than Executed explanations the overhead with timing the query may be large on your system and should not be trusted.
WARNING: This method is experimental and is subject to change or removal without warning. Same goes for the returned explanation. There is currently only partial support for this method in RDF4J and and UnsupportedOperationException where support is lacking.
explain
in interface Query
level
- The explanation level that should be used to create the explanation. Choose between: Unoptimized (as
parsed without optimizations) , Optimized (as is actually going to be used), Executed (as was
executed/evaluated, including some real performance metrics), Timed (as was executed/evaluated
including all real performance metrics). Executed and Timed level can potentially be slow.Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.