多关系图中关系的最大长度

时间:2017-01-02 11:09:41

标签: neo4j cypher

我查询图表的最大深度是这样的:

match (n)<-[rel:shares|comments*0..]-(m) where id(n)=69 return max(length(rel))

这个问题是需要永远返回深度。有什么建议加快这个吗?

1 个答案:

答案 0 :(得分:1)

您的节点有多密集?

MATCH (n) WHERE id(n) = 69
RETURN size((n)--())

length()函数不适用于关系或关系集合,您可以在路径上使用它,也可以在关系集合上使用size()

MATCH (n) WHERE id(n) = 69
MATCH p=(n)<-[:shares|:comment*]-(x)
RETURN max(length(p))

MATCH (n) WHERE id(n) = 69
MATCH p=(n)<-[rel:shares|:comment*]-(x)
RETURN max(size(rel))

如果您可以共享查询计划配置文件,那也不错。

注意,在大图上,这可能是一个huuuge操作,可能需要一台好机器在合理的时间内进行计算。