导入 CSV 文件:Neo4j Aura、桌面版和沙盒
Neo4j Aura 和 Neo4j 沙盒
云托管版本的 Neo4j 只能访问远程 http(s) URL。由于它们托管在云中,因此安全设置不允许沙盒访问桌面上的本地文件设置。需要导入的任何文件都必须存储在实例可以访问的远程位置或放置在远程位置
-
GitHub
-
Pastebin
-
云提供商存储
-
网站
-
Google Drive
-
Dropbox。
我们将查看一些导入到云托管 Neo4j 实例的位置的示例。
GitHub
如果您在 GitHub 存储库或 GitHub Gist 中找到或放置文件,其他人可以以原始格式访问内容。您只需导航到包含该文件的位置并转到该文件。在那里,您应该会看到一个菜单栏,如下面的文件内容上方所示。

点击右侧按钮列表中的 Raw
按钮,并在页面加载时复制 URL 路径(URL 应该以 https://raw.githubusercontent.com/…;
开头)。现在,您应该可以使用以下语句在您的 Neo4j 浏览器会话中使用数据。
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 存储桶
-
Azure Blob 存储
您可以使用您的凭据和 UI 或 CLI 将文件上传到那里,并使其(暂时)公开访问,然后使用文件的 HTTPS URL。
Google 表格
您可以访问上传到 Google 表格的文件,如果它们已发布到网络上。将文件导入到 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 桌面版
您的本地 Neo4j 安装当然也可以通过 URL 访问远程文件,如上所述。
如果您出于隐私或性能原因想要从本地磁盘导入文件,则必须将它们放置在 import
文件夹中。它通常位于您的 Neo4j 服务器安装目录的相对位置。
然后可以通过 file:///filename.csv
URL 访问这些文件,例如
LOAD CSV WITH HEADERS FROM 'file:///products.csv' AS row
RETURN row
Neo4j 桌面版
在 Neo4j 桌面版中,您可以通过 UI 点击“打开(文件夹)”下拉菜单或菜单打开文件管理器(资源管理器、查找器等)中的文件夹。

然后将文件放置在那里,并直接从 Neo4j 访问它们。
该 CSV 导入开发者指南 演示了如何将本地 CSV 文件加载到 Neo4j 桌面版。
自定义导入文件夹
如果您需要与默认位置不同的文件位置,可以在 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
资源
您可以在 操作手册 中找到按操作系统列出的完整文件位置列表(不包括沙盒)。
Andy Jefferson 探讨了将文件(安全地)加载到远程 Neo4j 实例中的不同方法 * 第 1 部分 - ngrok 和 python webserver * 第 2 部分 - 云存储
此页面是否有用?