特定のトピックについてのすべてを取り戻すFreebaseのMQLクエリを書きますか?
質問
私は戻っトピック(一つだけレベルの深さにする必要があります。
について知られているすべてのものを取得するクエリを作成したいですFreebaseはMQLエディタでの作業は、彼らは私たちがすべてを知っている「ため、次の例を与えるした場合「ジミ・ヘンドリックスについて:
{
"*" : null,
"name" : "Jimi Hendrix",
"type" : "/music/artist"
}
問題は、クエリがタイプ「/音楽/アーティスト」にバインドされているだけで、そのタイプに関係するプロパティを取り戻しているということです。あなたが別のタイプを使用するクエリを変更した場合、あなたは完全に異なる結果セットを取得します。
{
"*" : null,
"name" : "Jimi Hendrix",
"type" : "/people/person"
}
どのように私は本当にFreebaseのはジミ・ヘンドリックスについて知っているすべてのものを取り戻すクエリを書くことができますか?
解決
FreebaseのトピックAPIはあなたが後にしているものかもしれません
http://www.freebase.com/experimental/トピック/標準?ID = / EN / jimi_hendrix の
トピックのAPIは、直接グラフ内のトピックに関連するすべてのプロパティをつかむだろう。 APIは、JSON内のすべてのデータ出力を得るために、MQLクエリのシリーズをラップします。
詳細については、Googleの "の FreebaseのトピックのHTTP API の" ます。
他のヒント
これを行うには、Freebaseのグラフを構成する基礎となるリンク(/タイプ/リンク)を見て、クエリのより高度な種類が必要になります。各リンクは、ソース、ターゲットとそれに割り当てられた性質を持っており、彼らはこのように問い合わせることができます:
[
{
"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"
}
]
これらのリンクは、その値として、ジミ・ヘンドリックスを参照してください他のトピックのプロパティが含まれており、これらの値は、管理可能なレベルまで情報量を維持するためにFreebaseのジミ・ヘンドリックスのページに示されていないすべてです。
しばらくして、私たちは、これは典型的なユースケースで考え出しので、我々はこれを行うためのまったく新しいAPIを導入します
http://www.freebase.com/docs/topic_apiする
これは、上記のクエリだけでなく、メディエーターや他のグッズから、あなたのすべてのプロパティを取得します。
あなたはFreebaseの中のすべてのトピックからすべてのプロパティをしたい場合、あなたはデータ・ダンプを使用する必要があることに注意してくださいとない実行時のクエリ言語(それが速く何倍になります)。