特定のノードの着信リレーションシップと発信リレーションシップを介してクエリを実行すると、パフォーマンスの違いに気付きました。この場合、発信ははるかに高速でした。
グラフを生成する入力ファイルは、各エッジの開始ノードでソートされます。
入力ファイルの順序は重要ですか? 外向的な関係の扱い方に違いはありますか?
内部の背景を少し読みましたが、パフォーマンスの違いに関する私の質問には答えていないようです。
違いはないはずです。私のMSc Thesisの 12 ページに、Neo4j に物事がどのように格納されているかを示す別の図があります。
違いを引き起こしている可能性があるのは、1 つのテスト (最初のテスト) をコールド キャッシュで実行し、もう 1 つのテストをウォーム キャッシュで実行しているという事実です。実験をひっくり返して、最初に発信を行い、次に着信を行うと、着信が突然速くなることに気付くかもしれません! これは、データが 1 回目はディスク上にあり、2 回目はメモリ内にあるためです。