Package org.eclipse.rdf4j.sail.base
Interface SailSink
- All Superinterfaces:
AutoCloseable
,SailClosable
- All Known Implementing Classes:
Changeset
A mutable source of RDF graphs. The life cycle follows that of a write operation.
- Author:
- James Leigh
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a statement to the store.default void
Adds a statement to the store.default void
approveAll
(Set<Statement> approved, Set<Resource> approvedContexts) void
Removes all statements from the specified/all contexts.void
Removes all namespace declarations from thisSailSource
.void
Removes a statement.default void
deprecateAll
(Set<Statement> deprecated) default boolean
deprecateByQuery
(Resource subj, IRI pred, Value obj, Resource[] contexts) Removes all statements with the specified subject, predicate, object, and context.void
flush()
Once this method returns successfully, changes that were made to thisSailSink
will be visible to subsequentSailSource.dataset(IsolationLevel)
.default void
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.void
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.default void
observeAll
(Set<Changeset.SimpleStatementPattern> observed) void
prepare()
Checks if thisSailSink
is consistent with the isolation level it was created with.void
removeNamespace
(String prefix) Removes a namespace declaration by removing the association between a prefix and a namespace name.void
setNamespace
(String prefix, String name) Sets the prefix for a namespace.default boolean
Methods inherited from interface org.eclipse.rdf4j.sail.base.SailClosable
close
-
Method Details
-
prepare
Checks if thisSailSink
is consistent with the isolation level it was created with. If this Sink was created with aIsolationLevels.SERIALIZABLE
and another conflictingSailSink
has already beenflush()
ed, this method will throw aSailConflictException
.- Throws:
SailException
-
flush
Once this method returns successfully, changes that were made to thisSailSink
will be visible to subsequentSailSource.dataset(IsolationLevel)
.- Throws:
SailException
-
setNamespace
Sets the prefix for a namespace.- Parameters:
prefix
- The new prefix, or an empty string in case of the default namespace.name
- The namespace name that the prefix maps to.- Throws:
SailException
- If the Sail object encountered an error or unexpected situation internally.NullPointerException
- In case prefix or name is null.
-
removeNamespace
Removes a namespace declaration by removing the association between a prefix and a namespace name.- Parameters:
prefix
- The namespace prefix, or an empty string in case of the default namespace.- Throws:
SailException
NullPointerException
- In case prefix is null.
-
clearNamespaces
Removes all namespace declarations from thisSailSource
.- Throws:
SailException
-
clear
Removes all statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.- Parameters:
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 specified the method operates on the entire repository. A null value can be used to match context-less statements.- Throws:
SailException
- If the statements could not be removed.
-
observe
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.- Parameters:
subj
- A Resource specifying the subject, or null for a wildcard.pred
- A IRI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) of the observed statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on all contexts.- Throws:
SailException
- If the triple source failed to observe these statements.
-
observe
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.- Parameters:
subj
- A Resource specifying the subject, or null for a wildcard.pred
- A IRI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.context
- The context of the observed statements.- Throws:
SailException
- If the triple source failed to observe these statements.
-
approve
Adds a statement to the store.- Parameters:
subj
- The subject of the statement to add.pred
- The predicate of the statement to add.obj
- The object of the statement to add.ctx
- The context to add the statement to.- Throws:
SailException
- If the statement could not be added, for example because no transaction is active.
-
approve
Adds a statement to the store.- Parameters:
statement
- The statement to add.- Throws:
SailException
- If the statement could not be added, for example because no transaction is active.
-
deprecate
Removes a statement.- Parameters:
statement
- The statement that should be removed- Throws:
SailException
- If the statement could not be removed, for example because no transaction is active.
-
deprecateByQuery
Removes all statements with the specified subject, predicate, object, and context. All four parameters may be null.- Throws:
SailException
- If statements could not be removed, for example because no transaction is active.
-
supportsDeprecateByQuery
default boolean supportsDeprecateByQuery() -
approveAll
-
deprecateAll
-
observeAll
-