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

    Fields
    Modifier and Type
    Field
    Description
    protected org.aksw.commons.io.buffer.array.ArrayOps<org.apache.jena.sparql.engine.binding.Binding[]>
     
    protected org.aksw.commons.io.cache.AdvancedRangeCacheConfig
     
    protected com.google.common.hash.HashCode
     
    protected org.aksw.commons.store.object.key.api.ObjectStore
     
    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>>
     
    protected static com.google.common.hash.HashFunction
    Hash functions for update statements
    protected org.apache.jena.sparql.core.Transactional
    This lock takes precedence over any locking mechanism of the delegate data source

    Fields inherited from class org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase

    delegate
  • Constructor Summary

    Constructors
    Constructor
    Description
    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 Summary

    Modifier and Type
    Method
    Description
    create(RDFLinkSourceWithRangeCache dataSource, Path cacheDir, long maxRequestSize)
     
    create(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize)
     
    create(org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource linkSource, Path cacheFolder, long maxRequestSize, com.google.common.hash.HashCode datasetHash)
     
    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)
     
    org.apache.jena.sparql.exec.QueryExec
    createQueryExec(org.aksw.jenax.dataaccess.sparql.builder.exec.query.QueryExecBuilderCustomBase<?> builder)
     
    org.apache.jena.sparql.exec.UpdateExec
    createUpdateExec(org.apache.jena.rdflink.LinkSparqlUpdate baseLink, org.aksw.jenax.dataaccess.sparql.builder.exec.update.UpdateExecBuilderCustomBase<?> builder)
     
    org.apache.jena.rdflink.RDFLink
     

    Methods inherited from class org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSourceWrapperBase

    getDelegate

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.aksw.jenax.dataaccess.sparql.linksource.RDFLinkSource

    asDataSource, getDatasetGraph, newQuery, newUpdate, query, query, update, update, update

    Methods 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 stmtHashFn
      Hash functions for update statements
    • transactional

      protected org.apache.jena.sparql.core.Transactional transactional
      This 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)