CYPHER查询中的LIKE子句

时间:2012-12-11 21:40:40

标签: neo4j cypher

Cypher查询似乎不支持LIKE。

是否有其他构造可以执行相同的任务?

例如:

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

4 个答案:

答案 0 :(得分:57)

使用正则表达式: http://neo4j.com/docs/developer-manual/current/#query-where-regex

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

答案 1 :(得分:20)

从版本2.0开始,首选语法使用MATCH

e.g。

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

答案 2 :(得分:14)

如果你想让它不区分大小写

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

答案 3 :(得分:14)

不需要正则表达式:

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;