我很努力地找到一種方法來查找兩個節點之間的所有路徑(到最大長度),同時通過對將要成爲關聯對象的Neo4j進行排序來控制路徑探索探索(由他們的一個屬性)。Neo4j Cypher查找探索排序關係的所有路徑
所以要清楚,可以說我想找到兩個節點K之間的最佳路徑,直到最大長度M.查詢會像:
match (source{name:"source"}), (target{name:"target"}),
p = (source)-[*..M]->(target)
return p order by length(p) limit K;
到目前爲止好。但讓我們說路徑的關係有一個叫做「優先級」的屬性。我想要的是編寫一個查詢,告訴Neo4j路徑探索的每一步,首先應該探索哪些關係。
我知道,當我使用java庫和嵌入式數據庫(通過實現PathExpander接口並將它作爲Java中的GraphAlgoFactory.allSimplePaths()函數的輸入)可能)。 但現在我試圖找到一種方法,在使用Bolt或REST API的服務器模式數據庫訪問中執行此操作。
有沒有辦法在服務器模式下做到這一點?或者在服務器模式下訪問圖形時可能使用Java庫函數?
怎麼樣'APOC'? https://github.com/neo4j-contrib/neo4j-apoc-procedures#graph-algorithms-work-in-progress –
我檢查了它,它不會做我想要的,但無論如何感謝! –