翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
可能な場合はエッジラベルを指定する
パターンでエッジを指定するときは、可能な限りエッジラベルを指定することをお勧めします。次のクエリの例を考えてみましょう。このクエリは、ある都市に住むすべての人々と、その都市を訪ねたすべての人々をリンクするために使用されます。
MATCH (person)-->(city {country: "US"})-->(anotherPerson) RETURN person, anotherPerson
グラフモデルが複数のエッジラベルを使用してユーザーを都市以外のノードにリンクする場合、終了ラベルを指定しないと、Neptune は後で破棄される追加のパスを評価する必要があります。上記のクエリでは、エッジラベルが指定されていないため、エンジンは最初により多くの作業を行い、次に値をフィルタリングして正しい結果を取得します。上記のクエリのより適切なバージョンは次のとおりです。
MATCH (person)-[:livesIn]->(city {country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson
これは、評価に役立つだけでなく、クエリプランナーがより優れたプランを作成することも可能にします。このベストプラクティスを冗長ノードラベルチェックと組み合わせて、都市ラベルチェックを削除し、クエリを次のように記述することもできます。
MATCH (person)-[:livesIn]->({country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson