我希望在python项目中使用(以及一些相关信息)对GitHub GraphQL GraphQL存储库进行排名。到目前为止,我有这样的疑问:
query{
search(type: REPOSITORY, query: "language:javascript", first:10) {
userCount
edges {
node {
... on Repository {
name
url
stargazers {
totalCount
}
owner{
login
}
}
}
}
}
}问题是,它并不总是返回相同的结果:,它将返回10个随机存储库,每个查询按星号排序,而不是绝对的前10位。
最重要的是,我想得到那些开源的。
我使用查询
query{
licenses{name}
}但是我不知道这是否是一个详尽的列表(似乎缺少了一些许可,比如MIT)。根据医生的说法
返回已知开源许可证的列表。
如何获得许可证的详尽清单,并将其添加到上面的主要查询中,以使我的研究更加精确?
我似乎找不到明确的答案,因为有关GraphQl GitHub api的文档很少,而且相当模糊。
谢谢
发布于 2019-05-23 04:57:54
关于结果不一致的原因,我从GitHub支持处得到了部分解释:这是因为查询运行时间太长会导致超时。
对于我们的搜索基础设施来说,执行一些查询在计算上是很昂贵的。为了快速搜索每个人,我们限制了单个查询可以运行的时间。在查询超过时间限制的罕见情况下,搜索返回超时之前找到的所有匹配,并通知您已发生超时。 达到超时并不一定意味着搜索结果是不完整的。这意味着在搜索所有可能的数据之前,查询已经停止。 我们的团队在这里写道: https://help.github.com/articles/troubleshooting-search-queries/#potential-timeouts 在这种情况下,这些超时在分页结果时可能会导致不一致。我们看到了如何在将来的搜索迭代中改进这一点,所以我们已经让我们的团队知道了,尽管我们不能对具体的更改做出任何承诺。
编辑:由支持提供的,添加query: "language:javascript stars:>1600" (1600或多或少是前3000名代表的最低星号,但需要足够大,以缩小搜索范围)将提供一致的前10位回复由明星。
https://stackoverflow.com/questions/56251307
复制相似问题