Neo4j 不区分大小写的标签搜索

Neo4j 不区分大小写的标签搜索,neo4j,cypher,Neo4j,Cypher,为什么这个代码不起作用 MATCH (n) WHERE labels(n)=~ '(?i).*SUBSTRING.*' RETURN distinct labels(n) 类型不匹配:应为字符串,但为集合(第1行第17列(偏移量:16)) 但这是真的 match n-[r]-() where type(r)=~ '(?i).*SUBSTRING.*' return distinct type(r) labels(n)返回集合而不是标量类型(r)始终返回单值标量 尝试使用标签(n)[0],它应

为什么这个代码不起作用

MATCH (n) WHERE labels(n)=~ '(?i).*SUBSTRING.*' RETURN distinct labels(n)
类型不匹配:应为字符串,但为集合(第1行第17列(偏移量:16))

但这是真的

match n-[r]-() where type(r)=~ '(?i).*SUBSTRING.*' return distinct type(r)
labels(n)
返回集合而不是标量<代码>类型(r)始终返回单值标量

尝试使用
标签(n)[0]
,它应该可以工作

不建议在大型数据集中对标签进行不区分大小写的子字符串匹配。

ANY(在标签(n)中的l,其中l=~'(?i)。*substring.*')
但它不会很快,因此应该只进行后续筛选!!否则我会使用toUpper或toLower和精确搜索,或者至少使用后缀/后缀修复搜索。您还可以使用
head(标签(n))=~…