使用python,SPARQL,DBpedia和Wikidata获取信息

时间:2018-02-24 12:45:16

标签: sparql dbpedia wikidata sparqlwrapper

我有一个CSV文件,其中包含英文和希伯来文的名单,我需要了解一些信息。

我需要的数据是 "名称 - 希伯来语名称 - 英语DBpedia-URL日期出生地出生日期死亡地点死亡入境_地点"

对于每个人," entry_where_found"如果我在DBpedia或维基数据上找到了相关信息,应该返回。

我想到了这样的事情:

PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX dbo: <http://dbpedia.org/ontology/> 

SELECT ?person WHERE { 
  SERVICE <http://dbpedia.org/sparql> {?person a dbo:Person }
  SERVICE <https://query.wikidata.org/sparql> { ?person wdt:P31 wd:Q5 }
}

查询DBpedia和wikidata,以及类似的内容:

SELECT ?instance_of ?label_he ?label_en ?place_of_birthLabel ?date_of_birth ?place_of_death ?place_of_deathLabel ?date_of_death ?URL WHERE {
  ?instance_of rdfs:label ?label_he.
  ?instance_of rdfs:label ?label_en.
  ?instance_of wdt:P31 wd:Q5.
  ?instance_of wdt:P19 ?place_of_birth.
  ?instance_of wdt:P569 ?date_of_birth.
  ?instance_of wdt:P20 ?place_of_death.
  ?instance_of wdt:P570 ?date_of_death.
  OPTIONAL { ?instance_of wdt:P31 ?record_label. }
  OPTIONAL { ?instance_of wdt:P31 ?instance_of. }
  OPTIONAL { ?instance_of wdt:P2699 ?URL. }
  FILTER(((LANG(?label_he)) = "he") && ((LANG(?label_en)) = "en"))
}

但我不知道如何添加每次查找的特定名称,以及如何将查询与第一个代码结合起来。

有人可以帮忙吗? 谢谢!

0 个答案:

没有答案