Получить информацию, используя python, SPARQL,DBpedia и Wikidata

У меня есть файл CSV со списком имен на английском и иврите, мне нужно получить некоторую информацию о.

Мне нужны следующие данные: "имя-иврит имя-английский DBpedia-URL дата рождения место рождения дата рождения Death placeDeath entry_where_found"

для каждого человека должен возвращаться "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 ответов

Другие вопросы по тегам