知识库

如何将 GrapheneDB 数据库导入 Neo4j Desktop

这假定您已经拥有 GrapheneDB 数据库的 zip 文件。

这里的目标是将其作为一个完整的数据库导入,而不是从中提取数据到现有数据库中。

请先尝试使用这些说明,如果不起作用,则根据 GrapheneDB 数据库的 Neo4j 版本按以下步骤进行。

在 Neo4j 3.5.x 中

此版本每个 dbms 只有一个数据库,因此步骤更简单。

  1. 在 Neo4j Desktop 中,创建正确版本的 3.5.x 实例,但暂时不要启动它。

  2. 管理实例(通过右上角的 …​ ),然后按 Open Terminal 按钮打开通往实例主目录的终端窗口。

  3. 在终端中执行 cd data/database (如果您随后执行 ls ,该目录应为空)。

  4. 将 GrapheneDB zip 文件解压到此目录,确保其结果是一个包含 neostore* 文件的 graph.db 文件夹。如果需要,将顶层目录重命名为 graph.db 以与默认图名称对齐(或相应调整您的配置文件中的图名称)。

  5. 检查解压目录的所有权权限。它们应与您在 db 主目录下执行 ls -l 时看到的所有权权限匹配。如果它们不匹配,您可能需要递归更改文件的所有权,以便 Neo4j Desktop 能够读取和写入它们:https://linuxize.com/post/linux-chown-command/

  6. 启动数据库。

在 Neo4j 4.x 中

Neo4j 4.x 允许每个 dbms 实例有多个数据库。因此,我们可以添加 GrapheneDB 数据库,而无需替换任何其他数据库。

我们甚至可以添加到已经存在数据库且可能正在运行的现有 dbms 实例中。

您应该有一个 zipped 数据库,您可能还有一个 transactions zip 文件。

  1. 在 Neo4j Desktop 中,要么创建一个适当版本的新 dbms 实例,要么找到一个现有数据库(其次要版本与 GrapheneDB 实例的次要版本匹配),然后将数据库导入到其中。

  2. 管理实例(通过右上角的 …​ ),然后按 Open Terminal 按钮打开通往实例主目录的终端窗口。

  3. 在终端中执行 cd data/databases 。此处可能存在其他目录,对应于该实例上的其他数据库。

  4. 将 GrapheneDB zip 文件解压到此目录。解压后的 zip 文件的顶层目录应具有符合 Neo4j 命名规则的唯一名称:https://neo4j.ac.cn/docs/cypher-manual/current/syntax/naming/

  5. 检查解压目录的所有权权限。它们应与您在 dbms 主目录下执行 ls -l 时看到的所有权权限匹配。如果它们不匹配,您可能需要递归更改文件的所有权,以便 Neo4j Desktop 能够读取和写入它们:https://linuxize.com/post/linux-chown-command/

  6. (仅当包含 transactions zip 文件时)在终端中,返回 Neo4j 实例的主目录并执行 cd data/transactions 。这是存储每个数据库事务的位置。您应该看到每个数据库一个目录。

  7. 将 transactions zip 文件解压到此目录。解压后的 zip 文件的顶层目录应与您在步骤 4 中解压的数据库名称匹配。

  8. 检查解压目录的所有权权限。它们应与您在 dbms 主目录下执行 ls -l 时看到的所有权权限匹配。如果它们不匹配,您可能需要递归更改文件的所有权,以便 Neo4j Desktop 能够读取和写入它们:https://linuxize.com/post/linux-chown-command/

  9. 如果 Neo4j dbms 尚未启动,请启动它。

  10. 启动并登录后,执行 :use system 以切换到 system 数据库,在那里我们可以执行数据库管理命令。

  11. 使用数据库名称(在步骤 4 和 7 中用作目录名称)发出 CREATE DATABASE <dbname> 命令,将 <dbname> 替换为数据库名称。这将在 system 数据库中为新数据库创建一个条目,该数据库将使用从步骤 4 和 7 中提取的数据库和事务文件。

  12. 您可以使用 SHOW DATABASES 来检查数据库是否已创建。

  13. 执行 :use <dbname> (替换为数据库名称)以切换到该数据库。

© . All rights reserved.