Neo4j - 用标签计算节点

lea*_*ERO 6 neo4j

我想要一个查询,计算数据集中每个标签有多少个节点.例如:

LabelA 100 LabelB 200

我可以为每个标签做类似的事情

MATCH (n:LabelA) return count(n);
Run Code Online (Sandbox Code Playgroud)

但是,我想在一个命令中为每个标签执行此操作.

teh*_*wer 12

尝试这样的事情

MATCH (n) 
RETURN DISTINCT count(labels(n)), labels(n);
Run Code Online (Sandbox Code Playgroud)

这将返回第一列中标签的总和以及第二列中的标签名称.


Inv*_*con 9

这里有一个快速替代方案,仅适用于单个标签,APOC 程序提供了一种使用计数存储来获取计数的快速方法:

CALL apoc.meta.stats() YIELD labels
RETURN labels
Run Code Online (Sandbox Code Playgroud)