Neo4J Cypherに固有のフィルターはありますか?

トッドF

チュートリアルには、次のCypherクエリがあります。

MATCH (gene:Person)-[:ACTED_IN]->()<-[:ACTED_IN]-(other)
WHERE gene.name="Gene Hackman"
RETURN DISTINCT other;

私は一般的にクエリを理解しています。ACTED_INが「any」ノードであるすべてのPersonノードに一致します。ここで、gene:Personノードのnameプロパティは「GeneHackman」と同じです。

次に、GeneHackmanと同じ「any」ノードのセットをACTED_INする別個の「other」ノードのセットを返します。

返されるのは、GeneHackmanノードを含まないノードのセットです。

返されるノードのセットには、GeneHackmanノードが含まれているようです。Cypherクエリで「GeneHackman」という名前を含むノードを明示的に除外するものはありません。したがって、ジーンハックマンと同じ映画で演じたノードのセットには、ジーンハックマンも含める必要があります。

適用されている固有のルールがあると思いますが、これまでのチュートリアルでは、そのルールが何であるかを説明していないか、それを見逃しました:^)。

ありがとう、トッド

イブフリーマン

ルールは、パターン内の関係は再利用されないということです。最初の:ACTED_IN関係をたどると、同じパターンマッチでそれを再びたどることはできません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事