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
public class DedupingInferencer extends NotifyingSailWrapper
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 Constructor Description DedupingInferencer()
DedupingInferencer(NotifyingSail baseSail)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InferencerConnection
getConnection()
Opens a connection on the Sail which can be used to query and update data.-
Methods inherited from class org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
addSailChangedListener, getBaseSail, removeSailChangedListener, setBaseSail
-
Methods inherited from class org.eclipse.rdf4j.sail.helpers.SailWrapper
getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, init, isWritable, setDataDir, setFederatedServiceResolver, shutDown, verifyBaseSailSet
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.sail.Sail
getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, init, isWritable, setDataDir, shutDown
-
-
-
-
Constructor Detail
-
DedupingInferencer
public DedupingInferencer()
-
DedupingInferencer
public DedupingInferencer(NotifyingSail baseSail)
-
-
Method Detail
-
getConnection
public InferencerConnection getConnection() throws SailException
Description copied from interface:Sail
Opens 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:
getConnection
in interfaceNotifyingSail
- Specified by:
getConnection
in interfaceSail
- Overrides:
getConnection
in classNotifyingSailWrapper
- Throws:
SailException
- If no transaction could be started, for example because the Sail is not writable.
-
-