不太确定这是否属于Neo4j的范围,所以如果我只是想做太多话,请告诉我。
使用2种类型的节点(User
和Item
)以及1种关系类型(LIKES
)生成图表。我尝试按照其他用户喜欢的项目数量顺序列出用户节点。例如,User1喜欢10个项目,这10个项目都被其他用户所喜欢;但是,所有其他用户只喜欢这一项,因此列表看起来像
User1, 10
User2, 1
User3, 3
...
我的想象力是创建一个看起来像
的查询MATCH (u:User)-[e:LIKES]->(i:Item)<-e:LIKES]-(u2:User)
WITH u, count(u-->i<--u2) as num_common
RETURN u, num_common
显然count(u-->i<--u2)
不起作用,但我对它应该说什么感到茫然。
这在Neo4j中是否可行?
答案 0 :(得分:2)
我想出了怎么做。我将查询简化为
MATCH (u:User)-[e:LIKES]->(i:Item)<-[e2:LIKES]-(u2:User)
RETURN u, count(i)
ORDER BY count(i) DESC