2011-07-18 51 views
2

我想弄清楚如何查詢某個人或公司名稱的freebase(或其data dumps),並找回該項目的所有其他「密鑰」或「名稱」的列表。我想使用結果來防止我的內容組織中出現重複的標籤。查找Freebase對象的所有鍵/名稱?

我如何query freebase給定項目的所有名稱?

例如,this page on IBM列出術語「IBM」的以下名稱(或「鍵」)。

  • International_Business_Machines
  • IBM
  • IBM_computer
  • IBM_Japan_Ltd
  • IBM_Machines
  • IBM_Software_Group
  • 等...

回答

3

這將讓你的所有鍵:

{ 
    "id": "/en/ibm", 
    "key" : [] 
} 

如果你只是想從英文維基百科的那些,你可以使用:

{ 
    "id": "/en/ibm", 
    "key" : [ 
    "namespace" : "/wikipedia/en", 
    "value" : null 
    ] 
} 

您可以在http://www.freebase.com/queryeditor嘗試出來的查詢編輯器,然後單擊「mqlread」(右上),以獲得它轉換成可以在代碼中使用的原始API調用。

+0

非常感謝@Skud!我知道必須有一個簡單的解決方案,但我試圖重新編寫所有示例查詢,但我無法弄清楚。我也從來沒有想過可能會出現的「垃圾」鍵 - 所以也許我會一直使用第二個查詢,以確保我只返回有效的結果,維基百科上的某個人已經批准了這個項目的好名字。我想知道是否可以在轉儲中找到這些數據,並且自己預處理它以保存所有這些查詢。 – Xeoncross

+0

此外,如果您想從數據轉儲中獲得完整列表,可以下載四元轉儲並查找表單行: \t/type/object/key \t/wikipedia/en \t