package org.aksw.jena_sparql_api.core.utils; import java.io.Closeable; import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.aksw.jena_sparql_api.core.ResultSetCloseable; import com.google.common.collect.Iterators; import org.apache.jena.graph.Triple; import org.apache.jena.query.ResultSet; import org.apache.jena.query.ResultSetFactory; import org.apache.jena.sparql.engine.binding.Binding; import org.apache.jena.sparql.engine.iterator.QueryIter; import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper; public class ResultSetUtils { public static ResultSetCloseable tripleIteratorToResultSet(Iterator<Triple> tripleIt, Closeable closeable) { Iterator<Binding> bindingIt = Iterators.transform(tripleIt, F_TripleToBinding.fn); QueryIter queryIter = new QueryIterPlainWrapper(bindingIt); List<String> varNames = Arrays.asList("s", "p", "o"); ResultSet baseRs = ResultSetFactory.create(queryIter, varNames); ResultSetCloseable result = new ResultSetCloseable(baseRs, closeable); return result; } }