编写不区分大小写的Cypher查询以匹配Neo4j中字符串的开头

时间:2017-12-15 22:01:27

标签: neo4j cypher graph-databases

我在尝试编写Cypher查询时遇到了麻烦,该查询返回了名称以某个字符串开头的所有节点。我还需要此查询不区分大小写。

Cypher内置了两种情况的功能,但我不知道如何将它们组合起来

查询匹配字符串的开头:

MATCH (n) WHERE n.Name STARTS WITH 'Pet' RETURN n

查询不区分大小写的字符串

MATCH (n) WHERE n.Name =~ '(?i)ANDR.*' RETURN n

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于使用STARTS WITH字符串比较运算符的不区分大小写的比较,您可以使用toLower()字符串函数将比较的每一侧转换为小写。例如:

MATCH (n) 
WHERE toLower(n.name) STARTS WITH toLower('Pet') 
RETURN n