2

私は Freebase を初めて使用し、2 つのノード間の関係を見つけようとしましたが、うまくいきませんでした。

たとえば、ルイス・ハミルトン(/en/lewis_hamilton)とフォーミュラ・ワン(/en/formula_one)の間に実際のリンクがあるかどうかを調べたいのですが、見つけられないようです。

ID を交互に変えて、次の MQL コードを試しました。

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

与えられたクエリは、リンクが 1 つ離れた関係のみを参照することを除いて正しいものです。驚くべきことに、現在フリーベースにルイス・ハミルトンから F1 への道はありません。ある場合、次のようになります。

/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 のすべてのアプリは、ワンクリックで複製できます。Google が新しい API に切り替えたとき、そのインフラストラクチャで作成されたほぼすべてのアプリが機能しなくなりました。開発者は、何年も調べていない場合、それらを修正する可能性は低いですが、おそらく a) クローニングによって、関心のあるアプリを機能させることができます。 b) API キーを登録し、c) その API キーを複製されたアプリに追加します。

于 2013-04-01T14:03:29.777 に答える