2016-08-04 32 views
0

我有Node4j中的節點集合。如何訪問foreach中個別節點內的屬性?如何訪問Node4j集合中的屬性

MATCH(bal:BalanceSheetItemBalance) 
WITH COLLECT(bal) as bals 
FOREACH(i in RANGE(0,length(bals)-1) | 
MATCH(val:ValueBasisLayerBalance{BalanceSheetItemID:(bals[i].BalanceSheetItemID}) 
CREATE (bals[i])-[:Layers]->(val)) 

通過上述技術訪問給我一個語法錯誤。

Invalid input '.': expected whitespace, '[', "=~", IN, STARTS, ENDS, CONTAINS, IS, '^', '*', '/', '%', '+', '-', '=', "<>", "!=", '<', '>', "<=", ">=", AND, XOR, OR or ')' (line 4, column 61 (offset: 160)) 
"MATCH(val:ValueBasisLayerBalance{BalanceSheetItemID:(bals[i].BalanceSheetItemID})" 
                  ^

我需要匹配BalanceSheetItemID在BALS [I]與BalanceSheetItemID在ValueBasisLayerBalance節點。有沒有其他方法可以訪問集合中節點內的特定屬性?

謝謝。

回答

1

我不確定我是否能正確理解您的查詢,但我認爲您想創建一個與BalanceSheetItemID具有相同BalanceSheetItemBalanceValueBasisLayerBalance節點之間的關係?

嘗試:

MATCH (bal:BalanceSheetItemBalance), (val:ValueBasisLayerBalance) 
WHERE bal.BalanceSheetItemID = val.BalanceSheetItemID 
CREATE (bal)-[:LAYERS]->(val) 
+0

謝謝。這工作。 –