我们需要编写一些休息服务来访问/创建Neo4j上的数据。我在Traverser Framework中找到了很多示例,但是我想探索Java CORE API,因为它提到Java Core API的性能远远优于Traverser this link
这是真的吗? Java CORE API比Traverser更好?有人可以通过有用的Neo4j Java Core API教程指导我吗?
答案 0 :(得分:1)
考虑在这里问一个不同的问题。
我不会质疑遍历API比核心API慢的性能发现,但请记住,它仅适用于他们在该测试中尝试做的事情。< / p>
您应该使用哪种API取决于您尝试做什么。如果没有提供相关信息,我们无法建议哪一个对您来说最快。
以下是您的权衡选项:如果您使用核心API,那么您可以在图表上执行您想要的低级别操作。另一方面,你必须做所有的工作。如果您尝试执行的操作复杂,影响深远或对订单敏感,您会发现自己编写了大量代码,以至于您将重新实现Traversal API的错误版本你拥有。不惜一切代价避免这个! Traversal API的性能几乎肯定比您自己编写的要好。
另一方面,如果您执行的操作非常简单(查找节点,通过某种边缘类型获取其直接邻居,然后返回它们),那么核心API是一个很好的选择。在这个(非常简单的)案例中,你不需要Traversal给你的所有花里胡哨的东西。
不仅仅是你的问题:一般来说,避免过早优化&#34;是好事。如果一个库或框架为你提供了一个像Traversal API这样的技术,作为一个起点,它是学习抽象并使用它的一个好方法,因为开发人员给你的是让你的生活更轻松,而不是让你的代码较慢。如果结果超出您的需求,或者性能确实滞后 - 那么请考虑使用核心API。
从长远来看,如果您要在Neo4J之上编写RESTful服务,您可能最终会知道这两个API。底线 - 这不是选择你应该使用哪一个的问题,而是了解他们的差异以及哪些情况发挥其优势。