如何用Cypher查询找出Neo4j中值以.0结尾的字符串属性?
可以用Cypher实现该需求
直接使用以下Cypher查询即可找出所有符合条件的属性名称:
MATCH (n) UNWIND keys(n) AS propKey WITH n, propKey, n[propKey] AS propValue WHERE typeof(propValue) = "STRING" AND propValue ENDS WITH ".0" RETURN DISTINCT propKey ORDER BY propKey
语句说明:
MATCH (n):匹配数据库内所有节点UNWIND keys(n) AS propKey:展开每个节点的全部属性键,逐个进行处理WITH n, propKey, n[propKey] AS propValue:传递节点、属性键及对应的属性值到后续步骤WHERE typeof(propValue) = "STRING" AND propValue ENDS WITH ".0":筛选出属性值为字符串类型,且值以".0"结尾的条目RETURN DISTINCT propKey:返回去重后的符合条件的属性名称,避免重复输出ORDER BY propKey:对结果按属性名称排序,提升可读性
如果数据库节点规模较大,建议按需添加标签过滤等条件(比如MATCH (n:YourLabel)),优化查询性能,避免全库扫描带来的资源消耗。
内容的提问来源于stack exchange,提问作者luanpo1234
相关产品推荐
相关产品推荐

