neo4j allshortestpaths查詢路徑不准確問題


基本語法

使用neo4j cypher查詢語言的小伙伴都知道cypher提供了兩個查詢最短路徑的特殊函數shortestPath和allShortestPath. 在cypher的語法手冊里也可以看到兩個函數的作用解釋,顧名思義allShortestPath應該就是可以查詢兩個節點間指定層數內的所有最短路徑。

現象

在真實測試中發現,allShortestPath在已有兩點間短路徑情況下,會忽略兩點之間額外更長的路徑。
如下所示:楊紫和林心如之間有A、B、C三條路徑,allshortestpaths只能查出來A和B兩條(同等長度),較長的C路徑被忽略。

建議:

    如果想要獲取兩點間指定層數內的所有路徑,建議直接使用關系查詢。(要注意數據量較大時會存在性能問題)

MATCH p=(n1 {thingId:"5d47e1412227360001b516a7"})-[r*0..6]-(n2 {thingId:"5d47e1432227360001b516bb"})

RETURN p

                                                <div class="ad-wrap" style="margin-top: 12px;">
                                                    <div id="blog-title-ad" data-traceid="blog_ali" data-tracepid="blogdown" style="">

原文地址:https://my.oschina.net/sunyouling/blog/3084152


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM