Hi Michael, This looks just the ticket. Having a look through the documentation it seems to solve a lot of my Neo4j Cypher woes, wish I had heard of it earlier.
Cheers, Ben On Friday, 16 September 2016 16:39:25 UTC+1, Michael Hunger wrote: > Hi Ben, > > it is exposed as user defined procedure in the apoc library. > > You can find it here: > https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_graph_algorithms_work_in_progress > > Install Instructions (just download and drop the jar into > NEO4J_HOME/plugins) are in the readme: > > https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_download_latest_release_for_the_regular_user > > > > apoc.algo.dijkstra(startNode, endNode, 'KNOWS|<WORKS_WITH|IS_MANAGER_OF>', > 'distance') YIELD path, weight > > run dijkstra with relationship property name as cost function > > apoc.algo.dijkstraWithDefaultWeight(startNode, endNode, > 'KNOWS|<WORKS_WITH|IS_MANAGER_OF>', 'distance', 10) YIELD path, weight > > run dijkstra with relationship property name as cost function and a > default weight if the property does not exist > > > > > In Neo4j 3.0+ shortest path functions pull in predicates into the > evaluation, so something like > > WHERE reduce(sum = 0 , x in rels(path) | sum + x.weight ) < 100 > > should work > > > > > On Fri, Sep 16, 2016 at 12:47 PM, Ben Campbell <campb...@hotmail.com > <javascript:>> wrote: > >> Anyone know when the Djikstra/A* with cost implementation is being >> implemented in cypher? It appears to have been accessible from the Web API >> for a long time, but no easy way to use it when using bolt? >> >> Is there a reliable workaround? I basically want to call shortestPath but >> specify a cost parameter stored on each relationship. I've seen workarounds >> on stackoverflow, but these appear to work after obtaining all the results >> so become inefficient? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Neo4j" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to neo4j+un...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.