在此Cypher查询中,我想在图表中对路径上的所有权重求和:
MATCH p=(n:person)-[r*2..3]->(m:person)
WHERE n.name = 'alice' and m.name = 'bob'
WITH REDUCE(weights=0, rel IN r : weights + rel.weight) AS weight_sum, p
return n.name, m.name, weight_sum
LIMIT 10
在这个查询中,我希望收到一个包含3列的表:n.name,m.name(在所有行中相同)和weight_sum - 根据特定路径中的权重和。 但是,我收到了这个错误:
reduce(...) requires '| expression' (an accumulation expression) (line 3,
column 6 (offset: 89))
"WITH REDUCE(weights=0, rel IN r : weights + rel.weight) AS weight_sum, p"
我显然想念一些微不足道的事情。但是什么?
答案 0 :(得分:1)
不应该是
REDUCE(weights=0, rel IN r | weights + rel.weight) AS weight_sum
根据{{3}}中的文档(使用竖管而不是冒号)?
reduce(totalAge = 0, n IN nodes(p)| totalAge + n.age) AS reduction
希望这有帮助。
此致 汤姆