Running a case-insensitive cypher query

gzg picture gzg · Nov 18, 2012 · Viewed 17.1k times · Source

Is it possible to run a case-insensitive cypher query on neo4j?

Try that: http://console.neo4j.org/

When I type into this:

start n=node(*) 
match n-[]->m 
where (m.name="Neo") 
return m

it returns one row. But when I type into this:

start n=node(*) 
match n-[]->m 
where (m.name="neo") 
return m

it does not return anything; because the name is saved as "Neo". Is there a simple way to run case-insensitive queries?

Answer

Volker Pacher picture Volker Pacher · Nov 18, 2012

Yes, by using case insensitive regular expressions:

WHERE m.name =~ '(?i)neo'

https://neo4j.com/docs/cypher-manual/current/clauses/where/#case-insensitive-regular-expressions