在单个请求中获取链接主题的信息

时间:2013-04-10 15:34:45

标签: freebase

所以,我说使用Freebase API搜索城市。说,旧金山:

https://www.googleapis.com/freebase/v1/topic/m/0d6lp?limit=20&filter=/common/topic/description&filter=/common/topic/article&filter=/location/location/geolocation&filter=/location/location/containedby&filter=/travel/travel_destination/tourist_attractions

我得到了一堆数据,包括'/ location / location / containedby',它引用了包含这个数据的其他实体。这就是我如何知道这个城市所属的州和国家。

问题是我只获得那些实体名称和mid,但不是'/ common / topic / notable_for',因此,我必须对每个实体进行单独查询,只询问notable_for属性,找出哪一个这些是国家,国家或其他我不需要的东西。

例如,这是一个查询,它确定美利坚合众国是一个国家: https://www.googleapis.com/freebase/v1/topic/m/09c7w0?filter=/common/topic/notable_for 每个城市执行3至6次。

有没有办法告诉API在某个主题上包含有关这些链接实体的更多信息?就像这种情况一样,在链接的实体上包含'/ common / topic / notable_for'。在我的情况下,它可以节省大量的查询和最终用户的时间。

感谢您的时间!

2 个答案:

答案 0 :(得分:0)

如果您想要更好地控制返回的信息,我建议您使用MQL Read API。然后,您可以指定嵌套查询,这些查询要求使用其类型返回contains_by位置(或者您可以显式过滤到仅属于国家或州的那些)。

答案 1 :(得分:0)

您可以使用output parameter上的新Freebase Search API来获得这些结果。像这样:

query=/m/0d6lp
output=(description /location/location/geolocation (/location/location/containedby notable))

Try it out