使用 neo4j 优化计数搜索

Optimizing in-count searches with neo4j

我正在构建一个类似图的社交网络,我们希望在其中定期查找传入计数大于 2 的所有节点。例如

A->B

C->B

C->A

D->A

E->A

应该return节点A.

我是 neo4j 的新手,对于他们是否会搜索所有可用行仍然有些困惑。是否有可用于优化这些查询的索引?我的搜索查询是这样的

EXPLAIN MATCH ()-[r:F]->(b:Person)
WITH b, count(r) AS count
WHERE count > 1
RETURN collect(b.username)

谢谢

Neo4j 有一个特殊的关系计数存储,用于保存节点拥有的关系数。它允许获得关系的计数而无需扩展它们。

您可以使用 size() 函数访问关系计数存储值。

MATCH (b:Person)
WITH b, size((b)<--()) as size
WHERE size > 2
RETURN collect(b.username)