簡體   English   中英

密碼allShortestPaths僅返回一條路徑嗎?

[英]Cypher allShortestPaths just return one path?

背景說明:

  • 我有一個像下面的圖: 在此處輸入圖片說明

  • 我想找到節點A和節點F之間的所有路徑(就像我可以從A到達F的方式一樣),然后找到如下所示的Cypher:

 MATCH (start:kg:test), (end:kg:test), p = allShortestPaths((start)-[*..8]-(end)) where start.value = 'A' and end.value = 'F' RETURN start, end, p 
  • 如我所料,此查詢將返回整個圖形,但僅返回A-> F(使用shortestPath函數返回相同的內容),例如下面所示: 在此處輸入圖片說明

問題

  • 為什么該查詢不會返回圖形中的所有不同路徑?
  • 我會濫用allShortestPaths函數嗎?
  • 如何獲取從節點A到節點F的所有路徑?

謝謝

shortestPath()返回節點之間的最短路徑(如果有多個相同大小的路徑,則僅返回找到的第一個路徑)。

如果有可能已被退回多路徑shortestPath()他們都將具有相同的大小),然后allShortesPaths()將返回他們。

如果只想查找兩個節點之間的所有可能路徑(路徑的長度無關緊要,根本就不關心最短的路徑),則不需要使用這兩個函數。

MATCH p=(start:kg:test)-[*..8]-(end:kg:test)
    where start.value = 'A' and end.value = 'F'
    RETURN start, end, p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM