2010-12-18 64 views
1

Freebase包含大量文檔,但缺少許多場景的工作代碼的一些特定示例。從Freebase API讀取時如何啓用擴展MQL

其中之一是如何使用他們的eMQL服務實現(在Python中,使用Python Freebase庫)查詢。這是他們的MQL服務的擴展版本。該文檔指出,您需要「將信封參數設置爲extended = true」,但我無法弄清楚如何實際做到這一點(獲得正確的語法)。

這裏是關於服務的文檔,我嘗試使用:http://www.freebase.com/docs/mql_extensions/common#service

這裏是我試圖讓使用擴展服務工作的代碼示例:

query = { 
    "extended": True, 
    "query": [{ 
     "id": "/en/settlers_of_catan", 
     "/common/topic/weblink": [{ 
      "description": "Wikipedia", 
      "url": None 
     }] 
    }] 
} 

result = freebase.sandbox.mqlread(query) 

此操作失敗,與錯誤,「類型/類型/對象沒有屬性擴展」。我相信這是告訴我,我實際上並沒有設置擴展屬性,而是試圖在錯誤的地方做到這一點。

+0

刪除標籤。 google-app-engine。我認爲你把它放在那裏是因爲你的應用程序在App Engine上運行 - 但它與實際問題沒有關係。 – 2010-12-19 23:19:48

回答

2

而且答案很簡單 - 通過包絡線設定(在這種情況下,「延長=真」的mqlread功能

result = freebase.sandbox.mqlread(query, extended=True) 

當然注意到T的市值在真