0

我有简单的用例,但仍然找不到解决方案....
我有问题节点,每个问题都有类别,每个类别可以有很多问题。我想做以下事情:

检索 5 个问题,每个问题都来自不同的类别。

尝试了以下方法,但这不是我想要的,因为我仍然收到来自同一类别的问题。

 START question=node:__types__(className = "com.socialist.server.graph.entities.Question")
 RETURN distinct(question.category), question
 LIMIT 5

该用例的正确查询是什么?您的回答非常受欢迎。

4

1 回答 1

1

像这样的东西可能会起作用,但是如果每个类别都有很多,那将不是最好的效率:

START question=node:__types__(className = "com.socialist.server.graph.entities.Question")
RETURN question.category, head(collect(question))
LIMIT 5

此外,很快(希望到 2.0 版本)将有一种从集合中随机获取项目的好方法,如下所示:

START question=node:__types__(className = "com.socialist.server.graph.entities.Question")
WITH question.category as category, collect(question) as questions
RETURN category, questions[rand() * length(questions)]
LIMIT 5
于 2013-06-15T16:32:38.957 回答