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

Mac 下 Neo4j 图数据库安装与基础操作指南

综述由AI生成Neo4j 是一款高性能图数据库,适用于社交网络分析与知识图谱场景。详述了在 macOS 环境下通过 Homebrew 或官方包进行安装的步骤,包括 JDK 环境配置、环境变量设置及服务启动。内容涵盖 Cypher 查询语言的核心操作,如节点与关系的创建、属性修改、多条件匹配及数据删除,提供了从零搭建到基础 CRUD 的完整实战指引。

DevOpsTeam发布于 2026/4/5更新于 2026/6/1124 浏览
Mac 下 Neo4j 图数据库安装与基础操作指南

Neo4j 简介

Neo4j 是一种高性能的图数据库,专门用于存储和查询图形数据。它非常适合社交网络分析、推荐系统、知识图谱等场景。

一、安装前提条件

1.1 Java 环境

Neo4j 基于 Java 运行,因此首先需要安装 JDK。可以从 Oracle 官网或 OpenJDK 网站下载适合 macOS 的版本。通常建议:

  • Neo4j 5.x 版本使用 JDK 17 或更高版本。
  • Neo4j 4.x 版本使用 JDK 11。

1.2 Homebrew(可选)

Homebrew 是 macOS 上的包管理器,能简化软件安装过程。如果尚未安装,可通过终端执行以下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

二、下载并安装 Neo4j

2.1 从官方网站下载

访问 Neo4j 官方下载页面获取最新版本。这里提供的是社区版,通常包含桌面端和命令行版本。对于服务器或开发环境,推荐使用命令行版本而非桌面端。

解压下载的压缩包后,在文件夹内即可直接使用 neo4j 命令。

2.2 使用 Homebrew 安装

打开终端,输入以下命令进行安装:

brew install neo4j

安装完成后,可执行文件通常位于 /usr/local/opt/neo4j/bin 目录下。

三、配置 Neo4j

3.1 设置环境变量(可选)

若希望从任意路径启动服务,需将 Neo4j 的可执行文件路径添加到系统 PATH 中。常见路径如下:

  • 桌面端:/Applications/Neo4j Desktop.app/Contents/Resources/app/bin
  • 非桌面端:解压目录下的 /bin 路径

以 bash shell 为例,添加命令至 ~/.bash_profile 或 ~/.zshrc:

export PATH="/path/to/neo4j/bin:$PATH"

修改后执行 source ~/.bash_profile 使配置生效。

3.2 编辑配置文件

如需手动修改配置,可使用文本编辑器打开 ~/.bash_profile 文件。

使用 nano 编辑器:

nano ~/.bash_profile

保存按 Control + O,退出按 Control + X。

使用默认编辑器:

open -e ~/.bash_profile

注意 TextEdit 可能会以富文本格式打开,建议切换为纯文本模式(Command + Shift + T)以避免格式问题。

四、启动 Neo4j

4.1 标准启动

若已配置环境变量或使用 Homebrew,直接输入:

neo4j start

启动成功后,终端会显示进程 ID 及访问地址 http://localhost:7474。

4.2 绝对路径启动

未配置 PATH 时,可使用完整路径启动:

/Users/your/path/neo4j-community-4.4.38/bin/neo4j start

启动后,在浏览器访问 http://localhost:7474,默认用户名和密码均为 neo4j(首次登录需修改密码)。

五、创建一个简单的图

Cypher 是 Neo4j 的声明式查询语言,用于构建和操作图数据。图由节点(Node)、关系(Relationship)和属性(Property)组成。

5.1 创建节点/关系

5.1.1 创建节点并分配属性
CREATE (n {name:"曹操"})

执行后可通过查询语句验证节点是否存在。

5.1.2 创建节点并分配标签
CREATE (p:Person{name:"曹操"})

添加标签后,节点会在左侧列表中显示。

5.1.3 批量创建节点

利用 UNWIND 可以将列表解构为多行,适用于批量导入。

无标签示例:

UNWIND [{name: '张辽'}, {name: '关羽'}] AS myNodes
CREATE (n) SET n = myNodes

带标签示例:

UNWIND [{name: '貂蝉'}, {name: '吕布'}] AS myNode
CREATE (n:Person {name: myNode.name})
5.1.4 创建关系

连接两个已存在的节点:

MATCH (a:Person), (b:Person)
WHERE a.name = '吕布' AND b.name = '貂蝉'
CREATE (a)-[r:妻子]->(b)
RETURN r

5.2 修改节点/关系

5.2.1 为节点添加属性
MATCH (n {name:'吕布'})
SET n.age=18
RETURN n
5.2.2 为节点添加标签
MATCH (n{name:'关羽'})
SET n:Person
RETURN n

5.3 匹配(查找)节点/关系

Cypher 的 MATCH 类似于 SQL 的 SELECT,配合 WHERE 子句进行过滤。

5.3.1 根据属性匹配
MATCH (n {name:"吕布"}) RETURN n
MATCH (n {age:18}) RETURN n
5.3.2 根据标签和属性匹配
MATCH (n:Person {name:"吕布"}) RETURN n
5.3.3 匹配任意节点或关系
MATCH (n) RETURN n
MATCH p = (n)-[r]->(m) RETURN p
5.3.4 字符串匹配技巧
  • 开头匹配:
MATCH (n) WHERE n.name STARTS WITH '吕' RETURN n
  • 末尾匹配:
MATCH (n) WHERE n.name ENDS WITH '布' RETURN n
  • 包含匹配:
MATCH (n) WHERE n.name CONTAINS '吕' RETURN n
  • 排除匹配:
MATCH (n) WHERE NOT n.name STARTS WITH '吕' RETURN n

5.4 删除节点/关系

5.4.1 删除节点属性
MATCH (n {name:'夏侯淳'}) REMOVE n.age RETURN n
5.4.2 删除节点标签
MATCH (n {name:'夏侯淳'}) REMOVE n:Person RETURN n
5.4.3 删除节点
MATCH (p:Person {name: '夏侯淳'}) DELETE p

注意:删除节点会自动删除与其相连的关系。

5.4.4 删除关系

仅删除指定关系,保留节点:

MATCH (a)-[r]->(b)
WHERE a.name = '吕布' AND b.name = '貂蝉'
DELETE r
5.4.5 删除关系及孤立节点
MATCH (a)-[r]->(b)
WHERE a.name = '节点 A' AND b.name = '节点 B'
DETACH DELETE r
5.4.6 删除所有节点和关系

清空整个图数据库需谨慎,以下为彻底清除命令:

MATCH (n) DETACH DELETE n

六、其他常用命令

  • 查询版本:neo4j --version
  • 查看状态:neo4j status
  • 重启服务:neo4j restart
  • 停止服务:neo4j stop
  • 卸载(Homebrew):brew uninstall neo4j
  • 清理数据:rm -rf /usr/local/var/neo4j

目录

  1. Neo4j 简介
  2. 一、安装前提条件
  3. 1.1 Java 环境
  4. 1.2 Homebrew(可选)
  5. 二、下载并安装 Neo4j
  6. 2.1 从官方网站下载
  7. 2.2 使用 Homebrew 安装
  8. 三、配置 Neo4j
  9. 3.1 设置环境变量(可选)
  10. 3.2 编辑配置文件
  11. 四、启动 Neo4j
  12. 4.1 标准启动
  13. 4.2 绝对路径启动
  14. 五、创建一个简单的图
  15. 5.1 创建节点/关系
  16. 5.1.1 创建节点并分配属性
  17. 5.1.2 创建节点并分配标签
  18. 5.1.3 批量创建节点
  19. 5.1.4 创建关系
  20. 5.2 修改节点/关系
  21. 5.2.1 为节点添加属性
  22. 5.2.2 为节点添加标签
  23. 5.3 匹配(查找)节点/关系
  24. 5.3.1 根据属性匹配
  25. 5.3.2 根据标签和属性匹配
  26. 5.3.3 匹配任意节点或关系
  27. 5.3.4 字符串匹配技巧
  28. 5.4 删除节点/关系
  29. 5.4.1 删除节点属性
  30. 5.4.2 删除节点标签
  31. 5.4.3 删除节点
  32. 5.4.4 删除关系
  33. 5.4.5 删除关系及孤立节点
  34. 5.4.6 删除所有节点和关系
  35. 六、其他常用命令
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 电商产品 AI 绘画提示词撰写指南
  • Termux+Ubuntu 本地部署 OpenClaw 与 Llama 模型教程
  • 链表经典算法题详解
  • Coze Skills + OpenClaw 实战:构建 AI 智能体自动化工作流
  • Java 使用 Jackson 解析 JSON 数据示例
  • Windows 11 安装 JDK 25:下载、安装、配置环境变量、验证
  • Maven 执行 install 或 compile 报错处理
  • RAP-MCTS 算法详解:大模型思维链
  • Llama-Factory 在机场航班延误通知中的应用与优化
  • 人工智能:多模态大模型原理与跨模态应用实战
  • GitHub 访问速度优化:本地 hosts 配置与 DNS 刷新指南
  • MySQL 基础 CRUD 与查询操作
  • 西门子 S7-1500 PLC 与 Fanuc 机器人焊装系统集成及 Profinet 通讯
  • C# .NET Framework Web Service 开发实例详解
  • AI 辅助区块链钱包开发:智能合约交互与监控脚本实践
  • OpenClaw Web 控制台使用指南:可视化配置与监控
  • C++ 标准库 count 用法详解
  • 基于统一 API 的大模型选型策略与成本优化实践
  • 计算机专业大学生必参加的六大编程竞赛指南
  • Android 原生安全音量功能实现原理与定制分析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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