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 <campbell...@hotmail.com>
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+unsubscr...@googlegroups.com.
> 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.

Reply via email to