我在Neo4j文档中读到“ Neo4j附带了许多内置图算法”。
当我使用 Cipher 进行查询时,这是面向图的默认访问算法?是Djikstra吗?
例如,这个查询:
MATCH(n1)-[r]->(n2)
RETURN n1
使用任何关系返回指向其他边的所有边。 但是Neo4j用来访问所有边缘和弧线的算法是什么?
答案 0 :(得分:2)
该文档部分中引用的图算法是指几十年来一直存在的一些经典图算法,作为图研究的一部分。具体来说,他们谈论的是Dijkstra算法,最短路径和所有最短路径。
您列出的查询不使用任何这些算法。在这种情况下使用的算法就是我所说的cypher的实现。我不认为返回这些特定节点本身就是任何广泛识别的图算法。
答案 1 :(得分:1)
如果您的查询前缀为PROFILE,则会看到Cypher执行的运行查询的操作。没有单一算法,它是计划运营中的紧急行为。
另请参阅:http://neo4j.com/blog/introducing-new-cypher-query-optimizer/