You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neo4j如何统计指定标签节点各属性的非空非Null值数量?

统计指定节点标签下所有属性的非空非Null值出现次数

修改后的查询语句

要实现对Person标签下所有属性的非空非Null值计数,可使用以下Cypher查询:

MATCH (p:Person)
UNWIND keys(p) AS key
WITH key, p[key] AS value
WHERE value IS NOT NULL AND value <> ''
RETURN key, COUNT(value) AS non_empty_count
ORDER BY key

逻辑说明

  1. 匹配节点:MATCH (p:Person) 获取所有标签为Person的节点。
  2. 展开属性键:UNWIND keys(p) AS key 将每个节点的属性键逐个展开,形成独立的键条目。
  3. 过滤有效属性值:通过p[key]获取当前键对应的属性值,再用WHERE条件过滤掉NULL值和空字符串。
  4. 分组统计:按属性键key分组,统计符合条件的属性值数量,最终返回每个属性的非空非Null计数。

扩展:包含无有效数据的属性(显示0)

如果需要返回所有存在的属性键,即使该属性没有符合条件的值也显示计数为0,可使用以下查询:

// 先收集所有Person节点的唯一属性键
MATCH (p:Person)
UNWIND keys(p) AS key
WITH COLLECT(DISTINCT key) AS all_keys

// 统计每个属性的非空非Null次数
MATCH (p:Person)
UNWIND keys(p) AS key
WITH key, p[key] AS value
WHERE value IS NOT NULL AND value <> ''
WITH key, COUNT(value) AS non_empty_count

// 关联所有属性键,补全无数据的属性计数为0
RIGHT JOIN all_keys ON key = all_keys
RETURN all_keys AS key, COALESCE(non_empty_count, 0) AS non_empty_count
ORDER BY key

内容的提问来源于stack exchange,提问作者Tony Riddle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:52:49