2

トピックについて既知のすべてを取得するクエリを作成したいと考えています (必要なのは 1 レベルの深さだけです。

Freebase MQL エディターで作業する場合、彼らは「ジミ・ヘンドリックスについて私たちが知っているすべて」の例を次のように示しています。

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/music/artist"
}

問題は、クエリが「/music/artist」タイプにバインドされており、そのタイプに関連するプロパティのみが返されることです。別のタイプを使用するようにクエリを変更すると、まったく異なる結果セットが得られます。

{
  "*" : null,
  "name" : "Jimi Hendrix",
  "type" : "/people/person"
}

Freebase がジミ・ヘンドリックスについて知っていることすべてを実際に返すクエリを作成するにはどうすればよいでしょうか?

4

3 に答える 3

4

これを行うには、Freebase グラフを構成する基になるリンク (/type/link) を参照する、より高度なタイプのクエリが必要です。各リンクには、ソース、ターゲット、および割り当てられたプロパティがあり、次のようにクエリできます。

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

これらは発信リンクと呼ばれ、Freebase UI で通常表示されるほとんどの値を表しますが、ソースとターゲットを入れ替えて、着信リンク リンクのリストを取得することもできます。

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

これらのリンクには、Jimi Hendrix を値として参照する他のトピックのプロパティが含まれており、情報量を管理可能なレベルに保つために、これらの値はすべて Freebase Jimi Hendrix ページに表示されているわけではありません。

于 2009-03-29T04:56:51.313 に答える
3

Freebase Topic API は、あなたが求めているものかもしれません:

http://www.freebase.com/experimental/topic/standard?id=/en/jimi_hendrix

Topic API は、グラフ内のトピックに直接関連するすべてのプロパティを取得します。API は一連の MQL クエリをラップして、すべてのデータと出力を JSON で取得します。

詳細については、 Google の「Freebase Topic HTTP API」を参照してください。

于 2010-07-31T21:53:33.460 に答える
2

しばらくして、これが典型的な使用例であると判断したため、これを行うためのまったく新しい API を導入しました。

http://www.freebase.com/docs/topic_api

これにより、上記のクエリからのすべてのプロパティと、メディエーターやその他の機能が取得されます。

Freebase のすべてのトピックからすべてのプロパティが必要な場合は、ランタイム クエリ言語ではなく、データ ダンプを使用する必要があることに注意してください (何倍も高速になります)。

于 2011-06-22T23:38:51.717 に答える