2015-08-14 81 views
0

我遇到了簡單匹配的問題。 例如, 我有一些節點是否有可能通過id匹配節點,該節點位於其他節點或關係的屬性中?

start startNode = node(0) 

它與另一個的關係。其中一個關係的屬性是id(thirdNode)的idOfThirdNode。

我發現start point = node()只得到數字作爲參數和任何toInt(rel.idOfThirdNode)不可用在所有的,由其他財產match(point:_Node) where id(point) = rel.idOfThirdNode

查找節點是沒有問題的。但是不可能設置新的重複id屬性。

有這個問題的任何決定或只保存模型中的這個屬性,並開始與此屬性,如id的新匹配?

編輯: 早些時候,我曾在此類行動的結果是:在某些領域

start startNode = node({0}) 
optional match startNode-[r:REL]-(relNode: _Node) 
return distinct startNode, id(r) as linkId, id(relNode) as nodeId, 
r.idOfthirdNode as point 

漂亮的餐桌上零點

______________________________________ 
| StartNode| linkId | nodeId | point | 
-------------------------------------- 
| startNode| 1 | 2 | null | 
| info |  |  |  | 
------------------------------------- 
| startNode| 3 | 4 | 5 | 
| info |  |  |  | 

但現在這個「裏」讓禁用所有空匹配

start startNode = node({0}) 
optional match startNode-[r:REL]-(relNode: _Node), (pointNode:_Node) 
where id(pointNode) = r.idOfthirdNode 
return distinct startNode, id(r) as linkId, id(relNode) as nodeId, 
collect({pointNode.name, id:id(pointNode)}) as point 

,我只獲得第二條線。

回答

0

好這應該爲你工作:

START startNode = node(0) 
MATCH (startNode)-[rel]->(secondNode), (thirdNode:_Node) 
WHERE ID(thirdNode) = rel.idOfThirdNode 
RETURN startNode, secondNode, thirdNode 
+0

謝謝,它幫助我 –

1

你應該能夠做這樣的事情:

MATCH (point:_Node), (node:Label) 
WHERE ID(point) = node.idOfThirdNode 
RETURN * 

但我從來沒有真正看到了這是因爲關係是如此遠低於國外鍵

相關問題