我正在使用图形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
Run Code Online (Sandbox Code Playgroud)
Inv*_*con 12
看起来你在比赛中有点过分,我们可以简化这一点.
MATCH (u:User {lastName:"Example"})-[:PINNED]->(z:Pin)
RETURN z, SIZE( ()-[:LIKES]->(z) ) as likes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2923 次 |
| 最近记录: |