У меня есть следующий код для извлечения всех людей, которые родились в Барселоне
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?person ?birthPlace WHERE { ?person rdfs:label ?label. ?person rdf:type dbo:Person. ?person <http://dbpedia.org/property/birthPlace> <http://dbpedia.org/resource/Barcelona>. }
Однако я не знаю, как получить birthPlace.Я хочу переменную, которая говорит рядом с каждым именем, что Барселона является местом рождения.Есть идеи?
Как насчет этого:
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?person ?birthPlace WHERE { ?person rdfs:label ?label. ?person rdf:type dbo:Person. ?person <http://dbpedia.org/property/birthPlace> ?birthPlace. FILTER (?birthPlace = <http://dbpedia.org/resource/Barcelona>) }
Обратите внимание, что в вашем запросе есть шаблон для соответствия меткам, но метки не возвращаются. Это приводит к дублированию результатов, потому что у некоторых людей есть несколько ярлыков (на разных языках). Удалите шаблон или добавьте ?label к предложению SELECT.
?label
SELECT
Вы можете сократить <http://dbpedia.org/property/birthPlace> до dbp:birthPlace.
<http://dbpedia.org/property/birthPlace>
dbp:birthPlace