Finding K-Shortest Path in Neo4j

shortest-path

(Arpit) #1

Facing Problem in Finding K-shortest path in neo4j among 2M+ nodes,2M+ relationships, I have indexed data on node id and name.

Query :

MATCH p = (s:Test)-[:to*1..5]->(e:Test) WHERE s.name = 'ABC' RETURN *, relationships(p),sum(reduce(sum=0,x in relationships(p) |sum+x.count)) as tt ORDER BY tt desc limit 4

Tried to find top-4 paths based on cost with at max 5 level and starting node is given.
This query is taking too much time.is there any other better way to achieve this ?


(Ardan7779) #2

Try Return to be a path, not use *.


(Andrew Bowman) #3

You may want to try using K-shortest paths from the graph algorithms library.