使用Reduce函数时,排除没有属性的节点

时间:2013-04-15 11:01:46

标签: neo4j cypher

我有一个工厂节点和一堆使用工厂创建的节点。工厂是我的道路的起点。我想转到所有创建的节点,并对一个属性执行一些算术并总计结果。问题是工厂节点没有属性,我无法弄清楚如何从我的路径中删除该节点或在reduce函数期间忽略它。这是我查询的简化形式。

START FactoryNode = node(30)MATCH Path = FactoryNode - [:CREATEDNODES] - > CreatedNode RETURN reduce(total = 0,n in nodes(Path):total + n.Score);

服务器生气,因为FactoryNode没有属性Score。

请帮忙!

2 个答案:

答案 0 :(得分:1)

不确定是否可以在reduce表达式中使用函数,但是可以尝试

START FactoryNode = node(30)
MATCH Path = FactoryNode -[:CREATEDNODES]-> CreatedNode
RETURN reduce(total = 0, n in nodes(Path) : total + COALESCE(n.Score?,0));

答案 1 :(得分:0)