从Freebase查找类型

时间:2012-02-22 17:33:26

标签: web freebase

我试图从Freebase中找到某个字符串的相关类型列表,比方说我输入Jordan,然后我会有一个类型country,person,athlete等的列表。

我找到了几种查询方法,例如:

First Query

试图让JSON失败,使用:

$.getJSON('http://api.freebase.com/api/service/search?query=jordan',function (data) {
            console.log(data);
           });

还有另一个query给了我更好的结果,因为我只在这里获得类型,但我也无法从中获取JSON文件。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的问题可能与freebase关系不大,更多的事情是您无法执行跨域http请求。您正在从api.freebase.com请求数据,但您可能正在另一个域中托管此页面。

您可以使用JSONP机制来规避该限制,这里有一些文档:

http://api.jquery.com/jQuery.getJSON/

阅读JSONP部分。

另外两点:

  1. 您是否正在尝试搜索与“jordan”一词匹配的所有实体,或者您是否正在寻找名为“jordan”的所有实体?最好的办法是使用/ search API而不是/ mqlread,它用于结构化数据库查询。

  2. 您还在使用已弃用的旧API。以下是有关新API的一些文档:

  3. http://wiki.freebase.com/wiki/API

    以下是您的请求的外观(请注意,您需要一个用于生产的API密钥): https://www.googleapis.com/freebase/v1/search?query=jordan&mql_output= [{%22name%22%20:%20null,%22type%22:[]}]