Neo4j搜索第二条最短路径

时间:2016-05-04 04:00:22

标签: neo4j cypher

我们知道我们可以通过以下语句获得节点之间的最短路径

using (StreamWriter sw = new StreamWriter(@"C:\temp\log.txt", true))
{
    sw.WriteLine(szCommand);
    sw.Close();
}

有没有办法在没有详尽搜索的情况下搜索第二条最短路径?

1 个答案:

答案 0 :(得分:2)

无法通过shortestPath()allShortestPaths()指定第二条最短路径等内容。但是:您可以搜索按路径长度排序的所有路径,并仅限制返回的项目的深度和数量。例如:

MATCH p =(a)-[*2..5]-(b)
RETURN p, length(p)
order by length(p)
LIMIT 5;

您必须根据您对域的了解(例如min#和max#of relationship hops)对此进行微调。您可以通过添加标签和关系类型进一步优化。