[英]nodes iterating in cypher query of Neo4j
在这种情况下,iam将房屋编号作为节点,我想对其进行迭代,并将它们作为创建人与房屋编号之间的关系的参数进行传递,这是代码。
START n=node(*)
WHERE
HAS(n.house_no)
RETURN n;
从上面我会得到房子的节点,然后我想将它们传递给另一个查询
START
n=node:node_auto_index(house_no="4-10"),
n2=node:node_auto_index(houseNo="4-10")
WHERE
HAS(n.house_no) AND HAS(n2.houseNo) AND n.house_no = n2.houseNo
create UNIQUE
(n2)-[:LIVESIN]->(n)
return n2.name
在上面的查询中,我想传递房屋号的节点属性ex:house_no
我如何迭代节点并在其中传递属性作为参数。是否有机会组合这两个查询?
谁能帮我?
要合并查询,可以使用WITH
。 从文档中 :
在Cypher中,
WITH
子句用于将结果从一个查询传递到下一个查询。
我从来没有尝试过基于“管道结果”进行索引查找,这会起作用:
START n=node(*)
WHERE HAS(n.house_no)
WITH n.house_no as house_no
START n2=node:node_auto_index(houseNo=house_no)
CREATE UNIQUE n2-[:LIVESIN]->n
RETURN n2.name
您可以在start子句中为index-lookup传递参数,如下所示:
START
n =node:node_auto_index(house_no={house_no}),
n2=node:node_auto_index(houseNo={house_no})
WHERE
HAS(n.house_no) AND HAS(n2.house_no) AND n.house_no = n2.houseNo
CREATE UNIQUE
(n2)-[:LIVESIN]->(n)
RETURN n2.name
and then pass a map like
{house_no:"4-10"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.