Neo4j安装与使用
准备工作
从官网下载neo4j desktop
- community版本下载

- desktop下载

我这里下载的是1.63版本,因为我使用发现2.0版本安装后,没有找到自定义数据库存储路径的设置,因此换成了1.63版本,这个版本支持自定义安装路径和数据存储路径
启动desktop
记录一下使用过程中遇到的问题:
-
无法正常启动,双击桌面图标后无响应
查看C:\Users\MSI\.Neo4jDesktop\log.log日志后发现报错

百度一番后,是因为Neo4j进行了区域限制,无法直接使用国内网络启动
因此采用了魔法,完成首次启动,首次启动成功后,后续无需再使用魔法工具 -
在使用python查询图库数据时报错
因为是第一次使用neo4j图库,不甚了解使用方式,还没了解到对于复杂的图库查询,是需要安装另外的插件的,如APOC,根据版本号,可以从github官网下载apoc插件,需要注意的是,apoc插件的版本,需要和neo4j数据库的版本一一对应。
-
python运行报错的内容

-
如果不知道自己desktop安装的是哪个版本的数据库,可以查看:

-
然后在apoc中找到对应的版本进行下载

这里看网上一些博主说的APOC是有core和all版本的区分,目前看我所用的这个5.24.0没有all版本, 就仅下载core版本使用 -
下载后放入数据库实例的plugin中


-
修改实例配置,开启APOC认证

我这里在配置allowlist的时候,原本是根据python中报错的apco.coll的异常来开启的,但是没想到开了之后还是会报错,因此就直接开启了全部的认证限制apco.*, 重启实例后,可正常使用
初步使用
🧭 首先:选择数据库
默认安装后,你可能在系统数据库 "system" 或默认数据库 "neo4j" 中。Neo4j 4.x 及以上版本支持多数据库。
- 使用
:USE system切换到系统数据库来查看数据库列表。 - 使用
:USE neo4j或你创建的其他数据库名来切换到你想要探索的数据库。
🗂️ 查看数据库中的内容
你可以通过以下语句来查看数据库中的节点、关系等信息。为了更清晰地概览,我用一个表格汇总了常用的探查语句:
| 查询目的 | Cypher 语句 | 说明 |
|---|---|---|
| 查看所有节点和关系 | MATCH (n) RETURN n LIMIT 25 |
快速查看图中的所有节点和关系,LIMIT 用于限制返回数量,防止数据过多。 |
| 统计节点和关系的数量 | MATCH (n) RETURN count(n) AS node_count;MATCH ()-[r]->() RETURN count(r) AS relationship_count; |
分别统计数据库中节点的总数和关系的总数。 |
| 列出所有节点标签 | MATCH (n) RETURN DISTINCT labels(n) AS labels, count(*) AS count ORDER BY count DESC; |
查看数据库中有哪些类型的节点(标签),以及每种标签的数量。 |
| 列出所有关系类型 | MATCH ()-[r]->() RETURN DISTINCT type(r) AS relationship_type, count(*) AS count ORDER BY count DESC; |
查看数据库中有哪些类型的关系,以及每种关系的数量。 |
| 查看特定标签节点的属性样例 | MATCH (n:LabelName) RETURN keys(n) AS property_keys, properties(n) AS sample_properties LIMIT 1; |
将 LabelName 替换为实际标签名(如 Movie),查看此类节点的属性和样例数据。 |
| 查看特定关系类型的信息 | MATCH ()-[r:REL_TYPE]->() RETURN type(r), properties(r) AS sample_properties LIMIT 1; |
将 REL_TYPE 替换为实际关系类型(如 ACTED_IN),查看此关系的属性和样例数据。 |
| 查看数据库模式(元数据) | CALL db.schema.visualization()或 CALL apoc.meta.graph() (如果安装了 APOC 库) |
以可视化的方式返回当前数据库的结构,包括存在的节点标签和关系类型,非常直观。 |
💡 探查建议
- 从 “统计节点和关系的数量” 和 “列出所有节点标签” 开始,对数据规模和组织方式有个整体印象。
- 如果数据库中有数据(例如 Neo4j 自带的
:play movie-graph示例数据),你可以尝试运行这些查询。如果完全是空的,这些查询将返回空结果。 - 使用
LIMIT子句(如LIMIT 50)在初始探索时限制返回结果的数量,是个好习惯,能避免意外加载过多数据。 - 如果查询返回了数据,注意观察节点的标签、属性以及关系的类型和方向。

浙公网安备 33010602011771号