Package org.aksw.jena_sparql_api.core
Class FluentQueryExecutionFactoryFn<P>
java.lang.Object
org.aksw.jena_sparql_api.core.FluentBase<Function<T,T>,P>
org.aksw.jena_sparql_api.core.FluentFnBase<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory,P>
org.aksw.jena_sparql_api.core.FluentQueryExecutionFactoryFn<P>
- Type Parameters:
T-
- All Implemented Interfaces:
ParentSuppliable<P>
public class FluentQueryExecutionFactoryFn<P>
extends FluentFnBase<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory,P>
A fluent API for conveniently building 'recipes' of transformations to apply to any QueryExecutionFactory.
Custom functions can be chained using the generic compose(yourFn) method.
- Author:
- raven
-
Field Summary
Fields inherited from class org.aksw.jena_sparql_api.core.FluentFnBase
defaultReverseChainingFields inherited from class org.aksw.jena_sparql_api.core.FluentBase
fn, parentSupplier -
Constructor Summary
ConstructorsConstructorDescriptionFluentQueryExecutionFactoryFn(com.google.common.base.Supplier<P> parentSupplier, Function<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory, org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory> fn) -
Method Summary
Modifier and TypeMethodDescriptioncompose(Function<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory, org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory> nextFn) composeExec(org.aksw.jenax.dataaccess.sparql.exec.query.QueryExecFactoryQueryTransform decorizer) Transforms all non-SELECT query forms to SELECT queries.static FluentQueryExecutionFactoryFn<?>start()static <T> Function<T,T> toFunction(Consumer<T> consumer) Given a consumer of 'x', return a function that first invokes the consumer and then yields 'x'.withCache(CacheBackend cache) withCache(CacheFrontend cache) withDatasetDescription(org.apache.jena.sparql.core.DatasetDescription datasetDescription) withDefaultLimit(long limit, boolean doCloneQuery) Wraps the currentQueryExecutionFactorywith a delayer.withPagination(int pageSize) withParser(Function<String, org.apache.jena.query.Query> parser) withPostProcessor(Consumer<org.apache.jena.query.QueryExecution> postProcessor) Configure a function for post processing QueryExecution instances before returning them to the application.withPostTransformer(Function<? super org.apache.jena.query.QueryExecution, ? extends org.apache.jena.query.QueryExecution> postProcessor) withPrefixes(org.apache.jena.shared.PrefixMapping pm, boolean doClone) withQueryTransform(org.aksw.jenax.arq.util.query.QueryTransform queryTransform) withResultTransform(org.apache.jena.sparql.graph.NodeTransform nodeTransform) Transform nodes of SPARQL results (models, datasets, result sets).Methods inherited from class org.aksw.jena_sparql_api.core.FluentFnBase
valueMethods inherited from class org.aksw.jena_sparql_api.core.FluentBase
create, end, setParentSupplier
-
Constructor Details
-
FluentQueryExecutionFactoryFn
public FluentQueryExecutionFactoryFn() -
FluentQueryExecutionFactoryFn
-
-
Method Details
-
compose
public FluentQueryExecutionFactoryFn<P> compose(Function<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory, org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory> nextFn) - Overrides:
composein classFluentFnBase<org.aksw.jenax.dataaccess.sparql.factory.execution.query.QueryExecutionFactory,P>
-
withDelay
-
withDelay
Wraps the currentQueryExecutionFactorywith a delayer. Returns 'this' without further action if the argument is null.- Parameters:
delayer-- Returns:
-
withParser
public FluentQueryExecutionFactoryFn<P> withParser(Function<String, org.apache.jena.query.Query> parser) -
withClientSideConstruct
-
withPagination
-
withRetry
public FluentQueryExecutionFactoryFn<P> withRetry(int retryCount, long retryDelayDuration, TimeUnit retryDelayTimeUnit) -
withCache
-
withCache
-
withResultTransform
public FluentQueryExecutionFactoryFn<P> withResultTransform(org.apache.jena.sparql.graph.NodeTransform nodeTransform) Transform nodes of SPARQL results (models, datasets, result sets). Can be used for e.g. for blank node skolemization.- Parameters:
nodeTransform-- Returns:
-
withDefaultLimit
-
withQueryTransform
public FluentQueryExecutionFactoryFn<P> withQueryTransform(org.aksw.jenax.arq.util.query.QueryTransform queryTransform) -
toFunction
Given a consumer of 'x', return a function that first invokes the consumer and then yields 'x'. (i.e. return an identity function with the consumer's side effect)- Parameters:
consumer-- Returns:
-
withPostProcessor
public FluentQueryExecutionFactoryFn<P> withPostProcessor(Consumer<org.apache.jena.query.QueryExecution> postProcessor) Configure a function for post processing QueryExecution instances before returning them to the application. Note: consumer is probably not the semantically appropriate interface- Parameters:
postProcessor-- Returns:
-
withPostTransformer
public FluentQueryExecutionFactoryFn<P> withPostTransformer(Function<? super org.apache.jena.query.QueryExecution, ? extends org.apache.jena.query.QueryExecution> postProcessor) -
withExogeneousTimeout
-
withDatasetDescription
public FluentQueryExecutionFactoryFn<P> withDatasetDescription(org.apache.jena.sparql.core.DatasetDescription datasetDescription) -
selectOnly
Transforms all non-SELECT query forms to SELECT queries. I.e. rewrites ASK, DESCRIBE and CONSTRUCT to SELECT queries. Only the select query is passed on for further execution, whereas the final response is constructed from the result set.- Returns:
-
composeExec
public FluentQueryExecutionFactoryFn<P> composeExec(org.aksw.jenax.dataaccess.sparql.exec.query.QueryExecFactoryQueryTransform decorizer) -
start
-