2

我是 Freebase 的新手,我一直试图找到 2 个节点之间的关系但没有成功。

例如,我想找出现实生活中存在的 Lewis Hamilton(/en/lewis_hamilton) 和一级方程式 (/en/formula_one) 之间是否存在联系,但我似乎找不到。

我尝试了以下 MQL 代码,以及交替的 ID:

1)

[{ 
 "type" : "/type/link", 
 "source" : { "id" : "/en/lewis_hamilton" }, 
 "master_property" : null, 
 "target" : { "id" : "/en/formula_one" }, 
 "target_value" : null 
}]

2)

{
  "id":"/en/lewis_hamilton",
  "/type/reflect/any_master":[{
    "link":null,
    "name":null
  }],
  "/type/reflect/any_reverse":[{
    "link":null,
    "name":null
  }],
  "/type/reflect/any_value":[{
    "link":null,
    "value":null
  }]
}

我也无法使用他们的几个可以做到这一点的应用程序,因为它每次都返回“超出用户速率限制” 。应用程序是:

  1. http://between.freebaseapps.com
  2. http://shortestpath.freebaseapps.com

你们有什么建议吗?

4

2 回答 2

5

您提供的查询是正确的,只是它们只查看相隔一个链接的关系。令人惊讶的是,目前还没有从刘易斯汉密尔顿到 Freebase 一级方程式的道路。如果有,它可能看起来像这样:

/en/lewis_hamilton → /type/object/type → /base/formula1/formula_1_driver
/base/formula1/formula_1_driver → /type/type/domain → /base/formula1
/base/formula1 → /freebase/domain_profile/equivalent_topic → /en/formula_one

Freebase 不支持递归查询,因此没有好的方法可以找到主题之间的这些多链接路径。您尝试的应用程序通过生成具有越来越多的嵌套子查询的查询来模拟递归。不幸的是,它们已经过时,并且缺少正确的 API 密钥以立即正常运行。这些嵌套查询如下所示:

{
  "id": "/en/lewis_hamilton",
  "name": null,
  "/type/reflect/any_master": [{
    "link": {
      "master_property": null,
      "target": {
        "id": null,
        "name": null,
        "/type/reflect/any_master": [{
          "link": {
            "master_property": null,
            "target": {
              "id": "//base/formula1",
              "name": null
            }
          },
          "name": null
        }]
      }
    },
    "name": null
  }]
}

这类查询可能需要很长时间才能运行,如果在Freebase 数据转储上本地运行可能会更好。

于 2013-03-31T19:58:05.967 回答
1

Freebase 现在只返回 503,所以尝试起来有点困难,但是

  • Freebaseapps 上的所有应用程序都是开源的,因此查看您找到的应用程序的源代码应该会给您一些很好的提示。应用程序目录位于https://www.freebase.com/apps(但现在不呈现)

  • 只需单击一下即可克隆 Freebaseapps 上的所有应用程序。当谷歌切换到新的 API 时,几乎所有在该基础设施上编写的应用程序都停止工作,如果他们多年没有被关注,开发人员不太可能修复它们,但你可能可以通过 a) 克隆来让感兴趣的应用程序工作他们,b) 注册 API 密钥和 c) 将该 API 密钥添加到克隆的应用程序。

于 2013-04-01T14:03:29.777 回答