Получить информацию, используя 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"))
}
Но я не знаю, как добавить конкретное имя для поиска каждый раз, и как объединить запрос с первым кодом.
Может кто-нибудь помочь? Благодарю вас!