neo4j需要查询

neo4j需要查询,neo4j,cypher,nosql,Neo4j,Cypher,Nosql,嘿,伙计们,我需要一些帮助来用neo4j构建这个查询 根据收听用户的唯一数量对所有艺术家(音乐艺术家)进行排名,显示前5名 谢谢 图表如下所示: (User)-[:LISTENS_TO{weight:1212}]->(artists), (User)-[:TAGS]->(artists), (User)-[:FRIENDS_WITH]->(friend) 我认为可能有效的问题: match (m : user) - [l : listnto ] - > a : aryi

嘿,伙计们,我需要一些帮助来用neo4j构建这个查询

根据收听用户的唯一数量对所有艺术家(音乐艺术家)进行排名,显示前5名

谢谢

图表如下所示:

(User)-[:LISTENS_TO{weight:1212}]->(artists),
(User)-[:TAGS]->(artists),
(User)-[:FRIENDS_WITH]->(friend)
我认为可能有效的问题:

match (m : user) - [l : listnto ] - > a : aryist
return count (distinct (m ) )as listncount , a.name order by lostencount desc limit {5}

在此处创建了一个小图形示例:

询问

MATCH (u:User)-[:LISTENS_TO]->(a:Artist)
RETURN a.name,count(DISTINCT u) AS count
ORDER BY count DESC
LIMIT 5

返回按唯一侦听器数量排序的艺术家。

您的图形是什么样的-艺术家与用户的关系如何?你尝试过什么查询?(用户)-[:监听{weight:1212}]->(美术家),(用户)-[:标签]->(美术家),(用户)-[:FRIENDS\u WITH]->(friend)我在想这个:匹配(m:User)-[l:listnto]->a:Artister返回计数(distinct(m))作为ListCount,a.name顺序按lostencount描述限制{5}但我不确定。编辑。很抱歉给您带来不便。除了您的查询中的拼写错误,它看起来很好。什么不起作用?返回的计数值不正确。查询应以限制5结尾,最多显示5。