Neo4j手动创建并导入csv文件

一、创建csv文件

Neo4j数据库里存着两类重要的数据:节点数据关系数据,并且这些数据都可以从 CSV文件 中导入。那么,我们该如何制作这些csv文件呢?其实特别简单,只要你掌握Excel的一些基本操作就足够了。

PS:虽然Excel是一个创建和编辑CSV文件的常用工具,但却不是唯一或最有效的方法。其他文本编辑器或专用软件也可以用来生成符合Neo4j要求的CSV格式文件。

首先,我们来创建存储节点数据的CSV文件。进入你的电脑上 Neo4j 的安装目录,我的是 E:\research\code\DataBase\neo4j-community-5.15.0,找到名为import的文件夹,双击进入该目录。

PS:请严格与笔者内容同步,包括大小写,以确保成功。

在该文件夹下创建一个名为movie.xlsx的Excel文件,双击它在Excel中进行编辑

表格的第一行是表头,第一列是属性名(主键,不可重复),第二列是属性值,第三列是标签ÿ

### 导入CSV文件Neo4j 为了将CSV文件导入到运行于Docker容器环境中的Neo4j数据库,官方推荐的方法是使用`neo4j-admin import`命令[^1]。此方法适用于大规模数据集的高效加载。 #### 准备工作 确保CSV文件格式正确无误,且已经放置在可以被Neo4j访问的位置。如果是在Linux环境下操作,则通常会把文件放在宿主机上的某个目录下,再通过挂载的方式让Docker内的Neo4j实例能够读取这些文件。 #### 数据类型自动识别 当从CSV文件中读取数据时,Neo4j会尝试根据列的内容来推断每一列的数据类型。例如整数(integer),浮点数(float),布尔值(boolean)以及日期(date)[^3]。这种特性简化了预处理过程,使得用户不需要手动指定每种属性的具体类型。 #### 使用Cypher Shell执行导入 除了利用`neo4j-admin import`工具外,还可以编写Python脚本连接至本地或远程的Neo4j服务器,在同一台机器上直接调用Cypher语句完成SQL表向图结构转换的任务[^4]。这种方式特别适合那些已经在现有关系型数据库中有现成表格的情况。 对于简单的场景来说,也可以直接采用Cypher查询语言来进行节点和边的关系定义批量插入记录: ```cypher // 假设有两个csv文件分别存储着电影信息(movie.csv)及其演员列表(actors.csv) // 创建索引提高性能 CREATE INDEX ON :Movie(id); CREATE INDEX ON :Actor(name); // 加载movie.csv创建节点 LOAD CSV WITH HEADERS FROM 'file:///path/to/movie.csv' AS row MERGE (m:Movie {id:row.id}) SET m.title = row.title, m.year = toInteger(row.year), m.rating =toFloat(row.rating); // 加载actors.csv建立关联 LOAD CSV WITH HEADERS FROM 'file:///path/to/actors.csv' AS line MATCH (a:Actor{name:line.actor_name}), (m:Movie{id:line.movie_id}) MERGE (a)-[:ACTED_IN]->(m); ``` 上述代码片段展示了如何先为即将导入的数据设置好必要的索引来优化后续查找效率;接着依次解析两份不同的CSV文档内容,构建对应的实体对象(即节点),最后建立起它们之间的联系形成完整的图谱视图。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值