在这种情况下,我把house 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
为什么我迭代节点并将其中的一个属性作为参数传递。有机会合并这两个查询吗?
有人能帮我吗?
发布于 2013-10-13 08:25:45
可以在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"}
发布于 2013-10-12 10:56:38
要组合查询,可以使用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
https://stackoverflow.com/questions/19315163
复制相似问题