可変長パス (VLP) 式で、より制限の厳しいノードを左側に配置する - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

可変長パス (VLP) 式で、より制限の厳しいノードを左側に配置する

可変長パス (VLP) クエリでは、クエリエンジンは式の左側または右側でトラバーサルを開始するように選択して評価を最適化します。決定は、左右のパターンのカーディナリティに基づいています。Cardinality は、指定されたパターンに一致するノードの数です。

  • 適切なパターンのカーディナリティが 1 の場合、右側が開始点になります。

  • 左右のカーディナリティが 1 の場合、拡張は両側でチェックされ、拡張が小さい側で開始されます。拡張は、VLP 式の左側にあるノードと右側にあるノードの送信エッジまたは受信エッジの数です。最適化のこの部分は、VLP 関係が単方向で、関係タイプが指定されている場合にのみ使用されます。

  • それ以外の場合は、左側が開始点になります。

VLP 式のチェーンの場合、この最適化は最初の式にのみ適用できます。他の VLPs は左側から評価されます。例えば、 (a)、 (b) のカーディナリティを 1 にし、 (c) のカーディナリティを 1 より大きくします。

  • (a)-[*1..]->(c): 評価は (a) で始まります。

  • (c)-[*1..]->(a): 評価は (a) で始まります。

  • (a)-[*1..]-(c): 評価は (a) で始まります。

  • (c)-[*1..]-(a): 評価は (a) で始まります。

次に、(a) の着信エッジを 2 にし、(a) の送信エッジを 3 にし、(b) の着信エッジを 4 にし、(b) の送信エッジを 5 にします。

  • (a)-[*1..]->(b): (a) の送信エッジが (b) の受信エッジよりも小さいため、評価は (a) で始まります。

  • (a)<-[*1..]-(b): (a) の受信エッジは (b) の送信エッジよりも小さいため、評価は (a) で始まります。

原則として、より制限の厳しいパターンを VLP 式の左側に配置します。