2013-10-03 40 views
1

我需要检索某些Freebase主题ID的信息(图片,名称,说明)。批量检索Freebase主题信息

我在this question看到我可以使用谷歌RPC,但它不适用于我,因为它只返回描述。

我需要检索约100个主题的信息,并且我无法执行100个API调用。

是否有另一种方法来实现这一目标?

+0

你能e更多地了解应用程序?为什么你不能做100个API调用?这些主题是以任何方式相关的? –

+0

我不能做100个API调用,因为它太慢了。这些主题或多或少与另一个主题相关,但我认为这与我的问题无关。在一个完美的世界中,我会使用一个与此API主题配合使用的Google RPC调用GET https://www.googleapis.com/freebase/v1/topic/id。 – lou

回答

1

您可以使用MQL构造一个查询来返回每个主题需要的内容,然后一次传递所有主题ID。

+0

据我所知,无法在MQL中传递多个IDS。 – lou

+0

这是可能的。它看起来像这样:{“mid | =”:[“/ m/05qtj”,“/ m/04jpl”,“/ m/02_286”]} –

2

你可以看一下像这样一个搜索API调用多个主题:

https://www.googleapis.com/freebase/v1/search? 
filter=(any mid:/m/05qtj mid:/m/04jpl mid:/m/02_286)& 
output=(/common/topic/image description) 

(当然,你需要到URL逃脱参数我只是想显示过滤器语法是什么样子。 )

如果你在一个时间查询100周的主题,所以你需要将它与下面的头一组发送的POST,而不是你的请求的URL可能过大派作为HTTP GET:

X-HTTP-Method-Override: GET