Neo4j学习总结

一.基本概念

Neo4j 是一款原生图数据库:用**节点(Node)表示实体,用关系(Relationship)表示实体之间的连接,并可用属性(Property)**描述节点和关系。

它以 属性图模型 存储与查询数据,使用 Cypher 作为查询语言,适合处理高度关联的数据(知识图谱、社交网络、推荐、风控等)。

Neo4j 用 属性图(Property Graph) 模型:

二.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

浏览器访问:

http://localhost:7474

  • 用户名: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),一般会一起装上。

  1. 验证安装
powershell 复制代码
cypher-shell --version
which cypher-shell

四.典型应用场景

  • 知识图谱 / GraphRAG 后端
  • 推荐系统(用户--物品--标签)
  • 风控与反欺诈(团伙、环路)
  • 权限与 IT 资产拓扑
  • 供应链、依赖分析、社交网络
相关推荐
JOker_Chu_3 天前
知识图谱详解:从图结构、关系建模到查询与应用
数据库·知识图谱·database·neo4j
veminhe4 天前
使用neo4j构建知识图谱
人工智能·知识图谱·neo4j
星川皆无恙8 天前
大数据知识图谱项目:基于neo4j知识图谱+flask的大数据电影问答系统(超详细讲解及源码)
大数据·知识图谱·neo4j
jinggongszh9 天前
企业知识库的第三条路:PG16做事实源,Neo4j做图投影
知识图谱·neo4j·rag·企业知识库·postgresql 16·证据链
是赵敢敢啊21 天前
自定义注解@SyncNeo4j实现增删改导入时自动同步数据节点和关系到Neo4j
neo4j
心念枕惊1 个月前
Conda 环境一键搬家:用 conda-pack 打包带走,连网都不用
conda·neo4j
码农学院1 个月前
Neo4j知识图谱赋能跨境电商GEO:LLM实体识别与AI搜索引擎结构化数据输出实战
人工智能·知识图谱·neo4j
TE-茶叶蛋1 个月前
RAG智能电商客服什么时候上Neo4j?
neo4j
羊羊小栈1 个月前
基于GraphRAG的税务财务智能问答系统(Neo4j_大语言模型)
人工智能·算法·语言模型·自然语言处理·毕业设计·neo4j·大作业