package org.aksw.jena_sparql_api.sparql_path2; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.aksw.jena_sparql_api.core.QueryExecutionFactory; import org.aksw.jena_sparql_api.utils.model.Directed; import org.aksw.jena_sparql_api.utils.model.TripletPath; import org.apache.jena.graph.Node; import org.apache.jena.sparql.path.Path; public class SparqlKShortestPathFinderMem implements SparqlKShortestPathFinder { protected QueryExecutionFactory qef; public SparqlKShortestPathFinderMem(QueryExecutionFactory qef) { this.qef = qef; } @Override public Iterator<TripletPath<Node, Directed<Node>>> findPaths(Node start, Node end, Path path, Long k) { final List<NestedPath<Node, Node>> rdfPaths = new ArrayList<>(); PathExecutionUtils.executePath(path, start, end, qef, p -> { rdfPaths.add(p); boolean r = k == null ? false : rdfPaths.size() >= k; return r; }); Iterator<NestedPath<Node, Node>> result = rdfPaths.iterator(); //return result; return null; } }