2015-09-01 26 views
0

我想獲取影片上的信息,但是如果我使用語言屬性(這對我來說很重要),此查詢不起作用。有什麼辦法可以做到這一點?使用語言屬性時Freebase無法正常工作

[{ 
    "type": "/film/film", 
    "name": "terminator", 
    "mid": null, 
    "language": "en", 
    "starring": [{ 
    "actor": null, 
    "mid": null 
    }] 
}] 
+0

您正在使用哪個API? –

回答

0

首先,強制性的警告 - 所有的遊離鹼API是消失在不久的將來,所以你不應該寫基於這些新的代碼。

假設你正在使用的MQLread API,有與您的查詢的幾個問題:

  • 沒有電影就叫「終結者」你可以改變你的查詢,「終結者」,或者使用字匹配運算符
  • 沒有屬性language該類型/film/film(或/type/object
  • 爲英語,所述標識符是/lang/en

此查詢會爲默認語言(英語)和顯示名稱近似字匹配於所有語言:

[{ 
    "type": "/film/film", 
    "name~=": "terminator", 
    "name": { 
    }, 
    "mid": null 
}] 

如果要改變語言的所有標籤,你可以使用lang查詢參數,例如

https://www.googleapis.com/freebase/v1/mqlread/?lang=%2Flang%2Fzh&query=%5B%7B+%22type%22%3A+%22%2Ffilm%2Ffilm%22%2C+%22n1%3Aname%22%3A+%7B+%22value%22%3A+%22The+Terminator%22%2C+%22lang%22%3A+%22%2Flang%2Fen%22+%7D%2C+%22name%22%3A+null%2C+%22mid%22%3A+null+%7D%5D

切換語言來中國,但後來它覆蓋在查詢中英文查詢是這樣的:

[{ 
    "type": "/film/film", 
    "n1:name": { 
    "value": "The Terminator", 
    "lang": "/lang/en" 
    }, 
    "name": null, 
    "mid": null 
}] 
+0

謝謝。查詢工作。但是你所說的讓我感到害怕,「所有Freebase API都會在不久的將來消失」。那麼有什麼選擇? –

+0

這不應該是一個驚喜。 Google的API文檔頁面和Freebase網站上有一個非常大的警告框。目前沒有好的選擇。對於電影應用程序,根據您的預算,應用程序等,IMDB,Wikidata,DBpedia的某些組合可能會滿足您的需求。 –

+0

是的,試圖從wiki數據中提取。瞭解查詢結構對我來說變得越來越困難。 wikidata API文檔沒有什麼幫助。你能幫助我形成一個問題:「瞭解所有印度電影的細節?」或「獲取所有印地語語言電影的細節」?非常感謝您的幫助。謝謝。 下面的查詢返回的印度電影數量遠遠少於維基百科中的數量, https://wdq.wmflabs.org/api?q=claim[31:(TREE[11424][][279] )]%20於是%20tree [668] [150] [17131] –

相關問題