Neo4j导入csv数据,并创建节点

Neo4j 是一种图数据库,特别适合管理和分析复杂的关系数据。

数据来源:http://openkg.cn/

导入到 Neo4j 的合适场景:

复制代码
需要在物种分类中查找层级关系(如物种的科、属等)。
需要进行关系查询和图结构的分析。
想在分类树中进行图遍历(如沿着生物分类进行导航)。
在 Neo4j 中,每个物种可以作为一个节点(Node),不同的生物分类(界、门、纲、目、科等)可以用关系(Relationship)来表达。

使用neo4j用户执行命令导入csv文件

加载 CSV 数据并创建节点

复制代码
LOAD CSV WITH HEADERS FROM 'file:///fish.csv' AS row
CREATE (:Fish {
    id: row.ID,
    name: row.name,
    fish_name_en: row.fish_name_en,
    fish_img_url: row.fish_img_url,
    fish_imgs_url: row.fish_imgs_url,
    bio_kingdom_cn: row.bio_kingdom_cn,
    bio_kingdom_en: row.bio_kingdom_en,
    bio_phylum_cn: row.bio_phylum_cn,
    bio_phylum_en: row.bio_phylum_en,
    bio_class_cn: row.bio_class_cn,
    bio_class_en: row.bio_class_en,
    bio_order_cn: row.bio_order_cn,
    bio_order_en: row.bio_order_en,
    bio_family_cn: row.bio_family_cn,
    bio_family_en: row.bio_family_en,
    bio_genus_cn: row.bio_genus_cn,
    bio_genus_en: row.bio_genus_en,
    bio_is_toxic: row.bio_is_toxic,
    bio_is_economy: row.bio_is_economy,
    bio_is_food: row.bio_is_food,
    bio_is_view: row.bio_is_view,
    bio_other_name_url: row.bio_other_name_url,
    bio_introduction: row.bio_introduction
});

注意事项

这里需要注意的是,

Cypher 语法不支持像 Python 那样通过row[:ID]的方式访问列。正确的访问方式是使用列名,如 row.ID
file:///fish.csv 是指 Neo4j 的 import 目录下的文件。如果文件不在该目录,需要将文件放入该目录或者修改路径。

在 Windows 系统中,Neo4j 的 import 目录通常位于 Neo4j 安装目录下。

我这里是通过Neo4j Desktop安装的(安装教程在上篇文章)

如果是通过 Neo4j Desktop 安装的 Neo4j,import 目录通常在项目或数据库目录下。

复制代码
C:\Users\<YourUsername>\.Neo4jDesktop\relate-data\dbmss\<unique-db-id>\import\

执行成功

查询验证

复制代码
MATCH (n) RETURN (n) limit 10
相关推荐
是Yu欸18 小时前
DevUI MateChat 技术演进:UI 与逻辑解耦的声明式 AI 交互架构
前端·人工智能·ui·ai·前端框架·devui·metachat
我不是QI18 小时前
周志华《机器学习---西瓜书》 一
人工智能·python·机器学习·ai
组合缺一1 天前
Spring Boot 国产化替代方案。Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)
java·后端·spring·ai·web·solon·mcp
张彦峰ZYF1 天前
AI赋能原则1解读思考:超级能动性-AI巨变时代重建个人掌控力的关键能力
人工智能·ai·aigc·ai-native
美林数据Tempodata1 天前
李飞飞最新论文深度解读:从语言到世界,空间智能将重写AI的未来十年
人工智能·ai·空间智能
豆奶特浓61 天前
Java面试生死局:谢飞机遭遇在线教育场景,从JVM、Spring Security到AI Agent,他能飞吗?
java·jvm·微服务·ai·面试·spring security·分布式事务
todoitbo1 天前
基于 DevUI MateChat 搭建前端编程学习智能助手:从痛点到解决方案
前端·学习·ai·状态模式·devui·matechat
xcLeigh1 天前
AI的提示词专栏:“Re-prompting” 与迭代式 Prompt 调优
人工智能·ai·prompt·提示词
哥布林学者1 天前
吴恩达深度学习课程三: 结构化机器学习项目 第二周:误差分析与学习方法(一)误差分析与快速迭代
深度学习·ai
Elastic 中国社区官方博客1 天前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索