在Wikidata中查找许多人的信息

时间:2019-05-27 22:39:04

标签: python sparql wikidata

我有一个名称列表(数百个),这些名称已经使用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号呢?非常感谢!

0 个答案:

没有答案