Neo4j Cypher:按入度过滤结果

Neo4j Cypher: filter results by in-degree

我是运行以下Neo4j Cypher查询:

MATCH (n:ARTICLE { article_id: '1234' })-[k:CONNECTS]->(r:ARTICLE) 
RETURN n,k,r;

现在我想过滤匹配结果中度数(即 (n)-[k]->(r) 的度数)大于 1 的所有 r 节点。我该怎么做?

(我认为这个问题与 How to get degree of a node while filtering using MATCH in neo4j 不同,这就是我决定在这里问的原因。)

您可以检查 WHERE 子句中节点之间的入站关系数量的大小。

MATCH (n:ARTICLE { article_id: '1234' })-[k:CONNECTS]->(r:ARTICLE)
WHERE size((n)-[:CONNECTS]->(r)) > 1
RETURN n,k,r