0

この方法でグラフを作成します。ノードは busStops を表し、リレーションシップはバス停同士を結ぶバス路線を表します。

関係タイプは、ノード 2 から別のノードに移動するのに必要な時間に対応します。

リンクされていない可能性のある 2 つの間の shortestPath を取得するために (cypher のおかげで) グラフを照会している場合、結果は、使用される関係の数が最小のものになります。

2 つのノード (時間に対応する) 間で使用されるすべての関係タイプの追加が最小になるパスに最短パスが対応するように、それを変更しますか?

4

1 に答える 1

8

まず、あなたはそれを間違っています。毎回一意の関係タイプを使用しないでください。1 つの関係タイプを使用してから、すべての関係にプロパティ「時間」を配置します。

次に、追加を計算するには、次の暗号式を使用できます。

START from=node({busStopId1}), to=node({busStopId2})
MATCH p=from-[:LINE*]-to  //asterix * means any distance
RETURN p,reduce(total = 0, r in relationships(p): total + r.time) as tt
ORDER by tt asc;
于 2013-02-15T12:38:37.127 に答える