1

フリーベースユーザー!

私はこの結果を得ようとしています:

  • 2011 年に死亡したすべての人のリスト
  • 2011年に死亡したすべてのアメリカ人のリスト.

私は単純なクエリでPythonコードを使用します:

import freebase
r = freebase.mqlreaditer({"/people/deceased_person/date_of_death":'2011', "name":None})
for i in r:
    print i

しかし、出力には 20 ほどの名前が表示されます。結果をこの記事 (http://en.wikipedia.org/wiki/Category:2011_deaths) と比較すると、5,612 人の名前があり、明らかにエラーがあります。

正しい結果を得る方法はありますか?

4

1 に答える 1

1

あなたが書いたクエリ:

{
  "name": null,
  "/people/deceased_person/date_of_death": "2011"
}​

これは、死亡日が Freebase に「2011」と記録されている人のみを検索します。2011 年 1 月 1 日以降、2012 年 1 月 1 日より前に死亡した人を照会するつもりでした。その照会は次のようになります。

{
  "id": null,
  "name": null,
  "type": "/people/deceased_person",
  "date_of_death": null,
  "date_of_death>=": "2011",
  "date_of_death<": "2012"
}​

このクエリをさらに絞り込んで、次のようにアメリカ人のみを検索できます。

{
  "id": null,
  "name": null,
  "type": "/people/deceased_person",
  "date_of_death": null,
  "date_of_death>=": "2011",
  "date_of_death<": "2012",
  "/people/person/nationality": {
    "id": "/en/united_states"
  }
}​

国籍は /people/person (宣言された型) ではなく /people/person の一部であるため、完全なプロパティ ID を使用する必要がありますが、date_of_death は短縮された ID を使用できます。

于 2012-10-29T18:41:56.473 に答える