有没有办法计算在类型
的查询中从allShortestPaths找到的路径总数Match (n:Person{personid:123}), (m:Person{personid:456}), p =allShortestPaths(n-[r*1..6]-m) with reduce(weight = 0, rel in rels(p) | weight + rel.weight) AS weight, n, m,p return n, m, p,weight order by weight limit 25
答案 0 :(得分:3)
这是一种方法(通过收集路径,获取集合的长度,然后将集合展开回路径行)。
MATCH (n:Person { personid:123 }),(m:Person { personid:456 }), p =allShortestPaths(n-[r*1..6]-m)
WITH n, m, COLLECT(p) AS paths
WITH n, m, paths, LENGTH(paths) AS totalPaths
UNWIND paths AS p
RETURN n, m, totalPaths, p, reduce(weight = 0, rel IN rels(p)| weight + rel.weight) AS weight
ORDER BY weight
LIMIT 25