我有一个名称列表(数百个),这些名称已经使用python转换为wikidata中的Q号。我想为每个Q数(人)获取一些基本信息,例如出生地,国籍等。
SELECT DISTINCT ?name ?nameLabel ?genderLabel ?placeofbirth ?nationality (year(?birthdate) as ?birthyear) (year(?deathdate) as ?deathyear)
WHERE
{
?name wdt:P106/wdt:P279* wd:Q1028181 # painter
FILTER (?name IN (wd:Q2674488)) # James Seymour
OPTIONAL { ?name wdt:P569 ?birthdate. }
OPTIONAL { ?name wdt:P27 ?nationality. }
OPTIONAL { ?name wdt:P21 ?gender. }
OPTIONAL { ?name wdt:P19 ?placeofbirth. }
OPTIONAL { ?name wdt:P570 ?deathyear. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
使用SPARQL,我可以通过在“过滤器”中添加Q号来一次搜索两个或三个人,但是如何在python列表中循环遍历所有Q号呢?非常感谢!