简介

本文通过Docker Compose 安装 Neo4j ,可以方便维护。

Docker 环境安装

首先更具自己使用的操作系统发行版,参考以下文档进行容器运行环境的安装配置。

  • CentOS

  • RockyLinux

  • Ubuntu/Debian

  • 龙蜥(Anolis OS)

  • 银河麒麟 V10 SP3

Neo4j 安装配置

1.创建目录

# 创建保存neo4j 的存储目录
mkdir -p /path/neo4j/{data,logs,import,plugins}
# 切换目录
cd /path/neo4j

2.创建 docker-compose.yml 文件

version: '3.8'
services:
  neo4j:
    image: neo4j:latest
    container_name: neo4j
    ports:
      - "7474:7474"   # Neo4j 浏览器 HTTP
      - "7687:7687"   # Bolt 协议
    volumes:
      - ./data:/data
      - ./logs:/logs
      - ./import:/var/lib/neo4j/import
      - ./plugins:/plugins
    environment:
      NEO4J_AUTH: neo4j/password

配置说明

  • image : 使用最新版本的 Neo4j Docker 镜像。

  • ports : 将主机的 7474 端口映射到容器的 7474 端口,用于访问 Neo4j 浏览器。将主机的 7687 端口映射到容器的 7687 端口,用于 Bolt 协议。

  • volumes : 将数据、日志、导入文件和插件目录挂载到宿主机,以便持久化数据。

  • environment : 设置 Neo4j 的初始用户名和密码(此示例中为 neo4j/password)。

3.启动 Neo4j

在终端或命令行工具中,运行以下命令启动 Neo4j 服务:

docker-compose up -d

4.访问 Neo4j

容器启动完成后,通过浏览器访问如下地址:

http://x.x.x.x:7474

使用 docker-compose.yml 中定义的用户名和密码进行登录。

Neo4j 管理使用

可以通过浏览器来管理和查询 Neo4j 数据库。在浏览器中,可以编写 Cypher 查询来创建节点和关系,或者执行其他管理任务。

示例 Cypher 查询

// 创建问题节点
CREATE (q1:Question {id: 1, text: '你是男方还是女方?', type: 'single'})
CREATE (q2:Question {id: 2, text: '你想咨询以下什么问题?', type: 'multiple'})
CREATE (q3:Question {id: 3, text: '你们现在有几个小孩存在抚养权问题?', type: 'single'})
// 创建选项节点
CREATE (o1:Option {id: 1, text: '男方'})
CREATE (o2:Option {id: 2, text: '女方'})
CREATE (o3:Option {id: 3, text: '抚养权问题'})
CREATE (o4:Option {id: 4, text: '抚养费问题'})
CREATE (o5:Option {id: 5, text: '一个'})
CREATE (o6:Option {id: 6, text: '两个'})
CREATE (o7:Option {id: 7, text: '三个及三个以上'})
// 创建问题与选项之间的关系
CREATE (q1)-[:HAS_OPTION]->(o1)
CREATE (q1)-[:HAS_OPTION]->(o2)
CREATE (q2)-[:HAS_OPTION]->(o3)
CREATE (q2)-[:HAS_OPTION]->(o4)
CREATE (q3)-[:HAS_OPTION]->(o5)
CREATE (q3)-[:HAS_OPTION]->(o6)
CREATE (q3)-[:HAS_OPTION]->(o7)
// 定义选项选择后的下一问题关系
CREATE (o1)-[:LEADS_TO]->(q2)
CREATE (o2)-[:LEADS_TO]->(q2)
CREATE (o3)-[:LEADS_TO]->(q3)
CREATE (o4)-[:LEADS_TO]->(q3)

停止和移除 Neo4j 容器

如果你需要停止 Neo4j 容器,可以使用以下命令:

docker-compose down