2

MQLで1つのクエリを実行して、Freebaseから特定の言語の名前とウィキペディアIDを取得することはできますか?それが可能であれば、一連の言語(ドイツ語と英語など)に対してこれを行うことも可能ですか?

4

2 に答える 2

6

質問と回答がありますが、クエリの少し良い形式は次のとおりです。

[{
  "id": "/en/white_house",
  "mid": null,
  "de:name": {
    "lang": "/lang/de",
    "value": null
  },
  "en:name": null,
  "wiki_de:key": {
    "/type/key/namespace": "/wikipedia/de_id",
    "value":         null,
    "optional": True,
  },
  "wiki_en:key": {
    "/type/key/namespace": "/wikipedia/en_id",
    "value":         null,
    "optional": True,
  }
}]​

ウィキペディアのキーに特殊文字が含まれている場合は エスケープされるため、エスケープを解除する方法についてはhttp://wiki.freebase.com/wiki/MQL_key_escapingを参照してください。

このクエリが優れている理由には、次のようなものがあります。

  • 英語がデフォルトの言語であるため、名前に指定する必要はありません
  • 名前空間ルックアップのあいまいさを取り除きます。元のクエリは、実際には任意の名前空間でキー「white_house」を探しています(そして、ID「/ en /white_house」と同等の「/en」でそれを見つけます)

IDで検索する必要はないことに注意してください。ウィキペディアのキーの1つで検索したり、「name〜= ":"ホワイトハウス」を使用してその文字列を含むすべてのトピックを検索したり、開始データや使用に役立つその他のトピックを検索したりするなど、MQLが提供する検索機能を使用できます。場合。

于 2011-12-02T15:43:37.483 に答える
0

MQLで遊んだ後、私はついに次のクエリを思いつきました(for white_house):

[{
  "id": null,
  "mid": null,
  "de:name": {
    "lang": "/lang/de",
    "value": null
  },
  "en:name": {
    "lang": "/lang/en",
    "value": null
  },

  "key": {
    "value": "white_house"
  },
  "wiki_de:key": {
    "/type/key/namespace": "/wikipedia/de_id",
    "value":         null
  },
  "wiki_en:key": {
    "/type/key/namespace": "/wikipedia/en_id",
    "value":         null
  }
}]
于 2011-12-02T10:07:57.997 に答える