繁体   English   中英

Neo4j的密码查询中迭代的节点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM