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

Neo4j 安装与基础使用教程

综述由AI生成Neo4j 5.26.10 版本的安装与基础使用方法。内容涵盖 JDK 17 前置环境配置、软件安装步骤、环境变量设置以及服务的启停控制。详细说明了如何通过本地浏览器访问数据库界面,并演示了如何导入 dump 文件。此外,文章整理了核心的 Cypher 查询语言指令,包括节点的创建、匹配、更新、删除及合并操作,同时提供了管理命令参考,涉及约束、索引、系统信息及用户权限管理等常用功能。

编程诗人发布于 2026/4/6更新于 2026/5/2337 浏览
Neo4j 安装与基础使用教程

一、安装

1.0 前置条件

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

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

Java Archive Downloads

直接安装即可。

配置以下环境变量:

文章配图

文章配图

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)

用于查询图中的节点和关系。

-- 查找所有节点
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)

'有则返回,无则创建'。

-- 合并节点
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 管理命令

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

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 管理命令
  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

更多推荐文章

查看全部
  • 医疗 AI Agent 可信构建:不确定性治理与贝叶斯增强
  • 以太网网口与 PHY 芯片硬件设计详解
  • 7 款最佳开源 LLM WebUI 工具推荐
  • Obsidian Copilot 集成本地模型:Ollama 与 LM Studio 配置指南
  • MySQL 慢查询日志完全梳理与实战优化
  • JDK8 下载安装与环境变量配置
  • 基于 Web 的在线投稿系统的设计与实现
  • 27 岁自学 Python 转行可行性与入行时机分析
  • 深入理解 AI 三大核心概念:Skill、MCP 与 Function Call
  • AI 大模型技术入门、进阶与职业发展路径详解
  • Spring Cloud 负载均衡 LoadBalancer 原理与实践
  • Transformer 模型架构与核心原理详解
  • OpenClaw 开源 AI Agent 新版本功能解析
  • Java 面试题及答案汇总
  • DGX Spark 部署 vLLM 与 Open WebUI 运行 Qwen3-Coder-FP8
  • C++ 面向对象编程核心:继承机制深度解析
  • 2026年3月全球大模型全景:国产登顶、百万上下文与智能体爆发
  • 重点区域低空安全防御系统(反无人机)建设方案
  • Python+Agent 入门实战:搭建可复用 AI 智能体
  • IntelliJ IDEA 集成 DeepSeek 实现 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

  • SQL 美化和格式化

    在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online

  • SQL转CSV/JSON/XML

    解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online