一.基本概念
Neo4j 是一款原生图数据库:用**节点(Node)表示实体,用关系(Relationship)表示实体之间的连接,并可用属性(Property)**描述节点和关系。
它以 属性图模型 存储与查询数据,使用 Cypher 作为查询语言,适合处理高度关联的数据(知识图谱、社交网络、推荐、风控等)。
Neo4j 用 属性图(Property Graph) 模型:

- 官网:https://neo4j.com
- 文档入口:https://neo4j.com/docs/
- 核心概念:

查询语言:Cypher(官网主推的声明式图查询语言)
协议:Bolt(默认 7687)
二.Docker安装Neo4j
1. 准备环境
- 1.安装并打开 Docker Desktop
- 2.菜单栏鲸鱼图标显示 Running
- 3.终端验证:
powershell
docker version
docker info


能正常输出版本即可。
2. 拉取社区版镜像
powershell
docker pull neo4j:5.26.8-community

确认:
powershell
docker images | grep neo4j
应能看到 neo4j 和 5.26.8-community。
3. 创建数据目录(推荐,方便持久化)
powershell
mkdir -p ~/neo4j/data ~/neo4j/logs ~/neo4j/import ~/neo4j/plugins ~/neo4j/conf


4. 启动容器
把密码改成你自己的(至少 8 位,不要太简单):
powershell
docker run -d \
--name neo4j-5.26.8 \
-p 7474:7474 \
-p 7687:7687 \
-e NEO4J_AUTH=neo4j/YourPassword \
-e NEO4J_PLUGINS='["apoc"]' \
-e NEO4J_dbms_security_procedures_unrestricted='apoc.*' \
-e NEO4J_server_memory_heap_initial__size=512m \
-e NEO4J_server_memory_heap_max__size=1G \
-e NEO4J_server_memory_pagecache_size=512m \
-e TZ=Asia/Shanghai \
-v ~/neo4j/data:/data \
-v ~/neo4j/logs:/logs \
-v ~/neo4j/import:/var/lib/neo4j/import \
-v ~/neo4j/plugins:/plugins \
-v ~/neo4j/conf:/conf \
--health-cmd='wget -qO- http://localhost:7474 || exit 1' \
--health-interval=30s \
--health-timeout=10s \
--health-retries=5 \
neo4j:5.26.8-community

参数说明:

查看是否在跑:
powershell
docker ps
docker logs -f neo4j-5.26.8


日志里出现类似 Started. / Remote interface available at http://localhost:7474/ 就差不多就绪了。
5. 打开 Neo4j Browser
浏览器访问:
- 用户名:neo4j
- 密码:上面设的 YourPassword
- Connect URL 一般是:neo4j://localhost:7687 或 bolt://localhost:7687

- MATCH (p:Person {id: '马云'})-r->(m) RETURN p, r, m

6. 常用运维命令
powershell
# 停止
docker stop neo4j-5.26.8
# 启动
docker start neo4j-5.26.8
# 重启
docker restart neo4j-5.26.8
# 看日志
docker logs -f neo4j-5.26.8
# 进容器
docker exec -it neo4j-5.26.8 bash
# 删除容器(数据在 ~/neo4j/data,一般还在)
docker rm -f neo4j-5.26.8
7. 可选:用 docker-compose(方便以后启停)
在任意目录建 docker-compose.yml:
powershell
services:
neo4j:
image: neo4j:5.26.8-community
container_name: neo4j-5.26.8
#restart: unless-stopped
ports:
- "7474:7474" # HTTP / Neo4j Browser
- "7687:7687" # Bolt
environment:
# 用户名/密码:neo4j / 1qaz3edc
NEO4J_AUTH: neo4j/1qaz3edc
# 自动安装 APOC
NEO4J_PLUGINS: '["apoc"]'
# 放开 APOC 过程权限
NEO4J_dbms_security_procedures_unrestricted: "apoc.*"
# 内存(Neo4j 5.x 写法:下划线用双下划线)
NEO4J_server_memory_heap_initial__size: 512m
NEO4J_server_memory_heap_max__size: 1G
NEO4J_server_memory_pagecache_size: 512m
# 时区
TZ: Asia/Shanghai
volumes:
- ./data:/data
- ./logs:/logs
- ./import:/var/lib/neo4j/import
- ./plugins:/plugins
- ./conf:/conf
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:7474 || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
然后:
powershell
cd ~/neo4j
docker compose up -d # 启动
docker compose ps # 查看状态
docker compose logs -f # 看日志
docker compose stop # 停止
docker compose down # 停止并删除容器(数据仍在 ./data)
这几个都要在 ~/neo4j 目录下执行(因为 docker-compose.yml 在这里)。

三. 安装Cypher Shell
Cypher Shell 是 Neo4j 官方的命令行客户端:在终端里连上数据库,直接写、跑 Cypher,看结果。类似 MySQL 的 mysql 客户端,只是面向图库。
Homebrew方式安装
1.确认有 Homebrew
powershell
brew --version

2.安装 Cypher Shell
powershell
brew install cypher-shell
它会依赖 Java 21(openjdk@21),一般会一起装上。


- 验证安装
powershell
cypher-shell --version
which cypher-shell



四.典型应用场景
- 知识图谱 / GraphRAG 后端
- 推荐系统(用户--物品--标签)
- 风控与反欺诈(团伙、环路)
- 权限与 IT 资产拓扑
- 供应链、依赖分析、社交网络