Class DatasetFlowOps

java.lang.Object
org.aksw.jena_sparql_api.rx.dataset.DatasetFlowOps

public class DatasetFlowOps extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.google.gson.Gson
    GSON instance configured for Dataset and Node classes.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <I, O, V1, V2>
    Function<I,O>
    createItemMapper(Function<? super V1,? extends V2> valueMapper, Function<? super I,? extends V1> getter, BiFunction<? super I,? super V2,O> setter)
    Create a single composite mapper from a 'getter' that extracts a value, a 'mapper' that transforms the value and a 'setter' that returns the final value based on the initial item and the transformed value.
    static <I, O, V1, V2>
    Function<I,List<O>>
    createItemMultiMapper(Function<? super V1,? extends Iterable<? extends V2>> valueMapper, Function<? super I,? extends V1> getter, BiFunction<? super I,? super V2,O> setter)
     
    static <T, X> io.reactivex.rxjava3.core.FlowableTransformer<T,X>
    createMapperDataset(Collection<? extends org.aksw.jenax.stmt.core.SparqlStmt> sparqlStmts, Function<? super T,? extends org.apache.jena.query.Dataset> getDataset, BiFunction<? super T,? super org.apache.jena.query.Dataset,X> setDataset, Supplier<? extends org.apache.jena.sparql.core.DatasetGraph> datasetGraphSupplier, Consumer<org.apache.jena.sparql.util.Context> contextHandler)
    Crate a mapper that from a set of items can extract Datasets, transform them, and set them back
    static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.query.Dataset,org.apache.jena.query.Dataset>
    createSystemSorter(org.aksw.commons.io.syscall.sort.SysSort cmdSort, org.aksw.jenax.stmt.parser.query.SparqlQueryParser keyQueryParser)
     
    static <T> T
    deserializeFromSort(com.google.gson.Gson gson, String line, Class<T> clazz)
     
    static io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.Dataset>
    mergeConsecutiveDatasets(io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.Dataset> in)
     
    static String
    serializeForSort(com.google.gson.Gson gson, org.apache.jena.graph.Node key, Object data)
    Serialize a key with a given data object on a single line.
    static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.query.Dataset,org.apache.jena.query.Dataset>
    sysCallSort(Function<? super org.apache.jena.rdfconnection.SparqlQueryConnection,org.apache.jena.graph.Node> keyMapper, List<String> sysCallArgs)
    Return a transformer that applies sorting using a system call
    static <T, K> io.reactivex.rxjava3.core.FlowableTransformer<T,T>
    sysCallSortCore(Function<T,K> keyMapper, List<String> sysCallArgs, BiFunction<K,T,String> serializer, Function<String,T> deserializer)
    Flow making use of line-based sort system call

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • GSON

      public static final com.google.gson.Gson GSON
      GSON instance configured for Dataset and Node classes. Used in serialization of datasets
  • Constructor Details

    • DatasetFlowOps

      public DatasetFlowOps()
  • Method Details

    • serializeForSort

      public static String serializeForSort(com.google.gson.Gson gson, org.apache.jena.graph.Node key, Object data)
      Serialize a key with a given data object on a single line. The provided gson instance needs to have appropriate TypeAdapters registered for the given object. Writes out escape(key)"\t"escape(jsonOf(data))
      Parameters:
      key -
      dataset -
      format -
      reosurces -
      Returns:
    • deserializeFromSort

      public static <T> T deserializeFromSort(com.google.gson.Gson gson, String line, Class<T> clazz)
    • createSystemSorter

      public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.query.Dataset,org.apache.jena.query.Dataset> createSystemSorter(org.aksw.commons.io.syscall.sort.SysSort cmdSort, org.aksw.jenax.stmt.parser.query.SparqlQueryParser keyQueryParser)
      Parameters:
      cmdSort -
      keyQueryParser -
      format - Serialization format when passing data to the system sort command
      Returns:
    • sysCallSort

      public static io.reactivex.rxjava3.core.FlowableTransformer<org.apache.jena.query.Dataset,org.apache.jena.query.Dataset> sysCallSort(Function<? super org.apache.jena.rdfconnection.SparqlQueryConnection,org.apache.jena.graph.Node> keyMapper, List<String> sysCallArgs)
      Return a transformer that applies sorting using a system call
      Parameters:
      keyMapper -
      sysCallArgs -
      Returns:
    • mergeConsecutiveDatasets

      public static io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.Dataset> mergeConsecutiveDatasets(io.reactivex.rxjava3.core.Flowable<org.apache.jena.query.Dataset> in)
    • sysCallSortCore

      public static <T, K> io.reactivex.rxjava3.core.FlowableTransformer<T,T> sysCallSortCore(Function<T,K> keyMapper, List<String> sysCallArgs, BiFunction<K,T,String> serializer, Function<String,T> deserializer)
      Flow making use of line-based sort system call
      Type Parameters:
      T -
      K -
      Parameters:
      keyMapper -
      sysCallArgs -
      serializer -
      deserializer -
      Returns:
    • createItemMapper

      public static <I, O, V1, V2> Function<I,O> createItemMapper(Function<? super V1,? extends V2> valueMapper, Function<? super I,? extends V1> getter, BiFunction<? super I,? super V2,O> setter)
      Create a single composite mapper from a 'getter' that extracts a value, a 'mapper' that transforms the value and a 'setter' that returns the final value based on the initial item and the transformed value.
      Type Parameters:
      I -
      O -
      V1 -
      V2 -
      Parameters:
      valueMapper -
      getter -
      setter -
      Returns:
    • createItemMultiMapper

      public static <I, O, V1, V2> Function<I,List<O>> createItemMultiMapper(Function<? super V1,? extends Iterable<? extends V2>> valueMapper, Function<? super I,? extends V1> getter, BiFunction<? super I,? super V2,O> setter)
    • createMapperDataset

      public static <T, X> io.reactivex.rxjava3.core.FlowableTransformer<T,X> createMapperDataset(Collection<? extends org.aksw.jenax.stmt.core.SparqlStmt> sparqlStmts, Function<? super T,? extends org.apache.jena.query.Dataset> getDataset, BiFunction<? super T,? super org.apache.jena.query.Dataset,X> setDataset, Supplier<? extends org.apache.jena.sparql.core.DatasetGraph> datasetGraphSupplier, Consumer<org.apache.jena.sparql.util.Context> contextHandler)
      Crate a mapper that from a set of items can extract Datasets, transform them, and set them back
      Type Parameters:
      T -
      X -
      Parameters:
      pm -
      sparqlStmts -
      getDataset -
      setDataset -
      contextHandler -
      Returns:
      Throws:
      FileNotFoundException
      IOException