导入 CSV 文件:Neo4j Aura、Desktop 和 Sandbox
将各种类型的文件加载到 Neo4j 中需要根据所使用的工具选择不同的位置。
我们将介绍的导入方法
-
Remote: Neo4j Aura and Neo4j Sandbox
-
Local: Neo4j Server and Neo4j Desktop
Neo4j Aura 和 Neo4j Sandbox
托管在云端的 Neo4j 版本只能访问远程 http(s) URL。由于在云端托管,安全设置不允许沙盒访问桌面上的本地文件设置。所有需要导入的文件必须存储或放置在实例能够访问的远程位置。
-
GitHub
-
Pastebin
-
云供应商存储
-
网站
-
Google Drive
-
Dropbox.
我们将查看一些将文件导入云托管 Neo4j 实例的位置示例。
GitHub
如果您在 GitHub 仓库或 GitHub Gist 中找到或放置文件,其他人可以以原始格式访问该内容。您只需导航到包含该文件的页面并打开文件。打开后,您应该会看到文件内容上方如下面所示的菜单栏。
在右侧的按钮列表中点击 Raw 按钮,页面加载后复制 URL 路径(URL 应以 https://raw.githubusercontent.com/… 开头)。现在您就可以在 Neo4j Browser 会话中使用类似以下语句来使用该数据。
LOAD CSV FROM 'https://raw.githubusercontent.com/<yourFileRepositoryPath>' AS row
RETURN row
LIMIT 20
网站
如果文件托管在网站上,Neo4j 可以通过公共 URL 访问它。例如,在 Neo4j Cypher 手册中,LOAD CSV 页面使用了 neo4j.com 上的 CSV 文件。
LOAD CSV FROM 'http://data.neo4j.com/northwind/products.csv' AS row
RETURN row
对任何云供应商的存储也同样适用
-
AWS S3
-
GCP Buckets
-
Azure Blob storage
您可以使用凭证通过 UI 或 CLI 将文件上传至上述位置,并将其(临时)设为公共可访问,然后使用文件的 HTTPS URL。
Google Sheets
如果文件已发布至网络,您可以访问上传到 Google Sheets 的文件。文件导入到 Google 表格的一个工作表后,您可以按照下图的截图一步步完成后续过程。
红色框和编号显示了点击位置及步骤顺序。



LOAD CSV WITH HEADERS FROM 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSx5-mHPUs7hQ3292zrLL_FeNzo85iC83TiezRcPl_SUv4NpW0e2VZilCUH9KbCWExAfE7OAELgdCW8/pub?gid=0&single=true&output=csv' AS row
RETURN row
本地 Neo4j 安装和 Neo4j Desktop
本地的 Neo4j 安装当然也可以如上所述通过 URL 访问远程文件。
如果出于隐私或性能考虑需要从本地磁盘导入文件,必须将其放置在 import 文件夹中。该文件夹通常位于 Neo4j 服务器安装目录的相对位置。
随后这些文件可以通过 file:///filename.csv URL 访问,例如:
LOAD CSV WITH HEADERS FROM 'file:///products.csv' AS row
RETURN row
Neo4j Desktop
在 Neo4j Desktop 中,您可以通过 UI 中的 “打开(文件夹)” 下拉菜单或选项,在文件管理器(资源管理器、Finder 等)中打开该文件夹。
然后将文件放置在那里,即可直接从 Neo4j 访问。
The CSV 导入开发者指南 walks through loading local CSV files to Neo4j Desktop.
自定义导入文件夹
如果您需要的文件位置不同于默认路径,可以在 neo4j.conf 文件中更新以下设置。我们建议指定目录路径,而不是将此设置注释掉,以避免配置注释中提到的安全问题。
# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
dbms.directories.import=import
资源
您可以在 运维手册 中查看按操作系统划分的完整文件位置列表(不包括 Sandbox)。
Andy Jefferson 探讨了将文件(安全)加载到远程 Neo4j 实例的不同方法 * 第 1 部分 - ngrok 与 Python 网络服务器 * 第 2 部分 - 云存储
此页面有帮助吗?



