指纹识别
以下函数计算节点、关系或整个图的哈希校验和。它会考虑所有属性、节点标签和关系类型。
APOC 版本之间,用于哈希的算法可能会发生变化。因此,只能比较同一图中的两个实体/图,或使用相同 APOC 版本的不同图的哈希结果。 |
图的哈希校验和首先计算每个节点的哈希校验和。生成的哈希校验和列表是有序的,并且对于每个节点,会添加所有关系及其末端节点的哈希校验和。内部 ID 不包含在哈希校验和中。
也可以提供一个应在所有节点上忽略的 propertyKeys
列表。这在存储应忽略的属性(例如 created=timestamp()
)时会很有用。
函数名称 | 描述 |
---|---|
|
计算 |
|
计算 |
|
计算整个图的 MD5 校验和。此函数使用内存数据结构。不适用于加密用例。 |
配置参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
digestAlgorithm |
STRING |
"MD5" |
用于计算指纹的算法。支持的值为: |
strategy |
STRING |
"LAZY" |
定义节点/关系过滤行为。支持的值为
|
nodeAllowMap |
MAP<STRING, LIST<STRING>> |
{} |
节点标签名称映射到该标签允许的属性列表。 |
nodeDisallowMap |
MAP<STRING, LIST<STRING>> |
[] |
节点标签名称映射到该标签应忽略的属性列表。 |
relAllowMap |
MAP<STRING, LIST<STRING>> |
{} |
关系类型名称映射到该类型允许的属性列表。 |
relDisallowMap |
MAP<STRING, LIST<STRING>> |
[] |
关系类型名称映射到该类型应忽略的属性列表。 |
mapAllowList |
LIST<STRING> |
[] |
当被哈希的对象是映射时,允许的键列表。 |
mapDisallowList |
LIST<STRING> |
[] |
当被哈希的对象是映射时,应忽略的键列表。 |
allNodesAllowList |
LIST<STRING> |
[] |
全局允许的节点属性列表 |
allNodesDisallowList |
LIST<STRING> |
[] |
全局忽略的节点属性列表。 |
allRelsAllowList |
LIST<STRING> |
[] |
全局允许的关系属性列表。 |
allRelsDisallowList |
LIST<STRING> |
[] |
全局忽略的关系属性列表。 |
不可能为同一实体类型同时定义允许和不允许列表。因此,在为节点、关系和映射设置指纹识别参数时,列表必须是允许或不允许的。 |