我在图形数据库中太新了,我在从这样的模型中获取数据时遇到了问题。
我正在尝试计算User1和同一组中的所有其他用户之间的常见喜欢。以下是我想要获得的结果 User1 :
User , Count, Drinks
User3, 2, [ Cola, Beer ]
User2, 1, [ Cola ]
User5, 1, [ Tea ]
User4, 0, [ ]
User6, 0, [ ]
这似乎很容易,但不适合我。
我可以获得用户和计数与用户有关系但没有关系的用户。请有人帮我这个吗?提前谢谢!
答案 0 :(得分:1)
我建议的解决方案有以下逻辑:
这基于以下测试图:
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 []