Package org.aksw.jenax.sparql.rx.op
Class QueryFlowOps
java.lang.Object
org.aksw.jenax.sparql.rx.op.QueryFlowOps
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createAssign(org.apache.jena.sparql.core.VarExprList exprs, org.apache.jena.sparql.function.FunctionEnv execCxt) static org.apache.jena.sparql.engine.ExecutionContextUtility method to set up a default execution contextstatic Predicate<org.apache.jena.sparql.engine.binding.Binding>createFilter(String exprStr, org.apache.jena.shared.PrefixMapping pm, org.apache.jena.sparql.function.FunctionEnv execCxt) static Predicate<org.apache.jena.sparql.engine.binding.Binding>createFilter(String exprStr, org.apache.jena.sparql.function.FunctionEnv execCxt) static Predicate<org.apache.jena.sparql.engine.binding.Binding>createFilter(org.apache.jena.sparql.expr.ExprList exprs, org.apache.jena.sparql.function.FunctionEnv execCxt) static Predicate<org.apache.jena.sparql.engine.binding.Binding>createFilter(org.apache.jena.sparql.expr.Expr expr, org.apache.jena.sparql.function.FunctionEnv execCxt) Usage: flowableOfBindings.filter(createFilter(execCxt, expr))static io.reactivex.rxjava3.core.Flowable<org.apache.jena.graph.Triple>createFlowableFromGraph(org.apache.jena.graph.Graph g, org.apache.jena.graph.Triple pattern) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createMapperBindings(org.apache.jena.query.Query query) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createMapperBindings(org.apache.jena.sparql.algebra.Op op) Evaluates the given algebra for each input binding individually.static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperForJoin(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple triplePattern) Create a mapper that for each binding performs a join using a lookup using the given graph and triple pattern.static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperForOptionalJoin(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple triplePattern) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.core.Quad> createMapperQuads(org.apache.jena.query.Query query) Create a mapper for a construct query yielding quads (similar to tarql)static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.core.Quad>> createMapperQuads(org.apache.jena.sparql.syntax.Template template) Usage Flowablequads = flowOfBindings.concatMap(createMapperQuads(template)::apply); static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.graph.Triple> createMapperTriples(org.apache.jena.query.Query query) Create a mapper for a construct query yielding triples (similar to tarql)static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.graph.Triple>> createMapperTriples(org.apache.jena.sparql.syntax.Template template) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createOrderBy(List<org.apache.jena.query.SortCondition> sortConditions) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createProject(Collection<org.apache.jena.sparql.core.Var> vars, org.apache.jena.sparql.function.FunctionEnv execCxt) static <T> io.reactivex.rxjava3.core.FlowableTransformer<T,T> createSlice(Long offset, Long limit) static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createTransformForGroupBy(org.apache.jena.query.Query query, org.apache.jena.sparql.function.FunctionEnv execCxt) Create a transformer that implements a group by operation based on the query thereby ignoring its query pattern.static booleaninsert(org.apache.jena.graph.Node inputNode, org.apache.jena.graph.Node outputNode, org.apache.jena.sparql.engine.binding.BindingBuilder results) static org.apache.jena.sparql.engine.binding.Bindingmapper(org.apache.jena.sparql.engine.binding.BindingBuilder result, org.apache.jena.graph.Triple pattern, org.apache.jena.graph.Triple match) Utility method used bycreateMapperForJoin(org.apache.jena.graph.Graph,org.apache.jena.graph.Triple)static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> transformerFromQuery(String queryStr) Convenience method with default execution context.static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> transformerFromQuery(org.apache.jena.query.Query query) Convenience method with default execution context.static org.apache.jena.graph.NodevarToAny(org.apache.jena.graph.Node node) static org.apache.jena.graph.TriplevarToAny(org.apache.jena.graph.Triple tp) static <T> io.reactivex.rxjava3.core.Flowable<T>wrapClosableIteratorSupplier(Supplier<? extends org.apache.jena.util.iterator.ClosableIterator<T>> itSupp) Wrap a supplier ofClosableIterator(base of ExtendedIterator) as a Flowable.
-
Constructor Details
-
QueryFlowOps
public QueryFlowOps()
-
-
Method Details
-
createMapperTriples
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.graph.Triple> createMapperTriples(org.apache.jena.query.Query query) Create a mapper for a construct query yielding triples (similar to tarql) -
createMapperQuads
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.core.Quad> createMapperQuads(org.apache.jena.query.Query query) Create a mapper for a construct query yielding quads (similar to tarql) -
createMapperBindings
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createMapperBindings(org.apache.jena.query.Query query) -
createMapperBindings
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createMapperBindings(org.apache.jena.sparql.algebra.Op op) Evaluates the given algebra for each input binding individually. Note that this does not allow for aggregation over the input bindings!- Parameters:
op-- Returns:
-
createMapperTriples
public static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.graph.Triple>> createMapperTriples(org.apache.jena.sparql.syntax.Template template) -
createMapperQuads
public static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.core.Quad>> createMapperQuads(org.apache.jena.sparql.syntax.Template template) Usage Flowablequads = flowOfBindings.concatMap(createMapperQuads(template)::apply); - Parameters:
template-- Returns:
-
createExecutionContextDefault
public static org.apache.jena.sparql.engine.ExecutionContext createExecutionContextDefault()Utility method to set up a default execution context- Returns:
-
transformerFromQuery
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> transformerFromQuery(String queryStr) Convenience method with default execution context. SeecreateTransformForGroupBy(Query, ExecutionContext).- Parameters:
query-- Returns:
-
transformerFromQuery
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> transformerFromQuery(org.apache.jena.query.Query query) Convenience method with default execution context. SeecreateTransformForGroupBy(Query, ExecutionContext).- Parameters:
query-- Returns:
-
wrapClosableIteratorSupplier
public static <T> io.reactivex.rxjava3.core.Flowable<T> wrapClosableIteratorSupplier(Supplier<? extends org.apache.jena.util.iterator.ClosableIterator<T>> itSupp) Wrap a supplier ofClosableIterator(base of ExtendedIterator) as a Flowable.- Type Parameters:
T-- Parameters:
itSupp-- Returns:
-
createFlowableFromGraph
public static io.reactivex.rxjava3.core.Flowable<org.apache.jena.graph.Triple> createFlowableFromGraph(org.apache.jena.graph.Graph g, org.apache.jena.graph.Triple pattern) -
createMapperForJoin
public static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperForJoin(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple triplePattern) Create a mapper that for each binding performs a join using a lookup using the given graph and triple pattern. Usage: flowableOfBindings.flatMap(createMapper(g, tp))- Parameters:
graph-triplePattern-- Returns:
-
createMapperForOptionalJoin
public static Function<org.apache.jena.sparql.engine.binding.Binding,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperForOptionalJoin(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple triplePattern) -
varToAny
public static org.apache.jena.graph.Node varToAny(org.apache.jena.graph.Node node) -
varToAny
public static org.apache.jena.graph.Triple varToAny(org.apache.jena.graph.Triple tp) -
mapper
public static org.apache.jena.sparql.engine.binding.Binding mapper(org.apache.jena.sparql.engine.binding.BindingBuilder result, org.apache.jena.graph.Triple pattern, org.apache.jena.graph.Triple match) Utility method used bycreateMapperForJoin(org.apache.jena.graph.Graph,org.apache.jena.graph.Triple)- Parameters:
result-pattern-match-- Returns:
-
insert
public static boolean insert(org.apache.jena.graph.Node inputNode, org.apache.jena.graph.Node outputNode, org.apache.jena.sparql.engine.binding.BindingBuilder results) -
createFilter
public static Predicate<org.apache.jena.sparql.engine.binding.Binding> createFilter(org.apache.jena.sparql.expr.Expr expr, org.apache.jena.sparql.function.FunctionEnv execCxt) Usage: flowableOfBindings.filter(createFilter(execCxt, expr))- Parameters:
execCxt-expr-- Returns:
-
createFilter
public static Predicate<org.apache.jena.sparql.engine.binding.Binding> createFilter(org.apache.jena.sparql.expr.ExprList exprs, org.apache.jena.sparql.function.FunctionEnv execCxt) -
createFilter
-
createAssign
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createAssign(org.apache.jena.sparql.core.VarExprList exprs, org.apache.jena.sparql.function.FunctionEnv execCxt) -
createProject
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createProject(Collection<org.apache.jena.sparql.core.Var> vars, org.apache.jena.sparql.function.FunctionEnv execCxt) -
createSlice
-
createTransformForGroupBy
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createTransformForGroupBy(org.apache.jena.query.Query query, org.apache.jena.sparql.function.FunctionEnv execCxt) Create a transformer that implements a group by operation based on the query thereby ignoring its query pattern. Instead of executing a query pattern, the bindings supplied by the upstream flow will be accumulated. Usage: flowableOfBindings.compose(createTransformForGroupBy(query, execCxt))- Parameters:
query-execCxt-- Returns:
-
createOrderBy
public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.sparql.engine.binding.Binding,org.apache.jena.sparql.engine.binding.Binding> createOrderBy(List<org.apache.jena.query.SortCondition> sortConditions)
-