跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Neo4j 安装与基础使用教程

综述由AI生成Neo4j 是一款图数据库,基于 JDK17 环境的安装配置步骤,包括环境变量设置及服务启停方法。内容涵盖通过 Browser 访问界面、导入 dump 文件操作,并详细列举了 Cypher 查询语言的核心命令(创建、匹配、更新、删除、合并)以及管理命令(约束、索引、信息查询、权限管理),适合初学者快速上手。

ArchDesign发布于 2026/4/6更新于 2026/5/2233 浏览
Neo4j 安装与基础使用教程

一、安装

1.0 前置条件

安装配置好 JDK 17 及以上。

注意:本文示例基于 Neo4j 5.26.10 版本,需匹配 Java 17。

Java Archive Downloads - Java SE 17.0.12 and earlier

直接安装即可。

配置以下环境变量

文章配图

文章配图

1.1 安装程序

Neo4j Deployment Center - Graph Database & Analytics

文章配图

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

1.2 配置环境

添加 neo4j 的地址

文章配图

二、基本使用

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

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

neo4j.bat console

文章配图

关闭直接 Ctrl+C 即可。

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

2.2 查看数据库

开启后进入以下网址即可查看

http://localhost:7474

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 - 查看命令历史

目录

  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 中使用命令行:
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 解决 Git HTTPS 推送认证失败:切换 SSH 密钥配置指南
  • MySQL Range 分区实战:解决千万级数据查询性能瓶颈
  • Python 爬虫零基础入门:豆瓣电影 Top250 数据抓取实战
  • Open-Lovable 网页克隆工具及 cpolar 远程访问配置
  • DrugCLIP 网页版使用指南:蛋白与配体匹配筛选
  • AI 审稿提示词:严肃的学术审稿人
  • AI Agent 推理架构对比:ReAct 与 Plan-and-Execute 的选择
  • AI Agent 推理架构对比:ReAct 与 Plan-and-Execute 的选择
  • Qt for Python:PySide6 入门指南
  • 2025 大厂 AI 大模型面试题精编与答案解析
  • GitHub Copilot 兼容 API 方案:copilot-api 使用指南
  • Stable Diffusion 本地运行硬件配置选择与优化指南
  • 2026 AI Agent 技术趋势与多 Agent 系统实战
  • Neo4j 安装与使用教程
  • 鸿蒙(HarmonyOS)应用开发学习路线图与核心资料指南
  • Web 技术核心与安全风险(三):PHP 基础与数据交互
  • 2026 年主流 AI Agent 产品梳理与选型指南
  • Freqtrade 新手教程:macOS + Docker 环境配置与回测
  • 无人机法律法规全体系梳理
  • A/B 测试太慢?AI 帮你实时优化实验策略

相关免费在线工具

  • Keycode 信息

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

  • Escape 与 Native 编解码

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

  • JavaScript / HTML 格式化

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

  • JavaScript 压缩与混淆

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

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online