我有一個查詢,我不確定如何實施或者如果在cypher
中有效。無論如何,這是我想要做的。Neo4j密碼查詢已知路徑
我基本上是這樣的圖:
我想所有的nodes
/relationships
從1
到3
(注:空節點可以是任意數量的節點)。我也想要所有的(如果有的話),來自最後兩個節點的入邊和只有最後兩個不在原路徑中的節點。在這種情況下,也應該添加紅色的邊緣。
我已經知道我想要的路徑。所以在這個例子中,我會給節點ID 1, ..., 2, 3
,我想我知道如何獲得第一部分的路徑。
MATCH (n)-->() WHERE n.nid IN ['1', '...', '2', '3'] RETURN n
我只是不知道如何獲得路徑中最後兩個節點的紅色邊緣。另外,我沒有給出節點ID 4和5.我們可以假定連接1, ..., 2, 3
的邊緣全部具有相同的label
,並且所有其他邊緣具有不同的label
。
我想我需要使用merge
,但不知道如何去做。
或者如果有人知道如何在gremlin中做到這一點,我全部都是耳朵。
這讓我更接近我需要的東西,但是我遇到了4-2之間的關係不存在但是5-3之間的關係並沒有從查詢返回的問題。如果我從查詢中刪除4-2的部分,則返回節點和rels。看起來這個查詢假設rel 4-2在那裏,否則不會返回任何東西。有沒有告訴密碼的方法,我不在乎它是否在那裏;返回你找到的東西?謝謝您的幫助! – Jeff 2015-03-31 17:41:14
我已更新我的答案,使4-2和5-3關係可選。 – cybersam 2015-03-31 18:30:27