Я пытаюсь получить список:
Человек А, место рождения А, человек Б, место рождения Б
где родиной является город.
Отношения между человеком А и человеком Б таковы, что человек А "влиял" на человека Б. Пока мой код выглядит следующим образом:
SELECT ?person ?birthplace ?influenced ?birthplace2
WHERE {
?person a <http://dbpedia.org/ontology/Person> .
?person dbpedia2:placeOfBirth ?birthplace .
?person <http://dbpedia.org/ontology/influenced> ?influenced.
?person dbpedia2:placeOfBirth ?birthplace2 .
?influenced a <http://dbpedia.org/ontology/Person>.
?country rdf:type dbpedia-owl:Country .
FILTER (str(?birthplace2) = str(?country))
FILTER (str(?birthplace) = str(?country))
}
В данный момент я играю кантри, потому что это единственное, что работает.
В настоящее время это просто дает мне два столбца с одним и тем же местом рождения. Он не показывает место рождения человека, на которого повлияло.
В идеале мне нужны широта и долгота каждого города рождения, например:
Человек A, место рождения A, широта, долгота, Человек B, место рождения B, широта, долгота
Но это может быть слишком много, чтобы просить. Извините, я новичок в SPARQL.