4

我目前正在使用 Neo4j 和 Neography 构建一些东西,并且想知道什么是首选:使用 traverse 方法或 Cypher 查询?

就个人而言,我喜欢 Cypher,但我不知道哪个更好/性能更高

4

3 回答 3

4

我刚刚为 Cypher vs Core API 和 Traverser 框架的朋友之友查询创建了一个基准,该图上有大约 1 个 mio 节点。FOAF 查询不是很复杂,但对于 neo4j 等图形数据库来说是一个很好的用例。

http://www.rene-pickhardt.de/get-the-full-neo4j-power-by-using-the-core-java-api-for-traversing-your-graph-data-base-instead-of-密码查询语言/

Cypher 的执行速度至少慢了一个数量级

您可以看到 Cypher 的性能比核心 API 差得多。

于 2012-11-06T12:27:14.427 回答
2

我相信他们都有自己的优势,而且 Cypher 可能已经更直观地表达您的查询。如果您喜欢,请尝试使用 Cypher 形成您的查询,并且如果性能满足您的要求,那么一切都很好!如果没有,那么也许在遍历框架中尝试一下。

于 2012-05-30T20:10:10.547 回答
1

正如 Matthias 所指出的,Cypher 确实很直观,但是我有以下建议:

如果它是微不足道的东西,那就去 Cypher,它更容易编写(实际上是一种乐趣)并且不应该有任何大的性能损失。但是,一旦您有更大的匹配或条件查询,如果您使用自定义遍历器甚至 Gremlin,拥有图的领域知识可能会显着提高性能

于 2012-06-11T22:35:02.603 回答