public class BigdataSail.BigdataSailConnection extends Object implements org.openrdf.sail.NotifyingSailConnection
SailConnection
. Some additional
functionality is available on this class, including
computeClosure()
.BigdataSail
. For example, this was
causing a problem with the close()
method on this class
and on the classes derived from this class.Modifier and Type | Field and Description |
---|---|
protected AccessSemaphore.Access |
access
Set for Unisolated and ReadWrite connections.
|
protected DelegatingChangeLog |
changeLog
Note: This needs to be visible to
BigdataSailRWTxConnection#commit2() . |
protected boolean |
dirty
|
protected boolean |
isolatable
When true, read/write transactions are allowed.
|
protected boolean |
openConn
True iff the
SailConnection is open. |
protected boolean |
readOnly
True iff the database view is read-only.
|
protected boolean |
scaleOut
When
true the SAIL is backed by an
IBigdataFederation . |
Modifier | Constructor and Description |
---|---|
protected |
BigdataSail.BigdataSailConnection(AccessSemaphore.Access access)
Unisolated connections.
|
protected |
BigdataSail.BigdataSailConnection(long timestampOrTxId,
AccessSemaphore.Access access)
Any kind of connection (core constructor).
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeLog(IChangeLog changeLog)
Set the change log on the SAIL connection.
|
void |
addConnectionListener(org.openrdf.sail.SailConnectionListener listener)
Note: This method is strongly discouraged as it
imposes an extremely high burden on the database requiring the
materialization at the client of every statement to be added or
removed from the database in the scope of this
SailConnection . |
void |
addListener(ISPARQLUpdateListener l)
Add a SPARQL UDPATE listener.
|
void |
addStatement(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
org.openrdf.model.Resource... contexts)
Sesame has a concept of a "null" graph.
|
void |
addStatement(org.openrdf.sail.UpdateContext op,
org.openrdf.model.Resource subj,
org.openrdf.model.URI pred,
org.openrdf.model.Value obj,
org.openrdf.model.Resource... contexts)
Unsupported API.
|
protected void |
assertOpenConn() |
protected void |
assertWritableConn() |
protected void |
attach(long timestampOrTxId)
Attach to a new database view.
|
void |
begin()
NOP.
|
void |
clear(org.openrdf.model.Resource... contexts) |
void |
clearNamespaces() |
void |
close() |
void |
commit()
Commit the write set.
|
long |
commit2()
Commit the write set.
|
void |
computeClosure()
Computes the closure of the triple store for RDF(S)+ entailments.
|
void |
endUpdate(org.openrdf.sail.UpdateContext op)
Unsupported API.
|
info.aduna.iteration.CloseableIteration<? extends org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> |
evaluate(QueryRoot queryRoot,
org.openrdf.query.Dataset dataset,
org.openrdf.query.BindingSet bindings,
boolean includeInferred)
Deprecated.
Consider removing this method from our public API. It is
no longer in any code path for the bigdata code base.
Embedded applications requiring high level evaluation
should use
BigdataSailRepositoryConnection . It
does not call through here, but goes directly to the
ASTEvalHelper . |
info.aduna.iteration.CloseableIteration<? extends org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> |
evaluate(org.openrdf.query.algebra.TupleExpr tupleExpr,
org.openrdf.query.Dataset dataset,
org.openrdf.query.BindingSet bindings,
boolean includeInferred)
Bigdata now uses an internal query model which differs significantly
from the Sesame query model.
|
long |
exactSize(org.openrdf.model.Resource... contexts)
Note: This method is quite expensive since it must materialize all
statement in either the database or in the specified context(s) and
then filter for the explicit statements in order to obtain an exact
count.
|
protected void |
finalize()
Invoke close, which will be harmless if we are already closed.
|
void |
fireEvent(SPARQLUpdateEvent e)
Send an event to all registered listeners.
|
protected void |
fireSailChangedEvent(boolean added,
org.openrdf.model.Statement stmt)
Notifies
SailConnectionListener s if one or more statements have
been added to or removed from the repository using the SAIL methods:
#addStatement(Resource, URI, Value)
#removeStatements(Resource, URI, Value)
#clearRepository()
|
void |
flush()
Flush the statement buffers.
|
protected void |
flushStatementBuffers(boolean flushAssertBuffer,
boolean flushRetractBuffer)
Flush pending assertions and/or retractions to the database using
efficient batch operations.
|
boolean |
getAllowAutoCommit()
Used by the RepositoryConnection to determine whether or not to allow
auto-commits.
|
protected StatementBuffer<org.openrdf.model.Statement> |
getAssertionBuffer()
Return the assertion buffer.
|
BigdataSail |
getBigdataSail() |
info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Resource,org.openrdf.sail.SailException> |
getContextIDs() |
String |
getNamespace(String prefix) |
com.bigdata.rdf.sail.BigdataSail.BigdataSailConnection.NamespaceIterator |
getNamespaces() |
Properties |
getProperties()
Return the as-configured properties for the
BigdataSail . |
protected StatementBuffer<org.openrdf.model.Statement> |
getRetractionBuffer()
Return the retraction buffer (truth maintenance only).
|
info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Statement,org.openrdf.sail.SailException> |
getStatements(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
boolean includeInferred,
org.openrdf.model.Resource... contexts)
Note: if the context is
null , then you will see data
from each context in a quad store, including anything in the
BigdataSail.NULL_GRAPH . |
info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Statement,org.openrdf.sail.SailException> |
getStatements(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
org.openrdf.model.Resource context) |
AbstractTripleStore |
getTripleStore()
The implementation object.
|
boolean |
getTruthMaintenance()
When true, the RDFS closure will be maintained by the
BigdataSail.BigdataSailConnection implementation (but not by methods that
go around the BigdataSail.BigdataSailConnection ). |
boolean |
hasStatement(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
boolean includeInferred,
org.openrdf.model.Resource... contexts)
Return
true iff a statement exists matching the supplied
constraints. |
boolean |
isActive()
Always returns
true . |
boolean |
isDirty()
|
boolean |
isIsolatable()
Return
true iff the SAIL is using a namespace that has been
configured to support isolatable indices. |
boolean |
isOpen() |
boolean |
isQuads()
Return
true if the SAIL is using a "quads" mode database. |
boolean |
isQueryTimeExpander()
When true, SAIL will compute entailments at query time that were excluded
from forward closure.
|
boolean |
isReadOnly()
When
true , the connection does not permit mutation. |
boolean |
isTruthMaintenanceConfigured() |
boolean |
isUnisolated()
Return
true if this is the ITx.UNISOLATED
connection. |
void |
prepare()
NOP - the internal transaction model is not exposed to the
SailConnection . |
void |
removeAllEntailments()
Removes all "inferred" statements from the database and the proof
chains (if any) associated with those inferences (does NOT commit the
database).
|
void |
removeChangeLog(IChangeLog changeLog)
Remove a change log from the SAIL connection.
|
void |
removeConnectionListener(org.openrdf.sail.SailConnectionListener listener) |
void |
removeListener(ISPARQLUpdateListener l)
Remove a SPARQL UDPATE listener.
|
void |
removeNamespace(String prefix) |
void |
removeStatement(org.openrdf.sail.UpdateContext op,
org.openrdf.model.Resource subj,
org.openrdf.model.URI pred,
org.openrdf.model.Value obj,
org.openrdf.model.Resource... contexts)
Unsupported API.
|
int |
removeStatements(ISPO[] stmts)
Note: The CONTEXT is ignored when in statementIdentifier mode!
|
int |
removeStatements(ISPO[] stmts,
int numStmts)
Note: The CONTEXT is ignored when in statementIdentifier mode!
|
void |
removeStatements(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
org.openrdf.model.Resource... contexts) |
int |
removeStatements(org.openrdf.model.Resource s,
org.openrdf.model.URI p,
org.openrdf.model.Value o,
org.openrdf.model.Resource c)
Note: The CONTEXT is ignored when in statementIdentifier mode!
|
int |
removeStatements(SPOPredicate pred)
Note: The CONTEXT is ignored when in statementIdentifier mode!
|
int |
removeStatements(SPOPredicate[] preds,
int numPreds) |
void |
rollback()
Note: The semantics depend on the
Options#STORE_CLASS . |
void |
setNamespace(String prefix,
String namespace) |
boolean |
setTruthMaintenance(boolean newValue)
Enable or suppress incremental truth maintenance for this
BigdataSail.BigdataSailConnection . |
long |
size(org.openrdf.model.Resource... contexts)
Count the statements in the specified contexts.
|
protected BigdataSail.BigdataSailConnection |
startConn()
Per-connection initialization.
|
void |
startUpdate(org.openrdf.sail.UpdateContext op)
Unsupported API.
|
String |
toString() |
protected final boolean readOnly
protected boolean openConn
SailConnection
is open.protected AccessSemaphore.Access access
protected final boolean scaleOut
true
the SAIL is backed by an
IBigdataFederation
.protected final boolean isolatable
Options#ISOLATABLE_INDICES}
protected boolean dirty
true
if we flush()
either of the
StatementBuffer
s. The flag reflects whether or not the
buffered writes were propagated to the underlying indices. For some
database modes those writes will be buffered by the indices and then
incrementally flushed through to the disk. For others (a federation)
the writes are shard wise ACID.
Guarded by synchronized(this)
(sychronized on the
BigdataSail.BigdataSailConnection
).
isDirty()
,
assertBuffer
,
retractBuffer
,
flush()
protected DelegatingChangeLog changeLog
BigdataSailRWTxConnection#commit2()
.protected BigdataSail.BigdataSailConnection(long timestampOrTxId, AccessSemaphore.Access access) throws DatasetNotFoundException
timestampOrTxId
- Either a commit time or a read/write transaction identifier.DatasetNotFoundException
protected BigdataSail.BigdataSailConnection(AccessSemaphore.Access access) throws DatasetNotFoundException
lock
- DatasetNotFoundException
public Properties getProperties()
BigdataSail
.(BigdataSail should not locate the AbstractTripleStore until a connection is requested)
public final boolean isQuads()
true
if the SAIL is using a "quads" mode database.AbstractTripleStore.Options#QUADS
public final boolean isIsolatable()
true
iff the SAIL is using a namespace that has been
configured to support isolatable indices.public BigdataSail getBigdataSail()
protected StatementBuffer<org.openrdf.model.Statement> getAssertionBuffer()
The assertion buffer is used to buffer statements that are being asserted so as to maximize the opportunity for batch writes. Truth maintenance (if enabled) will be performed no later than the commit of the transaction.
Note: When non-null
and non-empty, the buffer MUST be
flushed (a) if a transaction completes (otherwise writes will not be
stored on the database); or (b) if there is a read against the
database during a transaction (otherwise reads will not see the
unflushed statements).
Note: if truthMaintenance
is enabled then this buffer is
backed by a temporary store which accumulates the SPO
s to be
asserted. Otherwise it will write directly on the database each time
it is flushed, including when it overflows.
protected StatementBuffer<org.openrdf.model.Statement> getRetractionBuffer()
The retraction buffer is used by the SailConnection
API IFF
truth maintenance is enabled since the only methods available on the
Sail
to delete statements,
#removeStatements(Resource, URI, Value)
and
removeStatements(Resource, URI, Value, Resource[])
, each
accepts a statement pattern rather than a set of statements. The
AbstractTripleStore
directly supports removal of statements
matching a triple pattern, so we do not buffer retractions for those
method UNLESS truth maintenance is enabled.
protected BigdataSail.BigdataSailConnection startConn()
This method currently will expose a mutable connection to any
registered CustomServiceFactory
.
public boolean getTruthMaintenance()
BigdataSail.BigdataSailConnection
implementation (but not by methods that
go around the BigdataSail.BigdataSailConnection
).setTruthMaintenance(boolean)
public boolean isTruthMaintenanceConfigured()
public boolean setTruthMaintenance(boolean newValue)
BigdataSail.BigdataSailConnection
. Truth maintenance MUST be configured
and this MUST be the ITx.UNISOLATED
connection.
For connections that do support truth maintenance, this method is a NOP if the truth maintenance flag would not be changed.
If the connection is changed either to or from a state in which it will perform incremental truth maintenance, then any buffered statements are first flushed to the backing database. This ensures that truth maintenance is either performed or not performed (as appropriate) on those statements that were already buffered and that it will be (or will not be as appropriate) performed on those assertions and retractions that follow.
Changing the state of this flag from false
to
true
will not force truth maintenance as any buffered
writes will first be flushed
. However, once the flag
is true
, any writes followed by a subsequent
flush()
WILL force truth maintenance. Therefore, it is
critically important that a coherent state is re-established for the
entailments BEFORE truth maintenance is re-enabled.
newValue
- The new value.UnsupportedOperationException
- unless this is an UNISOLATED connection.UnsupportedOperationException
- unless the KB instance has been configured to support
truth maintenance.(Manage
Truth Maintenance)
protected void attach(long timestampOrTxId) throws DatasetNotFoundException
timestampOrTxId
- The timestamp or the transaction identifier for
the view of the database to be attached.DatasetNotFoundException
- if the namespace can not be located for that timestamp or txId.public AbstractTripleStore getTripleStore()
AbstractTripleStore
or null
if an unisolated connection was obtained without requiring the
namespace to pre-exist.BLZG-2023, BLZG-2041
public final boolean isQueryTimeExpander()
public final boolean isReadOnly()
true
, the connection does not permit mutation.public final boolean isUnisolated()
true
if this is the ITx.UNISOLATED
connection.public boolean getAllowAutoCommit()
public void addConnectionListener(org.openrdf.sail.SailConnectionListener listener)
SailConnection
.
Further, while the client is only notified for explicit statements
added or removed, it is possible that a statement remains entailed in
the database regardless of its removal.addConnectionListener
in interface org.openrdf.sail.NotifyingSailConnection
public void removeConnectionListener(org.openrdf.sail.SailConnectionListener listener)
removeConnectionListener
in interface org.openrdf.sail.NotifyingSailConnection
protected void fireSailChangedEvent(boolean added, org.openrdf.model.Statement stmt)
SailConnectionListener
s if one or more statements have
been added to or removed from the repository using the SAIL methods:
#addStatement(Resource, URI, Value)
#removeStatements(Resource, URI, Value)
#clearRepository()
public void setNamespace(String prefix, String namespace) throws org.openrdf.sail.SailException
setNamespace
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public String getNamespace(String prefix)
getNamespace
in interface org.openrdf.sail.SailConnection
public void removeNamespace(String prefix)
removeNamespace
in interface org.openrdf.sail.SailConnection
public void clearNamespaces()
clearNamespaces
in interface org.openrdf.sail.SailConnection
public com.bigdata.rdf.sail.BigdataSail.BigdataSailConnection.NamespaceIterator getNamespaces()
getNamespaces
in interface org.openrdf.sail.SailConnection
public void addStatement(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
addStatement
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
BigdataSail.NULL_GRAPH
public void clear(org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
clear
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public long size(org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
BigdataSail.Options.EXACT_SIZE
. Exact size is an extremely expensive operation,
which we turn off by default. In default mode, an upper bound is
given for the total number of statements in the database, explicit
and inferred. In exact size mode, the entire index will be visited
and materialized and each explicit statement will be counted.
size
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
BigdataSail.Options.EXACT_SIZE
public long exactSize(org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
AbstractTripleStore.getStatementCount()
or
IAccessPath#rangeCount()
for efficient methods for reporting
on the #of statements in the database or within a specific context.org.openrdf.sail.SailException
BigdataSail.Options.EXACT_SIZE
public void removeStatements(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
removeStatements
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public int removeStatements(SPOPredicate pred) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public int removeStatements(SPOPredicate[] preds, int numPreds) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public int removeStatements(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, org.openrdf.model.Resource c) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public int removeStatements(ISPO[] stmts) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public int removeStatements(ISPO[] stmts, int numStmts) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Resource,org.openrdf.sail.SailException> getContextIDs() throws org.openrdf.sail.SailException
getContextIDs
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void rollback() throws org.openrdf.sail.SailException
Options#STORE_CLASS
. See
ITripleStore.abort()
.rollback
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public boolean isDirty()
true
if we flush()
either of the
StatementBuffer
s. The flag reflects whether or not the
buffered writes were propagated to the underlying indices. For some
database modes those writes will be buffered by the indices and then
incrementally flushed through to the disk. For others (a federation)
the writes are shard wise ACID.public long commit2() throws org.openrdf.sail.SailException
Note: The semantics depend on the Options#STORE_CLASS
. See
AbstractTripleStore.commit()
.
0L
if the write set was empty such that nothing
was committed.org.openrdf.sail.SailException
public final void commit() throws org.openrdf.sail.SailException
Note: The semantics depend on the Options#STORE_CLASS
. See
AbstractTripleStore.commit()
.
commit
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public final boolean isOpen() throws org.openrdf.sail.SailException
isOpen
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void close() throws org.openrdf.sail.SailException
Note: If writes have been applied through the
BigdataSail.BigdataSailConnection
and neither commit()
nor
rollback()
has been invoked, then an implicit
rollback()
WILL be performed.
Note: This logic to invoke the implicit rollback()
WILL NOT
notice whether changes were applied at the
AbstractTripleStore
layer. It bases its decision SOLELY on
whether updates were observed at the BigdataSail.BigdataSailConnection
.
It is possible to make updates at other layers and you are
responsible for calling rollback()
when handling an error
condition if you are going around the BigdataSail.BigdataSailConnection
for those updates.
Note: Since close()
discards any uncommitted writes it is
important to commit the #getDatabase()
made from OUTSIDE of
the BigdataSail
before opening a SailConnection
(this
artifact arises because the SailConnection
is using
unisolated writes on the database).
close
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
protected void finalize() throws Throwable
public void flush()
BigdataSail.BigdataSailConnection
heavily buffers assertions and retractions. Either a flush()
or a commit()
is required before executing any operations
directly against the backing AbstractTripleStore
so that the
buffered assertions or retractions will be written onto the KB and
become visible to other methods. This is not a transaction issue --
just a buffer issue. The public methods on the
BigdataSail.BigdataSailConnection
all flush the buffers before performing
any queries against the underlying AbstractTripleStore
.protected void flushStatementBuffers(boolean flushAssertBuffer, boolean flushRetractBuffer)
getTruthMaintenance()
returns
true
this method will also handle truth maintenance.
Note: This MUST be invoked within any method that will read on the database to ensure that any pending writes have been flushed (otherwise the read operation will not be able to see the pending writes). However, methods that assert or retract statements MUST only flush the buffer on which they will NOT write. E.g., if you are going to retract statements, then first flush the assertions buffer and visa versa.
protected void assertOpenConn() throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
protected void assertWritableConn() throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Statement,org.openrdf.sail.SailException> getStatements(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, org.openrdf.model.Resource context) throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public info.aduna.iteration.CloseableIteration<? extends org.openrdf.model.Statement,org.openrdf.sail.SailException> getStatements(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, boolean includeInferred, org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
null
, then you will see data
from each context in a quad store, including anything in the
BigdataSail.NULL_GRAPH
.getStatements
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public boolean hasStatement(org.openrdf.model.Resource s, org.openrdf.model.URI p, org.openrdf.model.Value o, boolean includeInferred, org.openrdf.model.Resource... contexts) throws org.openrdf.repository.RepositoryException, org.openrdf.sail.SailException
true
iff a statement exists matching the supplied
constraints.
This code path is optimized for cases where isolatable indices are not in use and where inferences can not appear.
s
- p
- o
- includeInferred
- contexts
- org.openrdf.sail.SailException
org.openrdf.repository.RepositoryException
public void computeClosure() throws org.openrdf.sail.SailException
This computes the closure of the database. This can be used if you do NOT enable truth maintenance and choose instead to load up all of your data first and then compute the closure of the database. Note that some rules may be computed by eager closure while others are computed at query time.
Note: If there are already entailments in the database AND you have retracted statements since the last time the closure was computed then you MUST delete all entailments from the database before re-computing the closure.
Note: This method does NOT commit the database. See
AbstractTripleStore.commit()
and getTripleStore()
.
org.openrdf.sail.SailException
removeAllEntailments()
public void removeAllEntailments() throws org.openrdf.sail.SailException
org.openrdf.sail.SailException
public info.aduna.iteration.CloseableIteration<? extends org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> evaluate(org.openrdf.query.algebra.TupleExpr tupleExpr, org.openrdf.query.Dataset dataset, org.openrdf.query.BindingSet bindings, boolean includeInferred) throws org.openrdf.sail.SailException
TupleExpr
evaluation. SPARQL queries must be prepared and
evaluated using a BigdataSailRepositoryConnection
.evaluate
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
- always.public info.aduna.iteration.CloseableIteration<? extends org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException> evaluate(QueryRoot queryRoot, org.openrdf.query.Dataset dataset, org.openrdf.query.BindingSet bindings, boolean includeInferred) throws org.openrdf.sail.SailException
BigdataSailRepositoryConnection
. It
does not call through here, but goes directly to the
ASTEvalHelper
.queryRoot
- The query model.dataset
- The data set (optional).bindings
- The initial bindings.includeInferred
- true
iff inferences will be considered when
reading on access paths.CloseableIteration
from which the solutions may
be drained.org.openrdf.sail.SailException
public void addChangeLog(IChangeLog changeLog)
IChangeLog
and IChangeRecord
.changeLog
- the change logpublic void removeChangeLog(IChangeLog changeLog)
IChangeLog
and IChangeRecord
.changeLog
- the change logpublic void addListener(ISPARQLUpdateListener l)
public void removeListener(ISPARQLUpdateListener l)
public void fireEvent(SPARQLUpdateEvent e)
public void begin() throws org.openrdf.sail.SailException
begin
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public boolean isActive() throws org.openrdf.sail.UnknownSailTransactionStateException
true
.
Note: Bigdata does not expose its internal transaction state to the sail (the concept of active and inactive transactions exists for full read/write transactions and but those semantics are not exposed to the sail).
isActive
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.UnknownSailTransactionStateException
public void prepare() throws org.openrdf.sail.SailException
SailConnection
.
Note: Full read/write transactions do have a prepare()/commit() model interallly based on MVCC, but unisolated connections do not.
prepare
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void startUpdate(org.openrdf.sail.UpdateContext op) throws org.openrdf.sail.SailException
startUpdate
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void addStatement(org.openrdf.sail.UpdateContext op, org.openrdf.model.Resource subj, org.openrdf.model.URI pred, org.openrdf.model.Value obj, org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
addStatement
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void removeStatement(org.openrdf.sail.UpdateContext op, org.openrdf.model.Resource subj, org.openrdf.model.URI pred, org.openrdf.model.Value obj, org.openrdf.model.Resource... contexts) throws org.openrdf.sail.SailException
removeStatement
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
public void endUpdate(org.openrdf.sail.UpdateContext op) throws org.openrdf.sail.SailException
endUpdate
in interface org.openrdf.sail.SailConnection
org.openrdf.sail.SailException
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.