【问题标题】:[Freebase]: Finding relationship between nodes[Freebase]:查找节点之间的关系
【发布时间】:2013-04-02 00:09:53
【问题描述】:

我是 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

大家有什么建议吗?

【问题讨论】:

    标签: semantic-web freebase mql


    【解决方案1】:

    您提供的查询是正确的,只是它们只查看相隔一个链接的关系。令人惊讶的是,目前还没有从刘易斯汉密尔顿到 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 data dumps 在本地运行可能会更好。

    【讨论】:

    • 感谢肖恩的解释!但是,假设汉密尔顿和 F1 之间的路径与您描述的完全一样,那不是 2 个链接吗?搜索会是什么样子?谢谢!
    • 我已经更新了答案以展示如何进行嵌套链接查询。我不建议您使用这种方法,因为它速度慢且容易超时。
    • 我也在寻找类似的东西。 Freebase 没有任何有用的 API 能够做出谷歌迄今为止还没有做过的重要事情。我建议获取您关心的免费基础数据,准备您自己的重要实体小型图形数据库。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多