我有一个存储在 Neo4j 中的大型网络。基于特定的根节点,我想在该节点周围提取一个子图并将其存储在其他地方。所以,我需要的是符合我的过滤条件的节点和边集。
Afaik 没有可用的开箱即用解决方案。有一个可用的图形匹配组件,但它仅适用于完美匹配。Neo4j API 本身只定义了图遍历,我可以使用它来定义应该访问哪些节点/边:
Traverser exp = Traversal
.description()
.breadthFirst()
.evaluator(Evaluators.toDepth(2))
.traverse(root);
现在,我可以将所有节点/边添加到所有路径的集合中,但这非常低效。你会怎么做?谢谢!
编辑将每个遍历的最后一个节点和最后一个关系添加到子图中是否有意义?