概述
在 Neo4j 中,一条导入语句大致是这样工作的:
从文件里读数据(LOAD + FROM) → 在图里找节点(MATCH)或创建节点(MERGE) → 建立关系
详细解析
1. LOAD CSV
是什么
LOAD CSV = '从 CSV 文件中一行一行读取数据'
你可以把它理解成:
'for each row in this CSV file'
Neo4j 数据导入主要涉及从外部文件读取数据、查找或创建节点以及建立关系。核心语句包括 LOAD CSV 用于读取 CSV 文件,FROM 指定文件路径,MATCH 用于查找已存在的节点,MERGE 用于存在则使用不存在则创建节点或关系。通过组合这些语句,可以实现高效的数据迁移和图谱构建,避免重复数据并准确关联信息。
在 Neo4j 中,一条导入语句大致是这样工作的:
从文件里读数据(LOAD + FROM) → 在图里找节点(MATCH)或创建节点(MERGE) → 建立关系
LOAD CSV = '从 CSV 文件中一行一行读取数据'
你可以把它理解成:
'for each row in this CSV file'
LOAD CSV WITH HEADERS FROM "file:///neo4j_wtg_nodes.csv" AS line
| 部分 | 含义 |
|---|---|
LOAD CSV | 说明要读 CSV |
WITH HEADERS | 第一行是列名 |
FROM "file:///xxx.csv" | 文件路径 |
AS line | 每一行叫 line |
之后你就可以用:
line.node_id
✔ 导入数据时必用
✔ Neo4j 从外部文件读取数据的唯一方式之一
FROM = 指定数据来源
在 Neo4j 中几乎只跟 LOAD CSV 搭配。
FROM "file:///xxx.csv"
neo4j/import 目录file:///
MATCH = 在图数据库中'查找已经存在的节点或关系'
你可以把它理解成:
'在图里找符合条件的东西'
MATCH (a:WTG_Variable {name: line.src}) MATCH (b:WTG_Variable {name: line.dst})
⚠️ MATCH 不会创建东西
✔ 节点已经存在,只想用它
✔ 建立关系前几乎一定要 MATCH
MERGE = '如果存在就用,不存在就创建'
它相当于:
SQL 里的
SELECT + INSERT合体版
MERGE (n:WTG_Variable {name: line.node_id});
意思是:
name = xxx 的节点 → 用它👉 不会重复创建
MERGE (a)-[:INFLUENCES]->(b);
意思是:
✔ 导入数据
✔ 防止重复节点 / 重复关系
✔ 90% 的导入语句都用 MERGE
LOAD CSV WITH HEADERS FROM "file:///neo4j_wtg_nodes.csv" AS line MERGE (n:WTG_Variable {name: line.node_id});
lineline.node_id 取变量名LOAD CSV WITH HEADERS FROM "file:///neo4j_wtg_relationships.csv" AS line MATCH (a:WTG_Variable {name: line.src}) MATCH (b:WTG_Variable {name: line.dst}) MERGE (a)-[:INFLUENCES]->(b);
ab| 关键字 | 干啥的 | 什么时候用 |
|---|---|---|
LOAD CSV | 读文件 | 导入 CSV |
FROM | 文件路径 | 只跟 LOAD 用 |
MATCH | 找已有节点 | 建关系前 |
MERGE | 找或建 | 导入节点 / 关系 |
CREATE | 只创建 | 不怕重复时 |
LOAD 负责'读数据',
MATCH 负责'找已有',
MERGE 负责'别重复',
FROM 只是'文件地址'。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online
CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online