最短路徑我想執行類似以下的最短路徑查詢:暗號:與約束
START source=node:myIndex(name="<src>"), destination=node:myIndex(name = "<dst>")
MATCH p = shortestPath(source-[:REL1*..5]-destination),
source-[sourceRel:REL1]-m,
destination-[destRel:REL1]-k
WHERE sourceRel.a=<someValue> and destRel.a=<someOtherValue>
RETURN NODES(p);
我想<src>
和<dst>
之間的最短路徑與物業a
具有一定的價值約束在第一個關係從src和dst分別到下一個節點。
但是,neo4j只是返回找到的最短路徑,而沒有考慮到我的約束。 我在做什麼錯?爲最短路徑查詢指定最短路徑的第一個「跳躍」約束的正確方法是什麼?
編輯:我正在使用Neo4j 1.8.2。
我想你可能會誤解最短路徑。通過使用第二個源和目標,您將包含使用它們之間的REL1的單跳,這會導致對最短路徑的否定。 – Nicholas