

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

# 可変長パス (VLP) 式で、より制限の厳しいノードを左側に配置する
<a name="best-practices-content-4"></a>

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