neo4j获取名称的第一个字母是某个字母的节点

时间:2015-06-03 23:11:19

标签: neo4j cypher

我正在尝试获取名称以“A”

开头的所有节点
match n where substring(n.name, 0,1) = "a" return n

返回零结果。这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:2)

MATCH(n)其中substring(n.name,0,1)='a' 返回

你缺少括号

答案 1 :(得分:1)

问题是我正在搜索小写的“a”,并且所有节点名称都以大写字母开头。为了使案例匹配,我不得不在lower字符串中添加n.name函数包装器。

MATCH n
WHERE substring( lower( n.name ), 0, 1 )
RETURN n

答案 2 :(得分:1)

你也可以使用正则表达式匹配:

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