[英]neo4j cypher count relations between same type of nodes
我在图数据库中太新了,在从这样的模型中获取数据时遇到问题。
我正在尝试计算User1和与user1在同一组中的所有其他用户之间的常见喜欢。 这是我要为User1获得的结果:
User , Count, Drinks
User3, 2, [ Cola, Beer ]
User2, 1, [ Cola ]
User5, 1, [ Tea ]
User4, 0, [ ]
User6, 0, [ ]
这似乎很容易完成,但对我而言却不是。
我可以获取用户,并且可以统计与之有关系的用户,但不能与无关系的用户数。 请任何人可以帮助我吗? 提前致谢!
我提出的解决方案具有以下逻辑:
这基于以下测试图:
http://console.neo4j.org/r/xc3cqt
查询:
MATCH (u:User { id:1 })
MATCH (o:User)
WHERE o <> u
OPTIONAL MATCH (u)-[r:LIKES]->(d)<-[:LIKES]-(o)
RETURN o.id, count(r) as c, collect(DISTINCT (d.name)) AS drink
您提供的图形的结果:
o.id c drink
2 1 [Cola]
5 1 [Tea]
4 0 []
3 2 [Beer, Cola]
6 0 []
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.