我有一个包含两种关系类型的图表:
T1
代表单向街道T2
代表双向街道。 在neo4j文档的建议中,我想避免为双向街道创建两个关系,因为它会减慢shortestPath功能。
但是有没有办法在T1
函数中遍历T2
方向性和shortestPath
双向?
需要注意的是,由于T1
关系,我无法使用无向搜索!
答案 0 :(得分:2)
使用cypher shortespath
功能,您无法执行此操作。
因此,如果您想使用此功能,则必须为T2
创建两个关系。
但是当我看到street
和shortestpath
时,我假设您正在做一些路由算法,因此shortespath函数可能不是最优化的。
如果您有复杂的路由算法或图表算法进入APOC (https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_graph_algorithms_work_in_progress),您应该查看图表遍历API {1}}或AStar
程序。
这是您正在寻找来自APOC的dijkstraWithDefaultWeight
算法的查询示例:
apoc.algo.dijkstraWithDefaultWeight