Docker中的Neo4j

Docker中neo4j导入csv数据(Win10版本)

Windows Home 版本,则 Docker Desktop 不支持共享驱动器功能。在这种情况下,您需要使用其他方法将文件夹挂载到容器中。

1、将文件夹挂载到Docker Desktop容器中

使用 Docker volume 来创建一个专门用于共享文件的卷。

docker volume create import

然后,可以在运行容器时使用 -v 选项将该卷挂载到容器的目录中。

docker run -it -v import:/import <docker中的image_name>

2、在Docker中部署neo4j

docker run -d --name neo4j -p 7474:7474 -p 7687:7687 --volume=$HOME/neo4j/data:/data --volume=$HOME/neo4j/logs:/logs --volume=$HOME/neo4j/conf:/conf -it -v import:/import --env NEO4J_AUTH=neo4j/Wycjh929 neo4j

3、将文件夹中的文件复制到新创建的 Docker volume 中

docker cp C:\neo4j\import(文件在电脑中的具体位置) <container_id>:/import

可以用如下命令查看正在运行的容器id

docker ps -q

4、用Cypher将csv数据集导入neo4j

以下是一个例子:

假设您有一个名为people.csv的文件,其中包含了每个人的姓名和年龄,其中第一行为标题,之后的行是每个人的数据,如下所示:

name,age
Alice,25
Bob,30
Charlie,35

您可以使用以下 Cypher 命令将该数据集导入 Neo4j 数据库:

LOAD CSV WITH HEADERS FROM "file:///people.csv" AS row
CREATE (:Person {name: row.name, age: toInteger(row.age)})

这个命令会:

  • 使用 LOAD CSV WITH HEADERS 从 CSV 文件中读取数据。WITH HEADERS 表示第一行是标题。
  • FROM “file:///people.csv” 指定文件的路径
  • AS row 指定一个变量来存储每行数据。
  • CREATE (:Person {name: row.name, age: toInteger(row.age)}) 创建一个名为 “Person” 的节点类型,每个节点包含一个 “name” 和 “age” 属性,它们的值来自 CSV 文件中的相应列。toInteger 将字符串转换为整数类型。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值