Neo4j使用的访问算法

Visit algorithm used by Neo4j

我在 Neo4j 文档中读到“Neo4j 带有许多内置图形算法”。 当我使用Cipher进行查询时,有向图的默认访问算法是什么?是Djikstra吗?
例如,这个查询:

MATCH(n1)-[r]->(n2)
RETURN n1

returns 使用任何关系指向其他边的所有边。 但是 Neo4j 用来访问所有涉及的边和弧的算法是什么?

该文档部分中引用的图算法是指一些已经存在数十年的经典图算法,作为图研究的一部分。具体来说,他们在谈论Dijkstra算法,最短路径和所有最短路径。

您列出的查询没有使用任何这些算法。在这种情况下使用的算法就是我所说的 cypher 的实现。我不认为返回这些特定节点本身是任何广泛识别的图形算法。

如果您在查询前加上 PROFILE,您会看到 Cypher 对您的查询执行的操作 运行。没有单一的算法,它是计划操作之外的紧急行为。

另请参阅:http://neo4j.com/blog/introducing-new-cypher-query-optimizer/