How can I make a string contain filter on Neo4j Cy

2020-07-01 06:56发布

问题:

I need to make a string contain filter in Neo4J. The idea is simple.

A good example is that I need to retrieve from a database of persons all the people that contain in his name the car substring.

How can I do this?

回答1:

You can use regular expressions to match a part of a name, for example:

MATCH (n)
WHERE n.name =~ '.*car.*'
RETURN n

If you have the label 'Person' assigned to all people in your database, the query would be:

MATCH (n:Person)
WHERE n.name =~ '.*car.*'
RETURN n

For further information, see http://docs.neo4j.org/chunked/stable/query-where.html#_regular_expressions



回答2:

As an additional update, from neo4j 3.0 it may be more readable to use:

MATCH(n)
WHERE n.name CONTAINS 'car'
RETURN n

(Edited to include Maciej fix to my response, thank you!)



标签: neo4j cypher