自 Freebase 关闭以来,我尝试将基于 Freebase 的测验生成器改编为 Wikidata。我这样做有很多麻烦,现在我遇到了一个简单的问题:
怎么才能有得奖日期和从一个人开始?
示例:我想拥有2016
和The Revenant
for Leonardo Dicaprio
。我尝试了几个这样的请求:
SELECT ?id ?idLabel ?date ?forWork
WHERE {
wd:Q38111 wdt:P166 ?id .
?id wdt:P585 ?date .
?id wdt:1411 ?forWork .
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" }
}
问题是日期点 ( wdt:P58
) 与收到的奖励 ( P166
) 相关联,而不是Leonardo DiCaprio
or Academy Award for Best Actor
。
这些信息可在莱昂纳多·迪卡普里奥页面上找到(作为所获奖项的子部分)
我遇到的另一个问题是将Leonardo
他名字中的所有数据作为字符串而不是 id 访问。