Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Semantic web [Freebase]:查找节点之间的关系_Semantic Web_Freebase_Mql - Fatal编程技术网

Semantic web [Freebase]:查找节点之间的关系

Semantic web [Freebase]:查找节点之间的关系,semantic-web,freebase,mql,Semantic Web,Freebase,Mql,我是Freebase的新手,我一直在尝试寻找两个节点之间的关系,但没有成功 例如,我想知道刘易斯·汉密尔顿(/en/Lewis_-Hamilton)和一级方程式(/en/Formula_-One)之间是否有联系,这在现实生活中是存在的,但我似乎找不到 我也尝试了以下MQL代码和交替ID: (一) (二) 我也无法使用他们的几个应用程序来实现这一点,因为它每次都返回“超出用户速率限制”。应用程序包括: 你们有什么建议吗?你们提出的问题是正确的,只是他们只关注相隔一个链接的关系。令人惊讶的是,从

我是Freebase的新手,我一直在尝试寻找两个节点之间的关系,但没有成功

例如,我想知道刘易斯·汉密尔顿(/en/Lewis_-Hamilton)和一级方程式(/en/Formula_-One)之间是否有联系,这在现实生活中是存在的,但我似乎找不到

我也尝试了以下MQL代码和交替ID:

(一)

(二)

我也无法使用他们的几个应用程序来实现这一点,因为它每次都返回“超出用户速率限制”。应用程序包括:


  • 你们有什么建议吗?

    你们提出的问题是正确的,只是他们只关注相隔一个链接的关系。令人惊讶的是,从刘易斯·汉密尔顿到自由基的一级方程式赛车现在还没有一条路。如果有,它可能看起来像这样:

    /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现在只返回503,所以实验有点困难,但是

    • Freebaseapps上的所有应用程序都是开源的,因此查看您找到的应用程序的源代码应该会给您一些好的提示。应用程序目录位于(但当前未呈现)

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


    谢谢你的解释,肖恩!然而,假设汉密尔顿和F1之间的路径与您描述的完全相同,它不是相隔两个链接吗?搜索它会是什么样子?非常感谢。我已经更新了答案,以显示如何进行嵌套链接查询。我不建议你使用这种方法,因为它速度慢而且容易超时。我也在寻找类似的方法。Freebase没有任何有用的API来实现谷歌迄今尚未实现的重要功能。我建议您获取您所关心的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
    
    {
      "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
      }]
    }