public abstract class SailSourceConnection extends NotifyingSailConnectionBase implements InferencerConnection, FederatedServiceResolverClient
SailConnection
implementation that is based on an SailStore
.connectionLock, updateLock
Modifier | Constructor and Description |
---|---|
protected |
SailSourceConnection(AbstractSail sail,
SailStore store,
EvaluationStrategyFactory evalStratFactory)
Creates a new
SailConnection , using the given SailStore to manage the state. |
protected |
SailSourceConnection(AbstractSail sail,
SailStore store,
FederatedServiceResolver resolver)
Creates a new
SailConnection , using the given SailStore to manage the state. |
Modifier and Type | Method and Description |
---|---|
boolean |
addInferredStatement(Resource subj,
IRI pred,
Value obj,
Resource... contexts)
Adds an inferred statement to a specific context.
|
void |
addStatement(UpdateContext op,
Resource subj,
IRI pred,
Value obj,
Resource... contexts)
The default implementation buffers added statements until the update operation is complete.
|
void |
clearInferred(Resource... contexts)
Removes all inferred statements from the specified/all contexts.
|
protected void |
clearInternal(Resource... contexts) |
protected void |
clearNamespacesInternal() |
protected void |
closeInternal() |
protected void |
commitInternal() |
protected void |
endUpdateInternal(UpdateContext op) |
protected CloseableIteration<? extends BindingSet,QueryEvaluationException> |
evaluateInternal(TupleExpr tupleExpr,
Dataset dataset,
BindingSet bindings,
boolean includeInferred) |
Explanation |
explain(Explanation.Level level,
TupleExpr tupleExpr,
Dataset dataset,
BindingSet bindings,
boolean includeInferred,
int timeoutSeconds)
Explain how the TupleExpr will be (or has been) executed/evaluated by returning a TupleExpr (which may or may not
be the provided TupleExpr) that has gone through zero or more of the stages prior to and also including execution
as specified by the provided level.
|
void |
flushUpdates()
Flushes any pending updates to be processed and the resulting changes to be reported to registered
SailConnectionListener s. |
protected CloseableIteration<? extends Resource,SailException> |
getContextIDsInternal() |
protected EvaluationStrategy |
getEvaluationStrategy(Dataset dataset,
TripleSource tripleSource) |
FederatedServiceResolver |
getFederatedServiceResolver()
Returns the
FederatedServiceResolver being used. |
protected String |
getNamespaceInternal(String prefix) |
protected CloseableIteration<? extends Namespace,SailException> |
getNamespacesInternal() |
protected CloseableIteration<? extends Statement,SailException> |
getStatementsInternal(Resource subj,
IRI pred,
Value obj,
boolean includeInferred,
Resource... contexts) |
protected void |
prepareInternal() |
boolean |
removeInferredStatement(Resource subj,
IRI pred,
Value obj,
Resource... contexts)
Removes an inferred statement from a specific context.
|
protected void |
removeNamespaceInternal(String prefix) |
void |
removeStatement(UpdateContext op,
Resource subj,
IRI pred,
Value obj,
Resource... contexts)
The default implementation buffers removed statements until the update operation is complete.
|
protected void |
rollbackInternal() |
void |
setFederatedServiceResolver(FederatedServiceResolver resolver)
Sets the
FederatedServiceResolver to use. |
protected void |
setNamespaceInternal(String prefix,
String name) |
protected long |
sizeInternal(Resource... contexts) |
protected void |
startTransactionInternal() |
void |
startUpdate(UpdateContext op)
Signals the start of an update operation.
|
addConnectionListener, hasConnectionListeners, notifyStatementAdded, notifyStatementRemoved, removeConnectionListener
addStatement, addStatementInternal, autoStartTransaction, begin, begin, clear, clearNamespaces, close, commit, endUpdate, evaluate, flush, getContextIDs, getExclusiveConnectionLock, getNamespace, getNamespaces, getSharedConnectionLock, getStatements, getTransactionIsolation, getTransactionLock, isActive, isActiveOperation, isOpen, iterationClosed, pendingAdds, pendingRemovals, prepare, registerIteration, removeNamespace, removeStatements, removeStatementsInternal, rollback, setNamespace, size, transactionActive, verifyIsActive, verifyIsOpen
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addConnectionListener, removeConnectionListener
addStatement, addStatement, addStatement, begin, begin, clear, clearNamespaces, close, commit, endUpdate, evaluate, flush, getContextIDs, getNamespace, getNamespaces, getStatements, getStatements, hasStatement, isActive, isOpen, pendingRemovals, prepare, prepareQuery, removeNamespace, removeStatement, removeStatements, removeStatements, rollback, setNamespace, size
protected SailSourceConnection(AbstractSail sail, SailStore store, FederatedServiceResolver resolver)
SailConnection
, using the given SailStore
to manage the state.sail
- store
- resolver
- the FederatedServiceResolver to use with the default
EvaluationStrategy
.protected SailSourceConnection(AbstractSail sail, SailStore store, EvaluationStrategyFactory evalStratFactory)
SailConnection
, using the given SailStore
to manage the state.sail
- store
- evalStratFactory
- the EvaluationStrategyFactory
to use.public FederatedServiceResolver getFederatedServiceResolver()
FederatedServiceResolver
being used.EvaluationStrategyFactory
is being used.public void setFederatedServiceResolver(FederatedServiceResolver resolver)
FederatedServiceResolver
to use. If a custom EvaluationStrategyFactory
is being used
then this only has an effect if it implements FederatedServiceResolverClient
.setFederatedServiceResolver
in interface FederatedServiceResolverClient
resolver
- The resolver to use.protected EvaluationStrategy getEvaluationStrategy(Dataset dataset, TripleSource tripleSource)
protected CloseableIteration<? extends BindingSet,QueryEvaluationException> evaluateInternal(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings, boolean includeInferred) throws SailException
evaluateInternal
in class AbstractSailConnection
SailException
public Explanation explain(Explanation.Level level, TupleExpr tupleExpr, Dataset dataset, BindingSet bindings, boolean includeInferred, int timeoutSeconds)
SailConnection
Explain how the TupleExpr will be (or has been) executed/evaluated by returning a TupleExpr (which may or may not be the provided TupleExpr) that has gone through zero or more of the stages prior to and also including execution as specified by the provided level.
This method is used by the Query interface.
WARNING: This method is experimental and is subject to change or removal without warning. There is currently only partial support for this method in RDF4J and and UnsupportedOperationException where support is lacking.
explain
in interface SailConnection
level
- the explanation level, eg. OPTIMIZEDtupleExpr
- The tuple expression to evaluate. Mutable.dataset
- The dataset to use for evaluating the query, null to use the Sail's default
dataset.bindings
- A set of input parameters for the query evaluation. The keys reference variable names that
should be bound to the value they map to.includeInferred
- Indicates whether inferred triples are to be considered in the query result. If false, no
inferred statements are returned; if true, inferred statements are returned if availabletimeoutSeconds
- for explanations that require execution a timeout can be provided in secondsprotected void closeInternal() throws SailException
closeInternal
in class AbstractSailConnection
SailException
protected CloseableIteration<? extends Resource,SailException> getContextIDsInternal() throws SailException
getContextIDsInternal
in class AbstractSailConnection
SailException
protected CloseableIteration<? extends Statement,SailException> getStatementsInternal(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException
getStatementsInternal
in class AbstractSailConnection
SailException
protected long sizeInternal(Resource... contexts) throws SailException
sizeInternal
in class AbstractSailConnection
SailException
protected CloseableIteration<? extends Namespace,SailException> getNamespacesInternal() throws SailException
getNamespacesInternal
in class AbstractSailConnection
SailException
protected String getNamespaceInternal(String prefix) throws SailException
getNamespaceInternal
in class AbstractSailConnection
SailException
protected void startTransactionInternal() throws SailException
startTransactionInternal
in class AbstractSailConnection
SailException
protected void prepareInternal() throws SailException
prepareInternal
in class AbstractSailConnection
SailException
protected void commitInternal() throws SailException
commitInternal
in class AbstractSailConnection
SailException
protected void rollbackInternal() throws SailException
rollbackInternal
in class AbstractSailConnection
SailException
public void startUpdate(UpdateContext op) throws SailException
SailConnection
op
maybe passed to subsequent
SailConnection.addStatement(UpdateContext, Resource, IRI, Value, Resource...)
or
SailConnection.removeStatement(UpdateContext, Resource, IRI, Value, Resource...)
calls before
SailConnection.endUpdate(UpdateContext)
is called.startUpdate
in interface SailConnection
startUpdate
in class AbstractSailConnection
SailException
public void addStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
AbstractSailConnection
addStatement
in interface SailConnection
addStatement
in class AbstractSailConnection
op
- operation properties of the UpdateExpr
operation producing these statements.subj
- The subject of the statement to add.pred
- The predicate of the statement to add.obj
- The object of the statement to add.contexts
- The context(s) to add the statement to. Note that this parameter is a vararg and as such is
optional. If no contexts are specified, a context-less statement will be added.SailException
- If the statement could not be added, for example because no transaction is active.public void removeStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
AbstractSailConnection
removeStatement
in interface SailConnection
removeStatement
in class AbstractSailConnection
op
- operation properties of the UpdateExpr
operation removing these statements.subj
- The subject of the statement that should be removed.pred
- The predicate of the statement that should be removed.obj
- The object of the statement that should be removed.contexts
- The context(s) from which to remove the statement. Note that this parameter is a vararg and as
such is optional. If no contexts are specified the method operates on the entire repository. A
null value can be used to match context-less statements.SailException
- If the statement could not be removed, for example because no transaction is
active.protected void endUpdateInternal(UpdateContext op) throws SailException
endUpdateInternal
in class AbstractSailConnection
SailException
public boolean addInferredStatement(Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
InferencerConnection
addInferredStatement
in interface InferencerConnection
subj
- The subject of the statement to add.pred
- The predicate of the statement to add.obj
- The object of the statement to add.contexts
- The context(s) to add the statement to. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.SailException
- If the statement could not be added.public boolean removeInferredStatement(Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
InferencerConnection
removeInferredStatement
in interface InferencerConnection
subj
- The subject of the statement that should be removed.pred
- The predicate of the statement that should be removed.obj
- The object of the statement that should be removed.contexts
- The context(s) from which to remove the statements. Note that this parameter is a vararg and as
such is optional. If no contexts are supplied the method operates on the entire repository.SailException
- If the statement could not be removed.protected void clearInternal(Resource... contexts) throws SailException
clearInternal
in class AbstractSailConnection
SailException
public void clearInferred(Resource... contexts) throws SailException
InferencerConnection
clearInferred
in interface InferencerConnection
contexts
- The context(s) from which to remove the statements. Note that this parameter is a vararg and as
such is optional. If no contexts are supplied the method operates on the entire repository.SailException
- If the statements could not be removed.public void flushUpdates() throws SailException
InferencerConnection
SailConnectionListener
s.flushUpdates
in interface InferencerConnection
SailException
- If the updates could not be processed.protected void setNamespaceInternal(String prefix, String name) throws SailException
setNamespaceInternal
in class AbstractSailConnection
SailException
protected void removeNamespaceInternal(String prefix) throws SailException
removeNamespaceInternal
in class AbstractSailConnection
SailException
protected void clearNamespacesInternal() throws SailException
clearNamespacesInternal
in class AbstractSailConnection
SailException
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.