我们可以使密码字段查询不区分大小写吗

Can we make cypher field query Case-Insensitive

它似乎与 this 重复,但事实并非如此。我们可以根据字段使密码查询不区分大小写吗?我知道我们可以对值使用正则表达式,但我们需要它基于字段。

例如

MATCH (c:customer) WHERE c.CUSTOMERNUMBER = '1088' RETURN c

上面查询returns一个结果,下面没有

MATCH (c:Customer) WHERE c.CustomerNumber = '1088' RETURN c

此处标签客户和 属性 CustomerNumber 的情况不同。

您可以使用 PROPERTIES 获取节点的地图表示,然后使用 KEYS 以便迭代它们。因为 "Name"、"NAME"、"Prop1" 都是同样唯一的 属性 名称,就 DB 而言,它们可以全部或 none 存在。您将必须遍历节点的每个 属性 以找到符合您的条件的字段。

MATCH (n) 
WHERE ANY(key in KEYS(n) WHERE lower(key)="name" AND n[key]="Neo") 
RETURN n

这比简单的不区分大小写更灵活,但也很昂贵。