首页 文章

我如何计算每个节点在Cypher中的关系数量?

提问于
浏览
3

我正在使用图形db(neo4j)和cypher . 我对此查询的目标是首先匹配给定用户具有PINNED的每个Pin,然后计算每个引脚所具有的LIKES数量 . 目前我能够返回所有引脚之间的喜欢总数,但是当有多个引脚时,这些信息对我没有帮助 . 例如,如果我现在在我的数据库中运行此查询,并且有2个节点分别有2个喜欢和3个喜欢,我的查询将返回“5” . 所以我无法知道有多少喜欢属于每个引脚 . 如何编写此查询以便获取每个引脚的LIKES数量?

MATCH (u:User {lastName:"Example"})-[:PINNED]->(z:Pin)
WITH collect(z) as cs
MATCH (:User)-[:LIKES]->(y:Pin)
WHERE (y) in cs
MATCH (a:User)-[r:LIKES]->(y)
RETURN COUNT(r), y

1 回答

  • 11

    看起来你在比赛中有点过分,我们可以简化这一点 .

    MATCH (u:User {lastName:"Example"})-[:PINNED]->(z:Pin)
    RETURN z, SIZE( ()-[:LIKES]->(z) ) as likes
    

相关问题