gpt4 book ai didi

Neo4J 子图或多个数据库

转载 作者:行者123 更新时间:2023-12-02 05:13:27 24 4
gpt4 key购买 nike

我的 Neo4J(嵌入式)数据库设置如下:

  • 我将几个用户节点附加到引用节点。
  • 可以为每个用户节点附加一个或多个项目节点。
  • 每个项目节点都附有一个复杂的图表。

复杂图可以用单一的遍历模式遍历(其中有一个隐藏的树结构)。

我想做的是:

  • 删除项目节点下的所有节点。
  • 当项目节点下没有任何内容时,删除用户下的所有项目节点
  • 将特定用户节点下的所有节点导出到 .graphML(可能使用 Gremlin Java API?)
  • 将 .graphML 文件导入回特定用户节点下的数据库,而不删除位于不同用户节点下的信息。

我已经使用 Gremlin GraphML 阅读器导入和导出整个 Neo4J 数据库,但我无法找到有关导入/导出子图的信息。

如果这实际上是可能的,Neo4J 将如何处理两个试图同时导入某些内容的用户?比如用户1在user1节点下导入他的section,用户2同时在user2节点下导入他的数据。

另一种可能性是每个用户拥有一个 Neo4J 数据库,但这实际上是不太可取的选项,我非常不确定它是否真的可行,无论是嵌入式版本还是服务器版本。我读过一些关于在不同端口上拥有多个服务器版本的内容,但根据定义,我们的用户数量是无限的......

如有任何帮助,我们将不胜感激。

编辑 1: 我还遇到了一个名为 Geoff (org.neo4j.geoff) 的东西,它处理子图。我完全不知道它是如何工作的,但我现在正在研究它。

最佳答案

您可能会在开始导入时锁定用户节点,这样第二次导入将不得不等待(并且必须检查)。

使用 cypher 查询,您可以删除子图并再次将它们导出到 cypher。 Neo4j Console repository 中有查询结果的导出代码.

在那里您还可以找到 geoff-export 和 import 以及 cypher importers。

关于Neo4J 子图或多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com