apoc.meta.data.of

详细信息

语法

apoc.meta.data.of(graph [, config ]) :: (label, property, count, unique, index, existence, type, array, sample, left, right, other, otherLabels, elementType)

描述

检查给定的子图并返回元数据表。

输入参数

名称

类型

描述

graph(图)

ANY

用于提取元数据的图。

config

MAP

采样的节点数量,将 sample 设置为 -1 将移除采样;{ sample = 1000 :: INTEGER } 默认值为:{}

返回参数

名称

类型

描述

标签 (label)

STRING

标签或类型名称。

属性 (property)

STRING

属性名称。

count

INTEGER(整数)

已见值的计数。

unique

布尔值 (BOOLEAN)

是否所有已见值都是唯一的。

index

布尔值 (BOOLEAN)

该属性是否存在索引。

existence

布尔值 (BOOLEAN)

该属性是否存在存在约束(existence constraint)。

type

STRING

该行所代表的类型。

array

布尔值 (BOOLEAN)

指示属性是否为数组。如果类型列为“RELATIONSHIP”,当至少有一个节点拥有两个由标签或属性列指定的类型的出度关系时,此项将为 true。

sample

LIST<ANY>

该值始终为 null。

left

INTEGER(整数)

特定标签和关系类型的出度关系计数相对于这些模式总数的比率(向下取整)。

right

INTEGER(整数)

特定标签和关系类型的入度关系计数相对于这些模式总数的比率(向下取整)。

other

LIST<STRING>

连接节点的标签。

otherLabels

LIST<STRING>

对于唯一性约束,此字段显示同时包含该唯一性约束的节点上存在的其他标签。

elementType

STRING

此项是指节点还是关系。

配置参数

此过程支持以下配置参数

配置参数
名称 类型 默认 描述

sample

INTEGER(整数)

1000

采样的节点数量。将 sample 设置为 -1 将移除采样。

采样 (Sampling)

指定 sample 参数(默认为 1000)以分析数据的子集。

采样以及每个标签的节点计数用于计算跳过值(skip value)。由于此值是使用随机数生成器生成的,因此通过采样方法获得的结果在后续运行中可能会有所不同。

示例 1. 计算数据采样的跳过计数

如果数据库包含 500 个标签为 Foo 的节点,则该标签的跳过计数计算如下

每个节点标签的跳过计数是通过生成 (totalNodesForLabel / sample) ± 0.1 之间的随机数来确定的。

采样 10:skipCount = 500 / 10 = 50
得到的跳过计数将在 45 到 55 之间。

采样 50:skipCount = 500 / 50 = 10
得到的跳过计数将在 9 到 11 之间。

采样 100:skipCount = 500 / 100 = 5
得到的跳过计数将为 5。

跳过计数表示在检查一个节点之前跳过的节点数量。例如,跳过计数为 5 时,每 5 个节点检查一次。因此,采样数值越大,采样的节点就越多。

要停止采样,请设置 sample: -1

用法示例

支持的输入图类型

类型 描述

STRING

Cypher 查询

虚拟图

apoc.graph.* 返回的虚拟图(Virtual Graph)

MAP

一个包含两个字段的 map:nodes(节点列表,必填)和 relationships(关系列表)

如需了解更多详细信息,可以查看 apoc.meta.data 文档