一、总览直觉
在 Neo4j 里,一条导入语句大致是这样工作的:
从文件里读数据(LOAD + FROM) → 在图里找节点(MATCH)或创建节点(MERGE) → 建立关系
二、核心命令详解
1. LOAD CSV
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 从外部文件读取数据的唯一方式之一
2. FROM
FROM = 指定数据来源
在 Neo4j 中几乎只跟 LOAD CSV 搭配。
FROM "file:///xxx.csv"
注意两点:
- 必须放在
neo4j/import目录 - 路径前面必须是:
file:///
3. MATCH
MATCH = 在图数据库中'查找已经存在的节点或关系'
你可以把它理解成:
'在图里找符合条件的东西'
示例
MATCH (a:WTG_Variable {name: line.src}) MATCH (b:WTG_Variable {name: line.dst})
含义是:
- 找一个 name = line.src 的节点
- 找一个 name = line.dst 的节点
⚠️ MATCH 不会创建东西
- 找不到 → 返回空 → 后面的语句不执行
使用场景
- 节点已经存在,只想用它
- 建立关系前几乎一定要 MATCH

