Neo4j 将数组值与节点 属性 匹配

Neo4j match array value with node property

我正在尝试使用此查询

MATCH(u:User) WHERE ANY(name IN ['ACB','xYz'] WHERE u.first_name =~ "(?i).*name.*") RETURN u

它正在将 (?i).*name.* 视为静态文本而不是来自 name IN ['ACB','xYz'] 的动态值。

您可以 assemble 使用字符串连接的正则表达式。然而,这种情况需要一些 toString 提示:

MATCH(u:User) WHERE ANY(name IN ['ACB','xYz'] 
    WHERE u.first_name =~ toString("(?i).*" +name +".*")) 
RETURN u