Package org.aksw.jenax.sparql.rx.op
Class SparqlMappers
java.lang.Object
org.aksw.jenax.sparql.rx.op.SparqlMappers
Create functions that run SPARQL statements on a given connection and yield flowables of various result items
- Author:
- raven
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Function<org.apache.jena.rdfconnection.RDFConnection,org.apache.jena.rdfconnection.RDFConnection> applyContextHandler(Consumer<org.apache.jena.sparql.util.Context> contextHandler) static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperBinding(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) Mapper that flatMaps all select queries to a resulting flow of bindings.static Function<org.apache.jena.rdfconnection.RDFConnection,Iterable<org.apache.jena.query.Dataset>> createMapperDataset(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, Supplier<? extends org.apache.jena.sparql.core.DatasetGraph> datasetGraphSupplier) Create a function that runs the given statements on a connection and yields a flow of datasets whereas each dataset corresponds to a single named graph (and thus only contains a single named graph).static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<com.google.gson.JsonElement>> createMapperJq(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, int depth, boolean flat) static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.atlas.json.JsonObject>> createMapperJson(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.core.Quad>> createMapperQuad(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) Create a mapper that executes a sequence of sparql statements on a provided connection in order to create quads.static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.QuerySolution>> createMapperQuerySolution(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) static <B> Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<B>> createMapperSelect(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, io.reactivex.rxjava3.functions.BiFunction<? super org.apache.jena.rdfconnection.SparqlQueryConnection, ? super org.apache.jena.query.Query, io.reactivex.rxjava3.core.Flowable<B>> execSelect) static Function<org.apache.jena.rdfconnection.RDFConnection,SPARQLResultEx> createMapperToSparqlResultEx(OutputMode outputMode, Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) static <I,O> io.reactivex.rxjava3.core.FlowableTransformer<I, O> createParallelMapperOrdered(boolean parallel, Function<? super I, O> mapper) static Function<org.apache.jena.rdfconnection.RDFConnection,ResultSetRx> createProcessorResultSetRx(List<SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultExVisitor) Return a function that runs the given sequence of sparql statements on a connection.static <T> io.reactivex.rxjava3.core.Flowable<T>fallbackToVisitor(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, SPARQLResultExVisitor<?> sparqlResultVisitor) Helper function that executes a statement on a connection, passes the result to a visitor (if applicable) and yields an empty streamstatic <I extends org.apache.jena.query.Dataset,O>
Function<I,O> mapDatasetToConnection(Function<? super org.apache.jena.rdfconnection.RDFConnection, O> mapper)
-
Constructor Details
-
SparqlMappers
public SparqlMappers()
-
-
Method Details
-
createProcessorResultSetRx
public static Function<org.apache.jena.rdfconnection.RDFConnection,ResultSetRx> createProcessorResultSetRx(List<SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultExVisitor) Return a function that runs the given sequence of sparql statements on a connection. Returns a flow of all bindings yeld by select statements. Non-select queries are executed nonetheless and their results are passed to the sparqlResultExVisitor- Parameters:
stmts-sparqlResultExVisitor-- Returns:
-
createParallelMapperOrdered
public static <I,O> io.reactivex.rxjava3.core.FlowableTransformer<I,O> createParallelMapperOrdered(boolean parallel, Function<? super I, O> mapper) -
mapDatasetToConnection
-
applyContextHandler
-
fallbackToVisitor
public static <T> io.reactivex.rxjava3.core.Flowable<T> fallbackToVisitor(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, SPARQLResultExVisitor<?> sparqlResultVisitor) throws Exception Helper function that executes a statement on a connection, passes the result to a visitor (if applicable) and yields an empty stream- Type Parameters:
T-- Parameters:
conn-stmt-sparqlResultVisitor-- Returns:
- Throws:
Exception
-
createMapperBinding
public static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.engine.binding.Binding>> createMapperBinding(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) Mapper that flatMaps all select queries to a resulting flow of bindings. Non-select queries are executed and their results forwarded to a sparqlResultVisitor- Parameters:
stmts-sparqlResultVisitor- Receiver for non-select query results. May be null.- Returns:
-
createMapperQuerySolution
public static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.QuerySolution>> createMapperQuerySolution(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) -
createMapperSelect
public static <B> Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<B>> createMapperSelect(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, io.reactivex.rxjava3.functions.BiFunction<? super org.apache.jena.rdfconnection.SparqlQueryConnection, ? super org.apache.jena.query.Query, io.reactivex.rxjava3.core.Flowable<B>> execSelect) -
createMapperQuad
public static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.sparql.core.Quad>> createMapperQuad(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) Create a mapper that executes a sequence of sparql statements on a provided connection in order to create quads. The output generating sparql statements thus need to be construct queries. Triples and quads are supported. Insert statements can be used to run operations on the connected dataset.- Parameters:
stmts-sparqlResultVisitor-- Returns:
-
createMapperDataset
public static Function<org.apache.jena.rdfconnection.RDFConnection,Iterable<org.apache.jena.query.Dataset>> createMapperDataset(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, Supplier<? extends org.apache.jena.sparql.core.DatasetGraph> datasetGraphSupplier) Create a function that runs the given statements on a connection and yields a flow of datasets whereas each dataset corresponds to a single named graph (and thus only contains a single named graph).- Parameters:
stmts-sparqlResultVisitor-datasetGraphSupplier-- Returns:
-
createMapperJson
public static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<org.apache.jena.atlas.json.JsonObject>> createMapperJson(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) -
createMapperToSparqlResultEx
public static Function<org.apache.jena.rdfconnection.RDFConnection,SPARQLResultEx> createMapperToSparqlResultEx(OutputMode outputMode, Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor) -
createMapperJq
public static Function<org.apache.jena.rdfconnection.RDFConnection,io.reactivex.rxjava3.core.Flowable<com.google.gson.JsonElement>> createMapperJq(Collection<? extends SparqlStmt> stmts, SPARQLResultExVisitor<?> sparqlResultVisitor, int depth, boolean flat)
-