我有我的Neo4j(嵌入式)数据库的设置是这样的:Neo4j的子图或多个数据库
- 我附上几个用户节点到参考节点。
- 可以为每个用户节点附加一个或多个项目节点。
- 每个项目节点都附有一个复杂的图形。
复杂图形可以遍历一个遍历模式(其中有一个隐藏的树结构)。
我希望做的是以下几点:
- 删除项目节点下的所有节点。
- 删除用户下面的所有项目节点,当没有什么项目节点
- 出口低于一个特定的用户节点下的所有节点.graphML(可能使用精怪的Java API?)
- 导入.graphML文件恢复到特定用户节点下面的数据库,而不会删除位于不同用户节点下的信息。
我已经与Gremlin GraphML阅读器一起导入和导出整个Neo4J数据库,但我无法找到有关导入/导出子图的内容。
如果这实际上是可能的话,那么Neo4J如何处理两个用户同时尝试导入内容?例如,用户1在user1节点下导入他的部分,并且用户2同时在用户2节点下导入他的数据。
另一种可能性是每个用户都有一个Neo4J数据库,但这实际上是不太可取的选择,我很不确定它是否实际可行,无论是嵌入式还是服务器版本。我已阅读了有关在不同端口上有多个服务器版本的情况,但我们的用户数量根据定义无限制...
任何帮助将不胜感激。
编辑1:我也遇到过一些叫做Geoff(org.neo4j.geoff)的东西,它处理子图。我完全无能为力,但我现在正在研究它。