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

Neo4j 安装与使用教程

综述由AI生成介绍 Neo4j 图数据库的安装配置与基础使用。涵盖 JDK 环境准备、软件解压部署、环境变量设置、服务启停及状态查看。演示了通过本地浏览器访问控制台、导入 dump 备份文件的方法。详细列举了 Cypher 查询语言的核心操作(创建、匹配、更新、删除、合并)及管理命令(约束、索引、信息查询、用户权限)。提供了清空数据库、统计节点数等实用技巧,适合初学者快速上手。

蜜桃汽水发布于 2026/4/6更新于 2026/5/2237 浏览
Neo4j 安装与使用教程

安装

前置条件

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

本文示例基于 Neo4j 5.26.10 版本,需配合 Java 17 及以上环境。

Java Archive Downloads - Java SE 17.0.12 and earlier

直接安装即可。

配置以下环境变量:

文章配图

文章配图

下载安装

Neo4j Deployment Center - Graph Database & Analytics

文章配图

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

环境变量配置

添加 neo4j 的安装路径到系统环境变量:

文章配图

基本使用

服务管理

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

./neo4j.bat console

文章配图

关闭服务直接按 Ctrl+C 即可。

查看运行状态,cmd 窗口输入 neo4j status。

访问控制台

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

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

数据导入

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

文章配图

注意,dump 文件的名称必须和数据库同名:

文章配图

否则会导致报错:

文章配图

常用命令

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

Cypher 查询语言

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

创建(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
匹配(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
更新(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
删除(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
合并(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

管理命令

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

约束(Constraints)

用于保证数据的完整性。

  • 创建唯一性约束:
CREATE CONSTRAINT constraint_name FOR (n:Person) REQUIRE n.email IS UNIQUE
  • 查看所有约束:
SHOW CONSTRAINTS
  • 删除约束:
DROP CONSTRAINT constraint_name
索引(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
信息查询(Schema & Info)
  • 查看数据库基本信息:
:sysinfo
  • 查看图数据库的结构(所有标签、关系类型、属性):
CALL db.schema.visualization()
  • 列出所有数据库:
SHOW DATABASES
  • 查看当前数据库的状态和信息:
CALL db.info()
用户与权限管理(企业版功能)
  • 显示所有用户:
SHOW USERS
  • 创建用户:
CREATE USER username SET PASSWORD 'password' CHANGE NOT REQUIRED SET STATUS ACTIVE
  • 更改用户密码:
ALTER USER username SET PASSWORD 'newpassword' CHANGE NOT REQUIRED

实用技巧

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

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

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

建议在实际操作中熟悉语法。

目录

  1. 安装
  2. 前置条件
  3. 下载安装
  4. 环境变量配置
  5. 基本使用
  6. 服务管理
  7. 访问控制台
  8. 数据导入
  9. 常用命令
  10. Cypher 查询语言
  11. 创建(CREATE)
  12. 匹配(MATCH)
  13. 更新(SET, REMOVE)
  14. 删除(DELETE)
  15. 合并(MERGE)
  16. 管理命令
  17. 约束(Constraints)
  18. 索引(Indexes)
  19. 信息查询(Schema & Info)
  20. 用户与权限管理(企业版功能)
  21. 实用技巧
  22. 清空整个数据库(谨慎使用!)
  23. 计数
  24. 在 Neo4j Browser 中使用命令行
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • VR 音游音符轨道系统开发实录与原理解析
  • ToDesk 推出 ToClaw:AI Agent 融入日常工作流
  • 解决安装 WSL 及 Ubuntu 时出现的安全频道支持错误
  • C++高性能计算实战:多线程 SIMD 内存池与并发数据结构
  • 飞牛 NAS 更换网络环境后 IP 无法访问的解决方法
  • DeepSeek 各版本详解:特性、优缺点及适用场景对比
  • Redis 五大核心数据结构及底层原理详解
  • Python 数据分析与可视化实战指南
  • Stable Diffusion 生成 AI 数字人视频教程
  • 人工智能:自然语言处理在金融领域的应用与实战
  • Git 基础入门:从安装到核心操作
  • .NET 的 WebApi 项目必要可配置项都有哪些?
  • 大表数据高效切片:基于主键的无排序 WHERE 条件生成算法
  • HarmonyOS 应用集成静默登录与端云一体功能实践
  • OpenAI 官宣结构化输出功能及常用工具汇总
  • AI Skills:前端开发效率新工具
  • 宇树 G1 人形机器人强化学习训练配置与奖励函数解析
  • 纯 C# 自研轻量级跨平台 UI 引擎:内核 <200KB 与高性能渲染实践
  • 三款实用 AI 工具推荐:图像增强、语音合成与 Logo 生成
  • Neo4j 5.26 版本下载安装配置步骤

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • 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

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online