在Neo4j中导入多个csv文件

对于批量导入操作,为每个文件导入使用单独的:auto命令,以确保它们不会被包含在一个显式的事务中。以下是脚本示例:

导入第一个CSV文件创建节点(Label1)
bash 复制代码
:auto USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///xxxx.csv' AS line
CREATE (n:Label1 {id: toInteger(line.id), property1: line.property1})
导入第二个CSV文件创建节点(Label2)
bash 复制代码
:auto USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///xxxxx2.csv' AS line
CREATE (m:Label2 {id: toInteger(line.id), property2: line.property2})

导入第三个CSV文件创建节点(Label3)

bash 复制代码
:auto USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///xxxxxx3.csv' AS line
CREATE (m:Label3 {id: toInteger(line.id), property3: line.property3})

导入第4.5.6.7等等~~~~~个CSV文件创建节点(Labelx)

bash 复制代码
:auto USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///xxxxxx3.csv' AS line
CREATE (m:Label4 {id: toInteger(line.id), property4: line.property4})
导入关系CSV文件创建关系
bash 复制代码
:auto USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///guanxi.csv' AS line
MATCH (a:Label1 {id: toInteger(line.source)})
MATCH (b:Label2 {id: toInteger(line.target)})
CREATE (a)-[r:RELATIONSHIP_TYPE]->(b)
SET r = line // 如果你想将CSV中的所有列作为关系属性导入

注意事项

  • 分批提交USING PERIODIC COMMIT默认会每1000条记录提交一次事务,如果你的数据集非常大,这有助于防止内存溢出。
  • 数据验证:确保CSV文件中的数据格式正确无误,并且ID字段能够正确转换为整数类型。
  • 索引和约束:如果可能的话,在导入前创建适当的索引或唯一性约束,可以大大提高匹配节点的速度。
  • 错误处理 :考虑添加一些错误处理逻辑,例如使用MERGE代替CREATE以避免重复插入节点。

确认数据导入

首先,运行一些简单的查询以确认数据已经被正确导入到Neo4j数据库中:

bash 复制代码
MATCH (n:Label1) RETURN n LIMIT 25;

这将返回最多25个Label1类型的节点,

检查关系
bash 复制代码
MATCH ()-[r:RELATIONSHIP_TYPE]->() RETURN r LIMIT 25;

这将返回最多25条RELATIONSHIP_TYPE类型的关系,

显示所有节点和关系

如果你想要查看所有节点及其关系,可以使用以下查询:

bash 复制代码
MATCH (n)-[r]->(m)
RETURN n, r, m
LIMIT 25 // 限制返回的结果数量,避免一次性加载过多数据
相关推荐
知识靠谱2 天前
【Neo4j 】Neo4j Desktop 启动白屏/无反应解决方案(hosts 修改法)
知识图谱·neo4j
喜欢打篮球的普通人6 天前
MLIR快速入门
neo4j·mlir
ELI_He9996 天前
Neo4j 安装 APOC
neo4j
綮地7 天前
Neo4j 基本处理
neo4j
lzp07917 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
爱折腾的小码农7 天前
neo4j数据库桌面管理工具
数据库·neo4j
Wenhao.11 天前
Docker 安装 neo4j
docker·容器·neo4j
RDCJM12 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
机器不学习我也不学习13 天前
TensorFlow环境安装
neo4j
码农老李15 天前
vxWorks7.0 Simpc运行tensorflow lite example
人工智能·tensorflow·neo4j