我得到了一个圆形关系图。因此,我的图表中的每个节点之间可能有两个不同的方向关系(传出和传入)。我试图在不使用shortestpath()
的情况下找到两个节点之间的路径。如何在条件中的每个节点之间显示只设置1个关系的条件?这是我的疑问:
Match p = (A)-[r*]-(b) return p
我应该写什么部分?
答案 0 :(得分:0)
所以你真正想要的是最短的加权路径。 Cypher还没有直接支持这个,但您可以像这样查询
MATCH (start:Point {id: '1'}), (end:Point {id: '2'})
MATCH p=(start)-[:GO_TO*1..25]->(end)
WITH p,reduce(s = 0, r IN rels(p) | s + r.myValueProp) AS dist
RETURN p, dist ORDER BY dist DESC LIMIT 1