这是我在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();
}
需要帮助,我觉得我浪费了一天以上的时间来寻找解决方案......
答案 0 :(得分:1)
为您的遍历获得最佳效果的推荐方法是使用内部使用unmanaged extensions的Traversal API。
您可以使用JAX-RS注释编写Java(或Groovy / Clojure / Scala / ...)类。您的代码打包为jar并部署到Neo4j的plugins
目录。带注释的方法成为Neo4j服务器的新REST端点。
REST穿越因为您打算使用它们是产品中相当陈旧且未广泛使用的功能。
答案 1 :(得分:0)
自从我升级到Neo4j 2.3后,我使用了cypher作为非托管扩展的一部分。似乎现在有效地工作也实现了密码提供的模式匹配灵活性