【发布时间】:2015-07-15 17:13:09
【问题描述】:
我有一个密集连接的巨大图,我一直在尝试使用 Neo4j 的双向遍历框架在两个节点之间进行有效的路径发现。如果有人可以解释 maxDepth 在 sideSelector 方法中的作用,我将不胜感激。我能找到的唯一解释是在 javadoc 中,它对我来说非常模糊。 javadoc 中的描述: maxDepth - 侧面选择器的可选最大深度参数。为什么最大深度是 SideSelector 的一个问题?因为它在任何给定点都知道遍历的两边。
了解深度对 SideSelector 有何影响?
我当前的代码如下所示:
BidirectionalTraversalDescription description = graphDb.bidirectionalTraversalDescription().
startSide(graphDb.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH)
.expand(new RelsPathExpander(xxxx))
.evaluator(Evaluators.toDepth(3))).
endSide(graphDb.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH)
.expand(new RelsPathExpander(xxxx))
.evaluator(Evaluators.toDepth(3)))
.collisionEvaluator(new Evaluator() {
@Override
public Evaluation evaluate(Path path) {
return Evaluation.INCLUDE_AND_CONTINUE;
}
}).sideSelector(SideSelectorPolicies.LEVEL, 100);
谢谢!
【问题讨论】:
标签: neo4j graph-traversal