Skip to content

Commit 27da70c

Browse files
committed
Add Longest Path Stream
1 parent f62ba5a commit 27da70c

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

procedures/pushback-procedures-facade/src/main/java/org/neo4j/gds/procedures/algorithms/pathfinding/PushbackPathFindingProcedureFacade.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.neo4j.gds.api.NodeLookup;
2727
import org.neo4j.gds.api.ProcedureReturnColumns;
2828
import org.neo4j.gds.applications.algorithms.machinery.MemoryEstimateResult;
29+
import org.neo4j.gds.dag.longestPath.DagLongestPathStreamConfig;
2930
import org.neo4j.gds.dag.topologicalsort.TopologicalSortStreamConfig;
3031
import org.neo4j.gds.pathfinding.PathFindingComputeBusinessFacade;
3132
import org.neo4j.gds.paths.astar.config.ShortestPathAStarStreamConfig;
@@ -370,7 +371,25 @@ public Stream<KSpanningTreeWriteResult> kSpanningTreeWrite(String graphName, Map
370371

371372
@Override
372373
public Stream<PathFindingStreamResult> longestPathStream(String graphName, Map<String, Object> configuration) {
373-
return Stream.empty();
374+
var config = configurationParser.parseConfiguration(
375+
configuration,
376+
DagLongestPathStreamConfig::of
377+
);
378+
379+
var pathFindingResultTransformerBuilder = new PathFindingStreamResultTransformerBuilder(
380+
closeableResourceRegistry,
381+
nodeLookup,
382+
procedureReturnColumns.contains("path")
383+
);
384+
385+
return businessFacade.longestPath(
386+
GraphName.parse(graphName),
387+
config.toGraphParameters(),
388+
config.toParameters(),
389+
config.jobId(),
390+
config.logProgress(),
391+
pathFindingResultTransformerBuilder
392+
).join();
374393
}
375394

376395
@Override

0 commit comments

Comments
 (0)