neo4j将节点转换为节点列表

时间:2016-08-06 20:44:47

标签: neo4j cypher

假设我们有这个查询:

match (n:Intersection) WHERE NOT (n)<-[:RTREE_REFERENCE]-() RETURN n

它返回节点,但我们如何将其作为返回的所有节点的 LIST 返回?即[node1,node2,node3]。我正在使用的过程需要一个输入参数,该参数需要采用集合/列表格式

match (n:Intersection) WHERE NOT (n)<-[:RTREE_REFERENCE]-() with n  CALL spatial.addNodes("network",n) yield node return node

Type mismatch: expected Collection<Node> but was Node 

1 个答案:

答案 0 :(得分:4)

如果您将查询更改为:

MATCH (n:Intersection) 
WHERE NOT (n)<-[:RTREE_REFERENCE]-() 
RETURN COLLECT(n)

然后它将返回节点列表。

所以第二个查询看起来像这样:

MATCH (n:Intersection) 
WHERE NOT (n)<-[:RTREE_REFERENCE]-() 
WITH COLLECT(n) AS nodesList
CALL spatial.addNodes("network", nodesList) YIELD node
RETURN node