Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (7.1) : 元数据管理

本文介绍了Neo4j作为一个轻模式数据库,其元数据管理的特点。通过APOC库,不仅可以查看索引和限制,还能利用更丰富的元数据过程进行深入管理,包括可视化展示数据库元数据图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

Neo4j是“轻型模式数据库”(Schema-lite),对所存储数据的类型和格式要求没有关系数据库那样严格。然而,作为数据库管理系统,Neo4j还是有相关元数据管理功能的。在Neo4j Browser中可以通过执行:

:schema

命令查看索引和限制;或者显示图结构的元模型:

CALL db.schema.visualization

APOC中还提供了更多元数据相关功能。

2. APOC中的元数据管理功能

        除了Cypher中提供的查看数据库中元数据(metadata)的命令,APOC提供功能更强大、返回信息更丰富的元数据过程,并可视化展现数据库元数据图(meta graph)。下表是APOC中与元数据相关的过程

过程

功能

apoc.meta.graphSample()

收集数据库统计信息并构建元图,非常快、会报告额外的关系。

apoc.meta.graph

收集数据库统计信息以创建元图,通过抽样过滤额外的关系。

apoc.meta.subGraph(
   { labels:[labels],
     rels:[rel-types],
     excludes:[label,rel-type,…​]
   }
)

收集给定子图统计信息并创建元图。

apoc.meta.data

收集图的元数据并以表格形式返回。

apoc.meta.schema

收集图的元数据并以MAP形式返回。

apoc.meta.stats

yield labelCount, relTypeCount, propertyKeyCount, nodeCount, relCount, labels, relTypes, stats

返回保存事务执行统计信息。

        下表是APOC中与元数据相关的函数

函数

功能

apoc.meta.cypher.type(value)

返回一个值的类型名称。可以是:INTEGER,FLOAT,STRING,BOOLEAN,
RELATIONSHIP,NODE,PATH,NULL,MAP,
LIST OF <TYPE>,POINT,DATE,DATE_TIME,
LOCAL_TIME,LOCAL_DATE_TIME,TIME,
DURATION

apoc.meta.cypher.isType(value,type)

如果类型名称匹配则返回true,否则返回none。

apoc.meta.cypher.types(node or relationship or map)

返回属性名称的到它们类型的映射。

 



重要技巧

        在Neo4j中,每个节点或者标签都有全局唯一的内部ID,这是个非负的长整数,代表节点或标签在数据库存储中(分别在nodestore和relationshipstore中)的逻辑位置。可以通过内部ID唯一搜索到对应的节点或者关系。

        在元数据模型图上,代表标签的圆圈和关系类型的线条也有ID,但是都是负数,这是因为这些对象是数据库模式定义、而非真正的数据,因此没有实际存储在数据库中。这些对象不能通过负数的ID来搜索到。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值