Graph neo4j性质图中的短环检测

Graph neo4j性质图中的短环检测,graph,neo4j,cypher,Graph,Neo4j,Cypher,使用cypher在相当大的图形中检测循环的最佳方法是什么 我有一个图,它有大约90000个节点和大约320000个关系,我想在子图中检测大约10k个节点和涉及100k个关系的循环。我写的密码就像 start n = node:node_auto_index(some lucene query that returns about 10k nodes) match p = n-[:r1|r2|r3*]->n return p 然而,这并不是很有效 有人能提出更好的方法吗。

使用cypher在相当大的图形中检测循环的最佳方法是什么

我有一个图,它有大约90000个节点和大约320000个关系,我想在子图中检测大约10k个节点和涉及100k个关系的循环。我写的密码就像

start 
  n = node:node_auto_index(some lucene query that returns about 10k nodes)

match
    p =  n-[:r1|r2|r3*]->n
return p
然而,这并不是很有效


有人能提出更好的方法吗。

众所周知,无限长路径搜索速度很慢,因为操作的数量随着搜索深度呈指数增长

如果您愿意将循环搜索限制在合理较小的最大路径深度,则可以加快查询速度(尽管这可能仍需要一些时间)。例如,要仅查看最深5步的路径,请执行以下操作:

MATCH p = n-[:r1|r2|r3*..n]->n
RETURN p;

你叫什么“周期”?你能描述一下吗?非常感谢你,山姆!您认为可以使用javascript+节点实时运行这种类型的算法吗?或者我必须关闭密码并定期输入我的页面?查询的速度将取决于您的实际数据。你得试试看。