4

freebase ID から共通名でタイプのリストを取得できるようにしたい

{
  "id":    "/m/02mjmr", #obama
  "type":[]
}​

ID の代わりに型の名前を返すにはどうすればよいですか? 上記は戻ります

0: "/common/topic"xp
1: "/people/person"xp
2: "/user/robert/default_domain/presidential_candidate"xp
3: "/book/author"xp
4: "/award/award_winner"xp
5: "/book/book_subject"xp
6: "/user/robert/x2008_presidential_election/candidate"xp
7: "/government/politician"xp
8: "/organization/organization_member"xp
9: "/user/robert/default_domain/my_favorite_things"xp

そして最後に、それらをカウント順に並べ替えるにはどうすればよいでしょうか? またはおそらく注目すべきことによって?

すなわち、

President
Nobel Prize Winner
Author
Person

等?

注目すべき型 API に似たものかもしれませんが、なくなりそうですか?

http://wiki.freebase.com/wiki/Notable_types_API

4

2 に答える 2

3

名前とインスタンス数を取得できます

{
  "id": "/m/02mjmr",
  "type": [{
    "name":          null,
    "id":null,
    "/type/type/domain":{"key":[{"namespace":"/","limit":0}],"id":null}
    "/freebase/type_profile/instance_count": null,
    "sort":"/freebase/type_profile/instance_count"
  }]
}​

「注目すべき」の 1 つの定義は低頻度であるため、インスタンス カウントの並べ替えを逆にするだけで注目に値します。これを Freebase の「コモンズ」のタイプに限定すると、ノイズの多いユーザー タイプが除外されます。コモンズ タイプを識別する 1 つの方法は、ルート名前空間 (つまり、/government のような単一のパス セグメント) にある /type/type/domain プロパティ値を探すことです。

あなたの例では、最も頻度の低いコモンズタイプは次のとおりです。

 43 /government/us_president     US President    /government 
 51 /people/appointer    Appointer   /people  
 73 /architecture/building_occupant  Building Occupant   /architecture 
204 /government/political_appointer  Political Appointer     /government
230 /book/poem_character     Poem character  /book  
254 /event/public_speaker    Public speaker  /event

アプリケーションにとって重要ではないと思われるタイプをブラックリストに登録することで、フィルタリングをさらに絞り込むことができます。現在、2134 個のコモン タイプがあり、それらの多くはプリミティブ データ タイプまたはシステムで使用するものであるため、リスト全体を調べて手作業で整理するのにそれほど時間はかかりません。

于 2012-03-08T20:28:12.603 に答える
1

また、結果ごとに 1 つ以上の注目すべき型を返すFreebase Search APIにも興味があるかもしれません。次のように、MID で特定のトピックを検索できます。

https://www.googleapis.com/freebase/v1/search?query=/m/02mjmr&indent=true

于 2012-03-09T02:41:58.857 に答える