Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j双向横向侧选择器最大深度_Neo4j_Graph Traversal - Fatal编程技术网

Neo4j双向横向侧选择器最大深度

Neo4j双向横向侧选择器最大深度,neo4j,graph-traversal,Neo4j,Graph Traversal,我有一个密集连接的巨大图,我一直在尝试使用Neo4j的双向遍历框架来高效地发现两个节点之间的路径。如果有人能解释maxDepth在sideSelector方法中扮演的角色,我将不胜感激。我能找到的唯一解释是javadoc,它对我来说非常模糊。 javadoc中的描述:maxDepth-侧选择器的可选最大深度参数。为什么最大深度是侧选择器关注的问题?因为它已经知道了在任何给定点的遍历的两边 深度知识对侧选择器有何影响 我当前的代码如下所示: BidirectionalTravers

我有一个密集连接的巨大图,我一直在尝试使用Neo4j的双向遍历框架来高效地发现两个节点之间的路径。如果有人能解释maxDepth在sideSelector方法中扮演的角色,我将不胜感激。我能找到的唯一解释是javadoc,它对我来说非常模糊。 javadoc中的描述:maxDepth-侧选择器的可选最大深度参数。为什么最大深度是侧选择器关注的问题?因为它已经知道了在任何给定点的遍历的两边

深度知识对侧选择器有何影响

我当前的代码如下所示:

        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);

谢谢

作为《遍历框架》部分内容的作者,我想我记得这是一个场景,在这个场景中,双方没有指定各自的最大深度,而是在侧选择器中有一个最大深度。这允许更动态的遍历,其中一方可以比另一方深入得多,比如说,如果一方要遍历的关系比另一方少的话。这种深度倾斜允许在以下情况下进行遍历:与双方以相同速率下降相比,遍历可以完成的关系更少。使用此功能

在您的情况下,您应该能够将其设置得足够高,以容纳双方