Class DedupingInferencer
java.lang.Object
org.eclipse.rdf4j.sail.helpers.SailWrapper
org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
org.eclipse.rdf4j.sail.inferencer.fc.DedupingInferencer
- All Implemented Interfaces:
FederatedServiceResolverClient, NotifyingSail, Sail, StackableSail
An inferencer may infer the same statement from two different statements. This leads to that single inferred
statement undergoing inferencing multiple times, and all the statements inferred from it too, etc. This is mainly due
to the use of SailConnectionListeners which don't distinguish between adding a new statement and one that already
exists. Adding this inferencer to a Sail stack prevents this problem and gives a significant performance increase.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionOpens a connection on the Sail which can be used to query and update data.Methods inherited from class NotifyingSailWrapper
addSailChangedListener, getBaseSail, removeSailChangedListener, setBaseSailModifier and TypeMethodDescriptionvoidaddSailChangedListener(SailChangedListener listener) Adds the specified SailChangedListener to receive events when the data in this Sail object changes.Gets the base Sail that this Sail works on top of.voidremoveSailChangedListener(SailChangedListener listener) Removes the specified SailChangedListener so that it no longer receives events from this Sail object.voidsetBaseSail(Sail baseSail) Sets the base Sail that this Sail will work on top of.Methods inherited from class SailWrapper
getCollectionFactory, getDataDir, getDefaultIsolationLevel, getFederatedServiceResolver, getSupportedIsolationLevels, getValueFactory, init, isWritable, setDataDir, setFederatedServiceResolver, shutDown, verifyBaseSailSetModifier and TypeMethodDescriptionGets a CollectionFactory that may be optimized for this store and may or may not use disk or other resources.Gets the Sail's data directory.Retrieves the defaultIsolationLevellevel on which transactions in this Sail operate.Gets theFederatedServiceResolverused by this client.Retrieve theIsolationLevels supported by this SAIL, ordered by increasing complexity.Gets a ValueFactory object that can be used to create IRI-, blank node-, literal- and statement objects.voidinit()Initializes the Sail.booleanChecks whether this Sail object is writable, i.e. if the data contained in this Sail object can be changed.voidsetDataDir(File dataDir) Sets the data directory for the Sail.voidSets theFederatedServiceResolverto use for this client.voidshutDown()Shuts down the Sail, giving it the opportunity to synchronize any stale data.protected void
-
Constructor Details
-
DedupingInferencer
public DedupingInferencer() -
DedupingInferencer
-
-
Method Details
-
getConnection
Description copied from interface:SailOpens a connection on the Sail which can be used to query and update data. Depending on how the implementation handles concurrent access, a call to this method might block when there is another open connection on this Sail.- Specified by:
getConnectionin interfaceNotifyingSail- Specified by:
getConnectionin interfaceSail- Overrides:
getConnectionin classNotifyingSailWrapper- Throws:
SailException- If no transaction could be started, for example because the Sail is not writable.
-