Class RDFLinkSourceWithRangeCache
java.lang.Object
org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase<org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource>
org.aksw.jena_sparql_api.cache.advanced.RDFLinkSourceWithRangeCache
- All Implemented Interfaces:
org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource,org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapper<org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource>
public class RDFLinkSourceWithRangeCache
extends org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase<org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource>
This class wraps a data source with caching.
The wrapping includes an additional MRSW lock (multiple reads or single writer) -
so only a single write transaction is allowed at any time.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.aksw.commons.io.buffer.array.ArrayOps<org.apache.jena.sparql.engine.binding.Binding[]>protected org.aksw.commons.io.cache.AdvancedRangeCacheConfigprotected com.google.common.hash.HashCodeprotected org.aksw.commons.store.object.key.api.ObjectStoreprotected com.google.common.cache.Cache<org.aksw.commons.path.core.Path<String>,org.aksw.commons.rx.lookup.ListPaginator<org.apache.jena.sparql.engine.binding.Binding>> protected static com.google.common.hash.HashFunctionHash functions for update statementsprotected org.apache.jena.sparql.core.TransactionalThis lock takes precedence over any locking mechanism of the delegate data sourceFields inherited from class org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase
delegate -
Constructor Summary
ConstructorsConstructorDescriptionRDFLinkSourceWithRangeCache(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource delegate, org.aksw.commons.store.object.key.api.ObjectStore objectStore, com.google.common.hash.HashCode datasetHash, int maxCachedQueries, org.aksw.commons.io.cache.AdvancedRangeCacheConfig cacheConfig) -
Method Summary
Modifier and TypeMethodDescriptionstatic RDFLinkSourceWithRangeCachecreate(RDFLinkSourceWithRangeCache dataSource, Path cacheDir, long maxRequestSize) static RDFLinkSourceWithRangeCachecreate(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize) static RDFLinkSourceWithRangeCachecreate(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize, com.google.common.hash.HashCode datasetHash) static RDFLinkSourceWithRangeCachecreate(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, com.google.common.hash.HashCode datasetHash, int maxCachedQueries, org.aksw.commons.io.cache.AdvancedRangeCacheConfig cacheConfig) org.apache.jena.sparql.exec.QueryExeccreateQueryExec(org.aksw.jenax.dataaccess.sparql.builder.exec.query.QueryExecBuilderCustomBase<?> builder) org.apache.jena.sparql.exec.UpdateExeccreateUpdateExec(org.apache.jena.rdflink.LinkSparqlUpdate baseLink, org.aksw.jenax.dataaccess.sparql.builder.exec.update.UpdateExecBuilderCustomBase<?> builder) org.apache.jena.rdflink.RDFLinknewLink()Methods inherited from class org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase
getDelegateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource
asDataSource, getDatasetGraph, newQuery, newUpdate, query, query, update, update, updateMethods inherited from interface org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapper
newLinkBuilder
-
Field Details
-
datasetHash
protected com.google.common.hash.HashCode datasetHash -
stmtHashFn
protected static com.google.common.hash.HashFunction stmtHashFnHash functions for update statements -
transactional
protected org.apache.jena.sparql.core.Transactional transactionalThis lock takes precedence over any locking mechanism of the delegate data source -
objectStore
protected org.aksw.commons.store.object.key.api.ObjectStore objectStore -
cacheConfig
protected org.aksw.commons.io.cache.AdvancedRangeCacheConfig cacheConfig -
arrayOps
protected org.aksw.commons.io.buffer.array.ArrayOps<org.apache.jena.sparql.engine.binding.Binding[]> arrayOps -
queryToCache
protected com.google.common.cache.Cache<org.aksw.commons.path.core.Path<String>,org.aksw.commons.rx.lookup.ListPaginator<org.apache.jena.sparql.engine.binding.Binding>> queryToCache
-
-
Constructor Details
-
RDFLinkSourceWithRangeCache
public RDFLinkSourceWithRangeCache(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource delegate, org.aksw.commons.store.object.key.api.ObjectStore objectStore, com.google.common.hash.HashCode datasetHash, int maxCachedQueries, org.aksw.commons.io.cache.AdvancedRangeCacheConfig cacheConfig)
-
-
Method Details
-
newLink
public org.apache.jena.rdflink.RDFLink newLink() -
createQueryExec
public org.apache.jena.sparql.exec.QueryExec createQueryExec(org.aksw.jenax.dataaccess.sparql.builder.exec.query.QueryExecBuilderCustomBase<?> builder) -
createUpdateExec
public org.apache.jena.sparql.exec.UpdateExec createUpdateExec(org.apache.jena.rdflink.LinkSparqlUpdate baseLink, org.aksw.jenax.dataaccess.sparql.builder.exec.update.UpdateExecBuilderCustomBase<?> builder) -
create
public static RDFLinkSourceWithRangeCache create(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, com.google.common.hash.HashCode datasetHash, int maxCachedQueries, org.aksw.commons.io.cache.AdvancedRangeCacheConfig cacheConfig) -
create
public static RDFLinkSourceWithRangeCache create(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize) -
create
public static RDFLinkSourceWithRangeCache create(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize, com.google.common.hash.HashCode datasetHash) -
create
public static RDFLinkSourceWithRangeCache create(RDFLinkSourceWithRangeCache dataSource, Path cacheDir, long maxRequestSize)
-