我想计算图表中的标签数量并执行以下操作:
match (n) return (count(labels(n)))
当我从浏览器中以不同颜色突出显示的列出标签中看到时,此语句返回的计数与计数不同。浏览器中列出的标签多于函数返回的计数。
为什么?
答案 0 :(得分:1)
您的查询是获取每个节点的标签集合,然后计算有多少集合,这与节点数量相同。
要获取数据库中标签数量的计数,您可以使用APOC过程apoc.meta.stats,该过程返回各种数据库统计信息。对于您的具体情况,您可以这样做:
CALL apoc.meta.stats() YIELD labelCount
RETURN labelCount;
答案 1 :(得分:0)
此cypher查询将返回节点标签及其计数列表:
match (n) return labels(n),count(n)
如果您正在寻找特定标签的计数,请使用
match (n:{your label}) return count(n)
如果您想要计算不同标签的数量:
match (n) with collect(distinct labels(n)) as NL return size(NL)