我有一個以循環方式建模像這樣的鏈接列表時終止條件直到我到達列表的結尾/開始。 (用戶節點)Neo4j的Cypher支架使用可變水平路徑
當我運行以下查詢:
MATCH (u:USER)
WITH u
MATCH (nl:NODELINK)-[:LINK*]->(m)
WHERE nl.linkId = 'bb' AND m <> u
RETURN m
它返回我下面的節點
(3:NODELINK {linkId:'cc'})
(4:NODELINK {linkId:'dd'})
(1:NODELINK {linkId:'aa'})
(2:NODELINK {linkId:'bb'})
正如你可以看到我的查詢環繞,並開始從返回節點名單的開始。我想在用戶節點終止,只有列表中的
(3:NODELINK {linkId:'cc'})
(4:NODELINK {linkId:'dd'})
我創建了一個圖表結束之前返回的節點是demonstrates the issue here
如何查詢,以便在節點鏈接開始感興趣並在所有節點到達用戶節點之前返回?
就是這樣。有趣的是,我並不知道你可以通過在路徑中指定linkId來進行匹配(不使用WHERE linkId ='cc') –
我有關於解包路徑以允許進一步匹配的問題,http:// stackoverflow.com/questions/22184924/neo4j-cypher-how-do-you-unpack-nodes-from-a-path-to-allow-for-further-matching –