如何仅在一个GraphQL请求中返回多个结果?

如何仅在一个GraphQL请求中返回多个结果?,graphql,grandstack,Graphql,Grandstack,我有一个GRANDstack应用程序 对于此应用程序,我在Neo4j中有一个密码请求,如下所示: MATCH (c:CLUSTER) WITH c ORDER BY c.cluster_score DESC LIMIT 5 MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE) WITH c,a ORDER BY a.article_score DESC RETURN c, collect(a)[..5] as articles 匹配(c:集群) 用c 按c.clu

我有一个GRANDstack应用程序

对于此应用程序,我在Neo4j中有一个密码请求,如下所示:

MATCH (c:CLUSTER)
WITH c
ORDER BY c.cluster_score DESC
LIMIT 5
MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE)
WITH c,a
ORDER BY a.article_score  DESC
RETURN c, collect(a)[..5] as articles
匹配(c:集群)
用c
按c.cluster_score DESC排序
限制5

匹配(c)您将返回2个值
c
articles
,但是无法在GraphQL类型中表示这一点。制作一个中间类型,我将调用我的
中间类型

type CLUSTER {
   id: ID
}

type ARTICLE {
   id: ID
}

type Intermediary {
}
并将您的
集群
文章
作为字段嵌入到类型中

type Intermediary {
  cluster: CLUSTER 
  article: ARTICLE
}
然后在执行
@cypper
指令时使用此类型

type Query {
  myQuery: Intermediary @cypher(...)
}
当从cypher查询中投影值时,返回一个表示
中介体的对象
类型

MATCH (c:CLUSTER)
WITH c
ORDER BY c.cluster_score DESC
LIMIT 5
MATCH (c)<-[:HAS_CLUSTER]-(a:ARTICLE)
WITH c,a
ORDER BY a.article_score  DESC
WITH c, collect(a)[..5] as articles
RETURN {
    cluster: c,
    articles: articles
}
匹配(c:集群)
用c
按c.cluster_score DESC排序
限制5

匹配(c)这是
@cypher
指令中的密码吗?你好,是的,它是isHello@DanStarns谢谢,我要试试。你好@DanStarns,我试过你的代码,但我有一个错误,我不知道该怎么办。我可以给你看看吗?