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
SailConnectionListeners. |
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, removeConnectionListeneraddStatement, 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, verifyIsOpenclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddConnectionListener, removeConnectionListeneraddStatement, 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, setTransactionSettings, sizeprotected 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 FederatedServiceResolverClientresolver - 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 AbstractSailConnectionSailExceptionpublic Explanation explain(Explanation.Level level, TupleExpr tupleExpr, Dataset dataset, BindingSet bindings, boolean includeInferred, int timeoutSeconds)
SailConnectionExplain 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 SailConnectionlevel - 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 AbstractSailConnectionSailExceptionprotected CloseableIteration<? extends Resource,SailException> getContextIDsInternal() throws SailException
getContextIDsInternal in class AbstractSailConnectionSailExceptionprotected CloseableIteration<? extends Statement,SailException> getStatementsInternal(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException
getStatementsInternal in class AbstractSailConnectionSailExceptionprotected long sizeInternal(Resource... contexts) throws SailException
sizeInternal in class AbstractSailConnectionSailExceptionprotected CloseableIteration<? extends Namespace,SailException> getNamespacesInternal() throws SailException
getNamespacesInternal in class AbstractSailConnectionSailExceptionprotected String getNamespaceInternal(String prefix) throws SailException
getNamespaceInternal in class AbstractSailConnectionSailExceptionprotected void startTransactionInternal()
throws SailException
startTransactionInternal in class AbstractSailConnectionSailExceptionprotected void prepareInternal()
throws SailException
prepareInternal in class AbstractSailConnectionSailExceptionprotected void commitInternal()
throws SailException
commitInternal in class AbstractSailConnectionSailExceptionprotected void rollbackInternal()
throws SailException
rollbackInternal in class AbstractSailConnectionSailExceptionpublic void startUpdate(UpdateContext op) throws SailException
SailConnectionop 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 SailConnectionstartUpdate in class AbstractSailConnectionSailExceptionpublic void addStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
AbstractSailConnectionaddStatement in interface SailConnectionaddStatement in class AbstractSailConnectionop - 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
AbstractSailConnectionremoveStatement in interface SailConnectionremoveStatement in class AbstractSailConnectionop - 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 AbstractSailConnectionSailExceptionpublic boolean addInferredStatement(Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException
InferencerConnectionaddInferredStatement in interface InferencerConnectionsubj - 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
InferencerConnectionremoveInferredStatement in interface InferencerConnectionsubj - 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 AbstractSailConnectionSailExceptionpublic void clearInferred(Resource... contexts) throws SailException
InferencerConnectionclearInferred in interface InferencerConnectioncontexts - 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
InferencerConnectionSailConnectionListeners.flushUpdates in interface InferencerConnectionSailException - If the updates could not be processed.protected void setNamespaceInternal(String prefix, String name) throws SailException
setNamespaceInternal in class AbstractSailConnectionSailExceptionprotected void removeNamespaceInternal(String prefix) throws SailException
removeNamespaceInternal in class AbstractSailConnectionSailExceptionprotected void clearNamespacesInternal()
throws SailException
clearNamespacesInternal in class AbstractSailConnectionSailExceptionCopyright © 2015-2022 Eclipse Foundation. All Rights Reserved.