我有一个定向断开图,其中一些顶点(节点)可以通过不同类型的多个单向关系连接。图表可能有循环。
如何确定图表中最长单向路径的长度?我一直在尝试以下查询但没有成功:
START n=node(*)
MATCH p=n<-[rels]-m
WITH COLLECT(p) AS paths, MAX(length(p)) AS maxLength
RETURN FILTER(path IN paths
WHERE length(path)= maxLength) AS longestPaths
提前致谢,
答案 0 :(得分:2)
怎么样:
MATCH p=(n)<-[:RELTYPE*]-(m)
RETURN length(p)
ORDER BY LENGTH(p) DESC
LIMIT 1
请注意,根据图表的结构和大小,此类查询可能会很昂贵。
对于Neo4j 1.9使用:
START n=node(*)
MATCH p=(n)<-[:RELTYPE*]-(m)
RETURN length(p)
ORDER BY LENGTH(p) DESC
LIMIT 1