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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写不区分大小写的Cypher查询以匹配Neo4j中字符串的开头相关的知识,希望对你有一定的参考价值。

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

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

查询匹配字符串的开头:

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

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

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

任何帮助将不胜感激。

答案

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

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

以上是关于编写不区分大小写的Cypher查询以匹配Neo4j中字符串的开头的主要内容,如果未能解决你的问题,请参考以下文章

neo4j cypher 节点可以模糊匹配么

如何优化Neo4J Cypher查询?

如何优化 Neo4J Cypher 查询?

如何使用 Neo4J 的 Cypher 查询返回关系类型?

Neo4j Cypher - 有条件的 With 子句查询

Cypher语法