Rest Traversal Neo4j java.lang.UnsupportedOperationException

时间:2014-08-28 02:35:03

标签: java spring rest neo4j graph-traversal

这是我在neo4j上的第一个应用程序,我喜欢使用遍历API以获得更好的性能和易用性,但是当我查看剩余的遍历大部分操作未实现时我感到难过,我使用的是弹簧-data-neo4j-rest(3.1.2)neo4j kernal和核心版本os 2.0  防爆。来自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();
    }

需要帮助,我觉得我浪费了一天以上的时间来寻找解决方案......

2 个答案:

答案 0 :(得分:1)

为您的遍历获得最佳效果的推荐方法是使用内部使用unmanaged extensionsTraversal API

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

REST穿越因为您打算使用它们是产品中相当陈旧且未广泛使用的功能。

答案 1 :(得分:0)

自从我升级到Neo4j 2.3后,我使用了cypher作为非托管扩展的一部分。似乎现在有效地工作也实现了密码提供的模式匹配灵活性