2017-05-27 69 views
0

我想獲得維基數據中的演員名單以及每個人獲得的獎項數量。我必須寫什麼查詢?SPARQL - 每個演員的獎項數量?

我試過,但它似乎並沒有工作,因爲我只有幾個結果:

SELECT ?actor ?actorLabel ?awardsNumber WHERE { 
{ 
    SELECT ?actor (COUNT(DISTINCT ?awardsNumber) AS ?awardsNumber) 
    WHERE { 
     ?actor wdt:P106 wd:Q33999 . 
     ?awardsNumber wdt:P166 ?actor . 
    } 
    GROUP BY ?actor 
}   
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . } 
} 
ORDER BY DESC (?awardsNumber) 

預先感謝您的幫助!

回答

0

不確定爲什麼您使用屬性P166(「已收到獎勵」)作爲傳入屬性。當然查詢必須是

SELECT ?actor ?actorLabel ?awardsNumber WHERE { 
{ 
    SELECT ?actor (COUNT(DISTINCT ?award) AS ?awardsNumber) 
    WHERE { 
     ?actor wdt:P106 wd:Q33999 . 
     ?actor wdt:P166 ?award. 
    } 
    GROUP BY ?actor 
}   
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . } 
} 
ORDER BY DESC (?awardsNumber) 
+0

謝謝!我只是用它,因爲收到的獎項通過這個屬性與演員相關聯,我沒有找到另一種方法來找出我的問題。 – Olscream