在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 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
杨某不才2 天前
int8_to_float(output_tensor->data.int8, output_float, load_class_num);
neo4j
视觉AI3 天前
为什么 transformers 要 import TensorFlow
人工智能·tensorflow·neo4j
封奚泽优4 天前
Neo4j中导入.owl数据
知识图谱·neo4j·owl·rdf
Doro再努力4 天前
Neo4j图数据库:简述增删改查
数据库·neo4j
武子康5 天前
Java-165 Neo4j 图论详解 欧拉路径与欧拉回路 10 分钟跑通:Python NetworkX 判定实战
java·数据库·性能优化·系统架构·nosql·neo4j·图论
麦麦大数据7 天前
F042 A星算法课程推荐(A*算法) | 课程知识图谱|课程推荐vue+flask+neo4j B/S架构前后端分离|课程知识图谱构造
vue.js·算法·知识图谱·neo4j·a星算法·路径推荐·课程推荐
rengang668 天前
132-Spring AI Alibaba Vector Neo4j 示例
人工智能·spring·neo4j·rag·spring ai·ai应用编程
小宋10219 天前
Neo4j-图数据库入门图文保姆攻略
数据库·neo4j
消失在人海中10 天前
图形数据库Neo4J简介
数据库·oracle·neo4j