如何找到n跳中未连接的节点对?

时间:2015-11-03 09:21:05

标签: neo4j cypher

正如标题所说,我有一个节点图,这些节点以N关系互连。我现在想要找到距离彼此超过20跳的所有节点对。

使用以下cypher查询的简单方法太慢了:

MATCH (n:CELL) 
WITH n 
MATCH (k:CELL) 
WHERE NOT (n)-[:N*1..20]->(k) 
RETURN n, k

我可以用"距离"创建第二个关系K.属性,然后匹配,但为每个节点这样做都没有完全缩放(我有18k节点,所以我需要超过1.6亿新的关系)。

在neo4j中还有其他方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用更有效的最短路径。

[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont fontWithName:@"mplus-1c-regular" size:21]}];

答案 1 :(得分:0)

这样的事情:

int pos = (Integer) txtResMemberName.getTag();