【发布时间】:2014-03-05 20:41:22
【问题描述】:
我正在尝试使用 Freebase 按相关性列出城市的旅游景点。
使用 Topic API,使用其 MID 检索某个城市的结果很简单(例如,伦敦的“/m/04jpl”)
https://www.googleapis.com/freebase/v1/topic/m/04jpl/?&filter=/travel/travel_destination/tourist_attractions
但是,这提供了有限的 10 个结果。响应以"count": 87.0" 结尾。如何获得全部 87?可以单击伦敦 Freebase 页面上的“总计 87 个值”链接。实际上,我想在这里做同样的事情。
我意识到我可以使用 MQL,但我希望根据相关性而不是时间戳对结果进行排名。使用 Search API,可以按免费库、实体或模式进行排名,所以我宁愿使用它。
首先,我查看了搜索 API 的搜索输出架构。但是,即使输出“全部”也不会产生旅游景点结果。将元模式与 Search API DID 一起使用。我使用“part_of”来选择伦敦。但是,它仅适用于某些位置:
https://www.googleapis.com/freebase/v1/search?limit=50&filter=(all%20type:/travel/tourist_attraction%20part_of:/m/04jpl)&indent=true
我真正想做的是让它在一个相对未知的位置工作,比如“Loughborough”(MID /m/01z21p)。如您所见,将 /m/04jpl 替换为 /m/01z21p 不会产生任何结果:
https://www.googleapis.com/freebase/v1/search?limit=50&filter=(all%20type:/travel/tourist_attraction%20part_of:/m/01z21p)&indent=true
查看“拉夫堡”,我们看到它的旅游景点“Loughborough Town Hall”有一个“拉夫堡”的“/travel/tourist_attraction/near_travel_destination”。我将如何组成这个过滤器?
我想要类似以下的东西(确实有效):
https://www.googleapis.com/freebase/v1/search?limit=50&filter=(all%20type:/travel/tourist_attraction)&filter=(/travel/tourist_attraction/near_travel_destination:/m/01z21p )&indent=true
谢谢!
注意:要在浏览器中输入链接,您需要删除 https:// 和 www 之间的空格。我会这样做,但我还没有在此处发布超过 2 个链接所需的权限。
【问题讨论】:
标签: api search location coordinates freebase