在这种情况下,iam将房子No's作为节点,我想迭代它们并将它们作为参数传递给人和房子之间的关系不在这里是代码..
START n=node(*)
WHERE
HAS(n.house_no)
RETURN n;
从上面我将获得house no节点,然后我想将它们传递给另一个查询
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
在上面的查询中我想传递house no的节点属性ex:house_no
为什么我迭代节点并在其中传递属性作为参数.. 有没有机会结合这两个问题?
任何人都可以帮助我吗?
答案 0 :(得分:2)
要合并您的查询,您可以使用WITH
。来自documentation:
在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
答案 1 :(得分:2)
您可以在start子句中传递索引查找的参数,如下所示:
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"}