Neo4jのMATCHの「NOT」演算子

シュレイ・グプタ

Neo4j 2.xでは、次のように、Cypher 2.0を使用して、特定のプロパティの特定の値を持つすべてのノードを簡単に見つけることができます。

MATCH (node {property: 'value'}) 
RETURN node;

ただし、をproperty除く任意の値を持つすべてのノードを見つけるにはどうすればよい"value"ですか?私はそのNOTよう演算子を使用しようとしましたが、これは単に構文エラーを返します:

MATCH (node {property: NOT 'value'}) 
RETURN node;
アルベルトペルドモ

MATCH句のプロパティの簡潔な構文は、完全一致でのみ機能します。

他の種類の一致条件を実行する場合は、WHERE句を使用する必要があります。

MATCH (node)
WHERE node.property <> 'value'
RETURN node;

もう一つの例:

MATCH (node)
WHERE NOT node.property IN ["red", "blue", "yellow"]
RETURN node;

これによりグラフスキャン全体が実行されることに注意してください。これは強くお勧めしません。妥当なデータセットサイズでは、このクエリは完了しないか、少なくともタイムリーに実行されない可能性があります。

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

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

編集
0

コメントを追加

0

関連記事