跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
|注册
博客列表

目录

  1. 一、安装
  2. 1.0 前置条件
  3. 1.1 安装程序
  4. 1.2 配置环境
  5. 二、基本使用
  6. 2.1 开启、关闭和查看运行状态
  7. 2.2 查看数据库
  8. 2.3 导入 dump 文件
  9. 三、Neo4j 常用命令
  10. 3.1 Cypher 查询语言(核心操作)
  11. 3.1.1 创建(CREATE)
  12. 3.1.2 匹配(MATCH)
  13. 3.1.3 更新(SET, REMOVE)
  14. 3.1.4 删除(DELETE)
  15. 3.1.5 合并(MERGE)
  16. 3.2 Neo4j 管理命令(在 Neo4j Browser 或 Shell 中执行)
  17. 3.2.1 约束(Constraints)
  18. 3.2.2 索引(Indexes)
  19. 3.2.3 信息查询(Schema & Info)
  20. 3.2.4 用户与权限管理(企业版功能)
  21. 3.3 实用技巧和命令
  22. 3.3.1 清空整个数据库(谨慎使用!)
  23. 3.3.2 计数:
  24. 3.3.3 在 Neo4j Browser 中使用命令行:
SQLAIjava

Neo4j 安装与使用教程

Neo4j 图数据库的安装配置及基本使用方法。内容包括 JDK 环境准备、软件安装与环境变量配置、服务启停与状态查看、Dump 文件导入操作。重点讲解了 Cypher 查询语言的核心操作,涵盖节点与关系的创建、匹配、更新、删除及合并语句。此外还列举了数据库管理命令,包括约束、索引、信息查询及用户权限管理等实用技巧,适合初学者快速上手 Neo4j 开发。

路由之心发布于 2026/4/5更新于 2026/4/131 浏览
Neo4j 安装与使用教程

一、安装

1.0 前置条件

安装配置好 JDK 17 及以上版本。

本文以 Neo4j 5.x 版本为例,需匹配 Java 17 环境。

Java Archive Downloads - Java SE 17

直接安装即可。

配置以下环境变量:

文章配图

文章配图

1.1 安装程序

Neo4j Deployment Center

下载解压即可,Windows 为绿色版本。

1.2 配置环境

添加 neo4j 的安装地址到系统路径。

文章配图

二、基本使用

2.1 开启、关闭和查看运行状态

进入安装目录的 bin 文件夹,在命令行窗口输入:

./neo4j.bat console

直接按 Ctrl+C 即可关闭。

查看运行状态,在命令行窗口输入 neo4j status。

2.2 查看数据库

开启后访问以下网址即可查看:

http://localhost:7474/browser/preview/

2.3 导入 dump 文件

neo4j-admin database load --from-path="D:\develop\neo4j-community-5.26.10\dumps" --overwrite-destination=true neo4j

注意,dump 文件的名称必须和数据库同名,否则会报错。

三、Neo4j 常用命令

Neo4j 的常用命令主要分为两大类:Cypher 查询语言和Neo4j 管理命令。

3.1 Cypher 查询语言(核心操作)

Cypher 是 Neo4j 的声明式图查询语言,用于操作和查询图数据。它的语法非常直观,旨在匹配图中的模式。

3.1.1 创建(CREATE)

用于创建节点、关系和属性。

  • 创建节点:
-- 创建单个节点(无标签,无属性)
CREATE (n)
-- 创建带标签的节点
CREATE (n:Person)
-- 创建带标签和属性的节点
CREATE (n:Person {name: 'John Doe', age: 30})
-- 创建多个节点
CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
  • 创建关系:
-- 在两个已存在节点间创建关系(需要先找到节点)
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[r:KNOWS {since: 2020}]->(b)
RETURN r
-- 在创建节点的同时创建关系(适用于节点也不存在时)
CREATE (a:Person {name: 'Alice'})-[r:LOVES {since: 2021}]->(b:Person {name: 'Bob'})
RETURN a, r, b
3.1.2 匹配(MATCH)

用于查询图中的节点和关系。通常与 RETURN 或 WHERE 等子句联用。

  • 查找所有节点:
MATCH (n) RETURN n
  • 查找特定标签的节点:
MATCH (n:Person) RETURN n
  • 根据属性查找节点:
MATCH (n:Person {name: 'Alice'}) RETURN n
-- 或使用 WHERE 子句
MATCH (n:Person) WHERE n.name = 'Alice' AND n.age > 25 RETURN n
  • 查找关系:
-- 查找所有 KNOWS 关系
MATCH ()-[r:KNOWS]->() RETURN r
-- 查找从 Alice 出发的 KNOWS 关系
MATCH (a:Person {name: 'Alice'})-[r:KNOWS]->(b) RETURN a, r, b
3.1.3 更新(SET, REMOVE)

用于修改节点或关系的属性或标签。

  • 设置/更新属性:
MATCH (n:Person {name: 'Alice'}) SET n.age = 31, n.city = 'Berlin' RETURN n
  • 移除属性:
MATCH (n:Person {name: 'Alice'}) REMOVE n.city RETURN n
-- 或者使用 SET n.property = NULL
  • 添加标签:
MATCH (n:Person {name: 'Alice'}) SET n:Employee RETURN n
  • 移除标签:
MATCH (n:Person:Employee {name: 'Alice'}) REMOVE n:Employee RETURN n
3.1.4 删除(DELETE)

用于删除节点和关系。

警告:必须先删除关系,才能删除节点。

-- 删除一个节点(确保该节点无任何关系)
MATCH (n:Person {name: 'Bob'}) DELETE n
-- 删除一个节点及其所有相连的关系
MATCH (n:Person {name: 'Bob'}) DETACH DELETE n
-- 删除关系
MATCH (a:Person {name: 'Alice'})-[r:KNOWS]->(b:Person {name: 'Bob'}) DELETE r
3.1.5 合并(MERGE)

'有则返回,无则创建'。它确保一个模式存在于图中。如果该模式不存在,则创建它;如果存在,则只是匹配到它。强烈建议与 ON CREATE 和 ON MATCH 一起使用。

-- 合并节点(如果不存在则创建,并设置初始属性)
MERGE (n:Person {name: 'Alice'}) ON CREATE SET n.created_at = timestamp() ON MATCH SET n.last_seen = timestamp() RETURN n
-- 合并路径(节点和关系)
MERGE (a:Person {name: 'Alice'})-[r:KNOWS]->(b:Person {name: 'Bob'}) ON CREATE SET r.since = 2023 RETURN a, r, b

3.2 Neo4j 管理命令(在 Neo4j Browser 或 Shell 中执行)

这些命令主要用于数据库管理、索引、约束和元数据查询。

3.2.1 约束(Constraints)

用于保证数据的完整性。

  • 创建唯一性约束:
CREATE CONSTRAINT constraint_name FOR (n:Person) REQUIRE n.email IS UNIQUE
  • 查看所有约束:
SHOW CONSTRAINTS
  • 删除约束:
DROP CONSTRAINT constraint_name
3.2.2 索引(Indexes)

用于大幅提高查询性能。

  • 创建索引:
CREATE INDEX index_name FOR (n:Person) ON (n.name)
  • 创建复合索引:
CREATE INDEX index_name FOR (n:Person) ON (n.firstName, n.lastName)
  • 查看所有索引:
SHOW INDEXES
  • 删除索引:
DROP INDEX index_name
3.2.3 信息查询(Schema & Info)
  • 查看数据库基本信息:
:sysinfo
  • 查看图数据库的结构(所有标签、关系类型、属性):
CALL db.schema.visualization()
  • 列出所有数据库:
SHOW DATABASES
  • 查看当前数据库的状态和信息:
CALL db.info()
3.2.4 用户与权限管理(企业版功能)
  • 显示所有用户:
SHOW USERS
  • 创建用户:
CREATE USER username SET PASSWORD 'password' CHANGE NOT REQUIRED SET STATUS ACTIVE
  • 更改用户密码:
ALTER USER username SET PASSWORD 'newpassword' CHANGE NOT REQUIRED

3.3 实用技巧和命令

3.3.1 清空整个数据库(谨慎使用!)
MATCH (n) DETACH DELETE n

这会删除所有节点和关系,但不会删除索引和约束。

3.3.2 计数:
-- 统计图中所有节点的数量
MATCH (n) RETURN count(n)
-- 统计某个标签的节点数量
MATCH (n:Person) RETURN count(n)
3.3.3 在 Neo4j Browser 中使用命令行:
  • :help - 查看帮助
  • :play start - 打开初学指南
  • :history - 查看命令历史

Neo4j 的语言非常强大且易读,最好的学习方式就是在 Neo4j Browser 中实际操作。

极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • 云开发 Copilot:AI 赋能的低代码开发指南
  • 微信群机器人原理与配置指南
  • 基于 WebGIS 与百度天气接口的复古天气预报系统构建
  • 本地 Docker 部署 Appsmith 及远程访问配置
  • 微信小程序 AR 开发实战:SDK 集成与核心功能实现
  • Web 开发全景指南:从入门到精通及未来趋势
  • Foxglove 开发环境完整搭建指南 (含常见坑位)
  • 基于 CodeBuddy Code 与腾讯混元构建 AI 识菜通应用
  • Axure 制作 AI 自动对话机器人原型
  • VR 视频下载工具 N_m3u8DL-RE 使用指南
  • Heygem 数字人系统 Linux 环境依赖安装步骤
  • Go 语言信用卡号码 Luhn 算法校验实现
  • 前端埋点实现方式与原理详解
  • 国产 AI 智能体平台对比:腾讯、字节、阿里、百度等主流方案汇总
  • 基于 Rust 与 WebAssembly 的图片处理实战
  • Neo4j 社区版安装与使用指南
  • Neo4j 图谱可视化:节点与关系颜色定制方法
  • Angular 应用 Chrome 调用高德地图 API 定位超时问题解析
  • 基于 Spring Boot + Vue 的无人机共享管理系统设计与实现
  • Web3.0 开发实践

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online