johnc
johnc

Reputation: 40223

LIKE clause in CYPHER Query

It appears that LIKE is not supported in Cypher queries.

Is there any other construct that would perform the same task?

For instance:

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

Upvotes: 67

Views: 67803

Answers (4)

user7586097
user7586097

Reputation:

No Regexps needed:

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

Go to the cypher refcard and scroll down to the Predicates section. You will find this and other useful stuff.

Want case-insensitive? Convert to lower case:

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

Upvotes: 29

ulkas
ulkas

Reputation: 5918

using regular expressions: http://neo4j.com/docs/developer-manual/current/#query-where-regex

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

Upvotes: 88

arikan
arikan

Reputation: 1043

If you want to make it case insensitive

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

Upvotes: 21

Ryan Walls
Ryan Walls

Reputation: 7092

As of version 2.0, the preferred syntax uses MATCH.

e.g.

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

Upvotes: 29

Related Questions