Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 使用Reduce函数时排除没有属性的节点_Neo4j_Cypher - Fatal编程技术网

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

Neo4j 使用Reduce函数时排除没有属性的节点,neo4j,cypher,Neo4j,Cypher,我有一个工厂节点和一组使用工厂创建的节点。工厂是我人生道路的起点。我想转到所有创建的节点,对一个属性执行一些算术运算,并合计结果。问题是factory节点没有该属性,我不知道如何从路径中删除该节点或在reduce函数期间忽略它。这是我的查询的简化形式 开始FactoryNode=node(30)匹配路径=FactoryNode-[:CREATEDNODES]->CreatedNode返回reduce(总计=0,节点中的n个(路径):总计+n.Score) 服务器变得疯狂,因为FactoryNod

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

开始FactoryNode=node(30)匹配路径=FactoryNode-[:CREATEDNODES]->CreatedNode返回reduce(总计=0,节点中的n个(路径):总计+n.Score)

服务器变得疯狂,因为FactoryNode没有属性分数


请帮忙

考虑检查属性,

考虑检查属性,

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

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

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

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

是的,这是一个很好的方法。或者,如果是更复杂的事情,你可以在减少之前进行过滤。是的,这是一个很好的方法。或者,如果是更复杂的事情,你可以在减少之前进行过滤。