Hi there, I'm having performance issues with Neo4J while using GraphAlgoFactory to find a path between two nodes. I want to calculate the cost between the two nodes (each relation type has a different cost), with the maximum depth of 3 (paths with more length can be discarded). I'm using the findAllPaths method, since the findShorthestPath method takes into account the path length and not the cost associated to it. But this is not the ideal solution, because of the performance issues I'm having.
I'm thinking about using something like the Dijkstra algorithm, but with a maximum depth of 3. I already took a look at the Neo4J source code and found the class *org.neo4j.graphalgo.impl.shortestpath.Dijkstra, *which I have tried to use with limitMaxRelationShipsToTraverse set to 3. Most of the times it doesn't found any path, and throws the exception: java.lang.RuntimeException: Trying to decrease to a greater key at org.neo4j.graphalgo.impl.util.FibonacciHeap.decreaseKey(FibonacciHeap.java:318) at org.neo4j.graphalgo.impl.shortestpath.DijkstraPriorityQueueFibonacciImpl.decreaseValue(DijkstraPriorityQueueFibonacciImpl.java:103) at org.neo4j.graphalgo.impl.shortestpath.Dijkstra$DijstraIterator.next(Dijkstra.java:393) at org.neo4j.graphalgo.impl.shortestpath.Dijkstra.calculate(Dijkstra.java:516) Is this class appropriate for what I want to accomplish? I also would like to know if this is a good solution for the discribed problem, or if there is a better solution out there. Best regards, Joel Filipe Antunes Cordeiro jkorde...@gmail.com j...@student.dei.uc.pt _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user