Class DatasetFlowOps
java.lang.Object
org.aksw.jena_sparql_api.rx.dataset.DatasetFlowOps
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.google.gson.GsonGSON instance configured forDatasetandNodeclasses. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <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.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 backstatic 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> TdeserializeFromSort(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 StringserializeForSort(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 callstatic <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
-
Field Details
-
GSON
public static final com.google.gson.Gson GSONGSON instance configured forDatasetandNodeclasses. 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
-
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, Function<I,V1, V2> 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
-
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:
FileNotFoundExceptionIOException
-