通过 Docker 灵活部署 Neo4j 图数据库

本文将从 neo4j 数据库部署、参数配置和百万级数据的快速写入方法三方面来介绍图数据库的部署与使用。

1. Neo4j部署

在 Linux 服务器上,可使用 Neo4j 官方 Docker 镜像快速部署图数据库服务。具体命令如下:

docker run -d --name neo4j  -p 7474:7474 -p 7687:7687  -v /home/neo4j/data:/data  -v /home/neo4j/logs:/logs  -v /home/neo4j/conf:/var/lib/neo4j/conf  -v /home/neo4j/import:/var/lib/neo4j/import  --env NEO4J_AUTH=user/keys  neo4j:5-community

需要注意的是,绝对不能修改 Docker 本地共享文件夹的权限设置(如 /home/neo4j/conf 等),否则会引起容器启动后立即崩溃,无法正常使用服务。

2. Neo4j 参数配置

从容器目录 /var/lib/neo4j/conf 删除 neo4j.conf 配置文件后,从本地拷贝设置好的配置文件到该目录1,然后重启 docker 容器即可使配置修改生效。(neo4j v5.0 conf配置文件

3.数据导入方法

首先将待写入的 csv 数据放置到 /home/neo4j/import 目录下,然后通过 py2neo 使用 python,或直接执行 Cypher 命令以写入实体,Cypher 命令及 csv 文件数据格式如下(Neo4j 三元组数据快速导入源码):

LOAD CSV FROM "file:///no.csv" AS line 
CREATE (no:专利申请号 {name:line[0]})
RETURN no.name as name, id(no) as id
CN201511024078
CN201511024078
CN201511024078
CN201511024078

通过 return 得到实体节点在数据库中的索引id,在关系创建时,通过索引id 匹配实体速度有显著提高。创建关系的 Cypher 命令及 csv 数据格式如下:

LOAD CSV FROM "file:///no2bz.csv" AS line 
MATCH (no), (bz) WHERE id(no)=toInteger(line[0]) AND id(bz)=toInteger(line[1]) 
CREATE (no)-[r:制作步骤]->(bz)
25062,213366
141925,218909
112775,215782
100256,210661

  1. 配置文件设置方法参考自:Neo4j安装部署教程 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值