Запрос DBpedia SPARQL возвращает несколько и повторяющиеся записи
Я совершенно новичок в SPARQL, и меня смущают существующие для него стандарты синтаксиса многообразия. Я пытаюсь получить уникальные данные из DBpedia, используя следующий запрос:
SELECT DISTINCT ?Museum, ?name, ?abstract, ?thumbnail, ?latitude,
?longitude, ?photoCollection, ?website, ?homepage, ?wikilink
WHERE {
?Museum a dbpedia-owl:Museum ;
dbpprop:name ?name ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:thumbnail ?thumbnail ;
geo:lat ?latitude ;
geo:long ?longitude ;
dbpprop:hasPhotoCollection ?photoCollection ;
dbpprop:website ?website ;
foaf:homepage ?homepage ;
foaf:isPrimaryTopicOf ?wikilink .
FILTER(langMatches(lang(?abstract),"EN"))
FILTER (langMatches(lang(?name),"EN"))
}
LIMIT 20
Как любой может видеть, записи дляGeffrye_Museum
а такжеInstitute_for_Museum_Research
повторяются в результатах, потому чтоInstitute_for_Museum_Research
имеет два разных значения для его имени иGeffrye_Museum
имеет два значения долготы. В обоих этих повторяющихся случаях я хочу, чтобы вторые значения были отброшены; то есть дляGeffrye_Museum
значение долготы-0.0762194
должны быть проигнорированы, и дляInstitute_for_Museum_Research
значение имени"Institut für Museumsforschung"@en
должны быть проигнорированы.
Обратите внимание, что я уже применяю фильтрацию для полей, которые я хочу, и это просто изобилие данных в DBpedia, с которыми я хочу работать на самом уровне запросов. Итак, как я могу заставить DBpedia возвращать только первое значение, если для одного столбца существует несколько значений?