我有一個雙關係(頂點d) - [REL1] - >(頂點DB) - [REL2](頂點d)Neo4j的最短路徑並採用雙關係
我使用此需要兩個元件之間的最短路徑由d關係
試圖
MATCH (d:D{d_pk:1})-[r1:DgoDB*]->()
MATCH p = allShortestPaths((ALL (RELATIONSHIP IN r1)->()) - [r2:DBgoD*] -> (to:D))
WHERE (to.d_pk = 70258)
RETURN d, r1, p
但卻沒有奏效。
有沒有人有任何想法?
你能澄清你的模式多一點?你想找到的路徑是由兩種關係組成的(DgoDB和:DBgoD)以任何順序組成的?或者,它首先是一個路徑:DgoDB關係,然後剩下的路徑是:DBgoD關係?還是完全是另一回事? – InverseFalcon
原始數據庫是關係型的。 Person表格的兩個元素和Type表格的元素之間存在3級關係[linked_to]。這種關係表明Person的元素與Person的另一個元素相連,並且類型爲Type,朋友,父親,兒子,母親,同學等; 在爲圖數據庫建模時,Person發起了頂點D,類型頂點B和[linked_to]關係起源的頂點數據庫以及邊[DgoDB],[DBgoB]和[DBgoD]。 現在我需要找到D的兩個元素之間的最短路徑,所以我需要從D-> DB然後DB-> D –
我仍然試圖解析這個。同時,根據實際建模的內容選擇具有實際意義的節點標籤和關係類型是一個好主意。圖形數據庫往往善於更好地表達數據的含義以及數據的連接方式,但選擇過於抽象的標籤和類型會妨礙這些含義和連接的清晰。 – InverseFalcon