如何生成节点、关系、属性的统计清单
使用以下 Cypher 语句
MATCH (n) WHERE rand() <= 0.1
WITH labels(n) as labels, size(keys(n)) as props, size((n)--()) as degree
RETURN
DISTINCT labels,
count(*) AS NumofNodes,
avg(props) AS AvgNumOfPropPerNode,
min(props) AS MinNumPropPerNode,
max(props) AS MaxNumPropPerNode,
avg(degree) AS AvgNumOfRelationships,
min(degree) AS MinNumOfRelationships,
max(degree) AS MaxNumOfRelationships
将生成图中节点的“清单”,以及与每个标签的节点数量、属性的平均数量、属性的最小数量、属性的最大数量、关系的平均数量、关系的最小数量和关系的最大数量相关的统计信息。此 Cypher 可用于帮助了解性能和/或数据库增长情况。
上述 Cypher 会执行整个图的遍历,然后通过包含 'rand()⇐ 0.1' 来“抽样”出 90% 的节点。因此返回的数值实际上是图的 10% 抽样。
在 Neo4j 3.0 中,上述查询已作为浏览器中的收藏项,定义在 数据分析 / 存在何种节点 下。
此页面有帮助吗?