知识库

导入 CSV 文件:Neo4j Aura、Desktop 和 Sandbox

将各种文件加载到 Neo4j 需要根据您使用的工具放置在不同的位置。

我们将介绍的导入方法

  1. 远程:Neo4j AuraNeo4j Sandbox

  2. 本地:Neo4j Server 和 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 浏览器会话中使用类似此处的语句来使用数据。

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 存储

您可以使用您的凭据以及 UI 或 CLI 将文件上传到那里,并使其(临时)公开可访问,然后使用文件的 HTTPS URL。

Google 表格

如果文件已发布到网络,您可以访问上传到 Google 表格的文件。一旦文件导入到 Google 表格的一个标签页中,您可以按照下面的屏幕截图来完成剩余的步骤。

红色框和编号显示了点击位置和执行步骤的顺序。

步骤 1 - 发布到网络

image

步骤 2 - 选择标签页名称并格式化为 CSV

image

步骤 3 - 确认发布并复制链接

image

步骤 4 - 运行 Cypher LOAD CSV 命令
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

Dropbox

上传到 Dropbox 的文件操作方式与 Google Drive 类似。同样,您需要确保权限设置正确。下面的屏幕截图逐步展示了其余步骤。

步骤 1 - 检查文件权限

image

步骤 2 - 确保权限开放

image

步骤 3 - 下载 Dropbox 文件

image

步骤 4 - 转到浏览器下载并复制链接地址

image

步骤 5 - 运行 Cypher LOAD CSV 命令
LOAD CSV WITH HEADERS FROM 'https://<fileId>.dl.dropboxusercontent.com/cd/0/get/<yourFilePath>/file#' 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 点击“打开(文件夹)”下拉菜单或菜单来在文件管理器(资源管理器、访达等)中打开文件夹。

然后将文件放置在那里,并直接从 Neo4j 访问它们。

CSV 导入开发者指南 详细介绍了如何将本地 CSV 文件加载到 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 Web 服务器 * 第 2 部分 - 云存储

© . All rights reserved.