簡體   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