neo4j 加载 CSV

LOAD CSV用于将数据从 CSV 文件导入 Neo4j 数据库。

LOAD CSV FROM 'https://data.neo4j.com/bands/artists.csv'
AS row
MERGE (:Artist {name: row[1], year: toInteger(row[2])})
FROM包含STRINGCSV 文件所在路径。
该子句一次解析一行,将当前行临时存储在用 指定的变量中AS
MERGE子句访问row变量以将数据插入数据库。

LOAD CSV支持本地和远程 URL。本地路径是相对于 Neo4j 安装文件夹解析的。

将 CSV 数据导入 Neo4j

导入本地文件

在 Aura 上不可用

您可以将 CSV 文件存储在数据库服务器上,然后使用 URL 访问它们file:///。默认情况下,路径是相对于 Neo4j 导入目录解析的。

示例 1. 从本地文件导入艺术家姓名和年份信息
艺术家.csv
1,ABBA,1992
2,Roxette,1986
3,Europe,1979
4,The Cardigans,1992
询问
LOAD CSV FROM 'file:///artists.csv' AS row
MERGE (a:Artist {name: row[1], year: toInteger(row[2])})
RETURN a.name, a.year
结果
一个名字 一年

4 行

添加了 4 个节点,设置了 8 个属性,添加了 4 个标签

'ABBA'

'1992'

'Roxette'

'1986'

'Europe'

'1979'

'The Cardigans'

'1992'

有关将数据导入 Aura 实例的方法,请参阅Aura → 导入数据
使用file:///URL 时,空格和其他非字母数字字符必须进行URL 编码
文件 URL 的配置设置

dbms.security.allow_csv_import_from_file_urls

此设置决定是否file:///允许 URL。

服务器.目录.导入

file:///此设置设置了相对于其解析 URL 的根目录。

从远程位置导入

您可以从远程路径上托管的 CSV 文件导入数据。

LOAD CSV支持通过 HTTPS、HTTP 和 FTP(有或无凭证)访问 CSV 文件。它还可以遵循重定向,但更改协议的重定向除外(出于安全原因)。

示例 2. 通过 HTTPS 从远程文件导入艺术家姓名和年份信息
1,ABBA,1992
2,Roxette,1986
3,Europe,1979
4,The Cardigans,1992
询问
LOAD CSV FROM 'https://data.neo4j.com/bands/artists.csv' AS row
MERGE (a:Artist {name: row[1], year: toInteger(row[2])})
RETURN a.name, a.year
结果
一个名字 一年

4 行

添加了 4 个节点,设置了 8 个属性,添加了 4 个标签

'ABBA'

'1992'

'Roxette'

'1986'

'Europe'

'1979'

'The Cardigans'

'1992'

示例 3. 使用凭证通过 FTP 从远程文件导入艺术家姓名和年份信息
LOAD CSV FROM 'https://data.neo4j.com/bands/artists.csv' AS row
MERGE (a:Artist {name: row[1], year: toInteger(row[2])})
RETURN a.name, a.year
询问
LOAD CSV FROM 'ftp://<username>:<password>@<domain>/bands/artists.csv' AS row
MERGE (a:Artist {name: row[1], year: toInteger(row[2])})
RETURN a.name, a.year
结果
一个名字 一年

4 行

添加了 4 个节点,设置了 8 个属性,添加了 4 个标签

'ABBA'

'1992'

'Roxette'

'1986'

'Europe'

'1979'

'The Cardigans'

'1992'

从云 URI 导入

企业版在 Aura 上不可用
从 Google Cloud Storage URI 导入
在 5.21 中引入

您可以从托管在 Google Cloud Storage URI 中的 CSV 文件导入数据。

示例 4. 从 Google Cloud Storage URI 导入艺术家姓名和年份信息
gs://gs-bucket/artists.csv
1,ABBA,1992
2,Roxette,1986
3,Europe,1979
4,The Cardigans,1992
询问
LOAD CSV FROM 'gs://gs-bucket/artists.csv' AS row
MERGE (a:
要在Linux系统下使用Neo4j上传CSV文件,可按以下步骤操作: 1. **安装Neo4j**:使用ftp工具上传`neo4j-community-3.5.17.tar`到Linux系统,或者使用`wget`命令下载`neo4j-community-3.5.17-unix.tar.gz`,命令如下: ```bash wget https://neo4j.com/artifact.php?name=neo4j-community-3.5.17-unix.tar.gz ``` 2. **配置Neo4j**:确保Neo4j配置允许加载外部CSV文件。编辑`neo4j.conf`文件,找到并修改以下配置项: ```plaintext dbms.directories.import=import dbms.security.allow_csv_import_from_file_urls=true ``` 3. **将CSV文件放到正确目录**:将需要上传的CSV文件放到Neo4j的`import`目录下,此目录在Neo4j的安装目录中。 4. **使用Cypher语句加载CSV文件**:使用Neo4j的Cypher语句来加载CSV文件到图数据库。首先启动Neo4j服务,之后通过Neo4j浏览器或者命令行工具连接到Neo4j数据库,使用如下示例的Cypher语句加载CSV文件: ```cypher LOAD CSV WITH HEADERS FROM 'file:///your_file.csv' AS row CREATE (:YourLabel {property1: row.column1, property2: row.column2}) ``` 这里的`your_file.csv`是你上传到`import`目录的CSV文件名,`YourLabel`是节点的标签,`property1`和`property2`是节点的属性,`column1`和`column2`是CSV文件中的列名。 5. **依赖配置(如果使用Java代码)**:若使用Java代码操作Neo4j加载CSV文件,需要在项目中添加Neo4j Java驱动依赖: ```xml <dependency> <groupId>org.neo4j.driver</groupId> <artifactId>neo4j-java-driver</artifactId> <version>4.1.1</version> </dependency> ``` 示例Java代码如下: ```java import org.neo4j.driver.*; import static org.neo4j.driver.Values.parameters; public class Neo4jCSVImport { public static void main(String[] args) { Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "secsmart")); try (Session session = driver.session()) { try (Transaction tx = session.beginTransaction()) { tx.run("LOAD CSV WITH HEADERS FROM 'file:///your_file.csv' AS row " + "CREATE (:YourLabel {property1: row.column1, property2: row.column2})"); tx.commit(); } } driver.close(); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京橙溪 www.enwing.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值