web-dev-qa-db-ja.com

CYPHERクエリのLIKE句

LIKEはCypherクエリではサポートされていないようです。

同じタスクを実行する他の構造はありますか?

例えば:

start n = node(*) where n.Name LIKE('%SUBSTRING%') return n.Name, n;
50
johnc

正規表現の使用: http://neo4j.com/docs/developer-manual/current/#query-where-regex

start n = node(*) where n.Name =~ '.*SUBSTRING.*' return n.Name, n;
60
ulkas

バージョン2.0の時点で、推奨される構文はMATCHを使用しています。

例えば.

MATCH (n) where n.Name =~ '.*SUBSTRING.*' return n.Name, n;
22
Ryan Walls

正規表現は必要ありません:

start n = node(*) where n.Name contains "substring" return n.Name, n;

the cypher refcard に移動し、Predicatesセクションまでスクロールします。これと他の有用なものを見つけるでしょう。

大文字と小文字を区別しませんか?小文字に変換:

start n = node(*) where lower(n.Name) contains lower("substring") return n.Name, n;
16
user7586097

大文字と小文字を区別しないようにする場合

MATCH (n) WHERE n.name =~ '(?i).*SUBSTRING.*' RETURN n;
14
arikan