适用于所有关系类型的Dijkstra APOC算法

时间:2019-07-09 15:24:39

标签: neo4j cypher neo4j-apoc

我对apoc.algo.dijkstra算法有疑问。该函数的一般视图是:

 apoc.algo.dijkstra(startNode, endNode, 'KNOWS|<WORKS_WITH|IS_MANAGER_OF>', 
 'distance') YIELD path, weight

作为参数,我们有开始节点,结束节点,关系名称和成本函数名称。

我的问题是,如果我确实有多种类型的关系,并且提及所有这些关系是不可行的,因为我可能需要添加其他关系。是否可以做类似的事情:

 apoc.algo.dijkstra(startNode, endNode, *, 'distance') YIELD path, weight

其中*代表所有可能的关系类型。我已经尝试过,但是得到的回应是空的。我的目标是将算法应用于特定数据库实例内的所有可能的关系类型。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以传递null''(空字符串)代替relationshipTypesAndDirections,它将考虑所有可能的关系和方向类型。

赞:

CALL apoc.algo.dijkstra(startNode, endNode, '', 'distance') YIELD path, weight

OR

CALL apoc.algo.dijkstra(startNode, endNode, null, 'distance') YIELD path, weight