1

这是我在 neo4j 上的第一个应用程序,我喜欢使用遍历 API 以获得更好的性能和易用性,但是当我查看其余遍历时我被难住了,大多数操作都没有实现,我正在使用 spring-data- neo4j-rest ( 3.1.2) neo4j 内核和核心版本 os 2.0 Ex。来自 Resttraversal Src(只实现了两个评估器)如果不是,我是否使用正确的版本,哪个版本支持更多的这个

 public RestTraversalDescription evaluator(PathEvaluator evaluator) {
        if (evaluator == Evaluators.all()) return add("return_filter",toMap("language","builtin", "name","all"));
        if (evaluator == Evaluators.excludeStartPosition()) return add("return_filter",toMap("language","builtin", "name","all_but_start_node"));
        throw new UnsupportedOperationException("Only builtin paths supported");
    }


 @Override
    public TraversalDescription expand(PathExpander<?> expander) {
        throw new UnsupportedOperationException();
    }

    @Override
    public <STATE> TraversalDescription expand(PathExpander<STATE> expander, InitialStateFactory<STATE> initialState) {
        throw new UnsupportedOperationException();
    }

需要帮助,我觉得我浪费了一天多的时间浏览解决方案....

4

2 回答 2

1

获得最佳遍历性能的推荐方法是使用内部使用Traversal API的非托管扩展

您基本上使用 JAX-RS 注释编写 Java(或 Groovy/Clojure/Scala/...)类。您的代码被打包为 jar 并部署到 Neo4j 的plugins目录。带注释的方法成为 Neo4j 服务器的新 REST 端点。

您打算使用的 REST 遍历是产品中一个相当古老且未广泛使用的功能。

于 2014-08-28T07:33:04.020 回答
0

由于我升级到 Neo4j 2.3,我使用 cypher 作为非托管扩展的一部分。现在似乎工作效率很高,也实现了 cypher 提供的模式匹配灵活性

于 2016-05-06T00:57:17.390 回答