Class SparqlMappers

java.lang.Object
org.aksw.jena_sparql_api.rx.io.resultset.SparqlMappers

public class SparqlMappers extends Object
Create functions that run SPARQL statements on a given connection and yield flowables of various result items
Author:
raven
  • 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

      public static <I extends org.apache.jena.query.Dataset, O> Function<I,O> mapDatasetToConnection(Function<? super org.apache.jena.rdfconnection.RDFConnection,O> mapper)
    • applyContextHandler

      public static Function<org.apache.jena.rdfconnection.RDFConnection,org.apache.jena.rdfconnection.RDFConnection> applyContextHandler(Consumer<org.apache.jena.sparql.util.Context> contextHandler)
    • 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)