我有一个 Neo4j 数据库,我想在任何节点中查找具有以“.0”结尾的字符串值的任何属性。
因此:对于数据库中的所有字符串属性,无论标签如何,我都想找到至少包含一个以“.0”结尾的值的属性。所需的返回值是属性名称列表。
是否可以使用 Cypher 查询来做到这一点?
过程
db.schema.nodeTypeProperties
返回节点的所有属性,按节点标签集分组。还有 ENDS WITH
运算符将匹配字符串值末尾的子字符串。使用这些,您可以通过以下方式得到答案:
CALL db.schema.nodeTypeProperties()
YIELD propertyName
WITH DISTINCT propertyName WHERE propertyName ENDS WITH ".0"
RETURN propertyName
要按标签集进行细分:
CALL db.schema.nodeTypeProperties()
YIELD nodeLabels, propertyName
WITH nodeLabels, propertyName WHERE propertyName ENDS WITH ".0"
RETURN nodeLabels, propertyName