Результаты отфильтрованы, хотя данные есть - PullRequest
0 голосов
/ 15 ноября 2018

Вот мой запрос:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
PREFIX : <http://dbpedia.org/resource/> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?resource ?parentOrSpouse
WHERE { 
?resource a dbo:Royalty ; 
rdfs:label ?label ; 
dbo:parent ?parent ; 
dbo:birthDate ?bd ; 
dbo:birthPlace ?bp . 
?bp dbo:isPartOf :England . 
FILTER(?bd < '1900-01-01'^^xsd:dateTime) . 
FILTER(?bd > '1800-01-01'^^xsd:dateTime) . 
FILTER(LANGMATCHES(LANG(?label), 'en')) . 
{ ?resource dbo:parent ?parentOrSpouse } UNION { ?resource dbo:spouse ?parentOrSpouse }
?parentOrSpouse dbo:birthPlace ?psbp .
?psbp dbo:isPartOf :England . 
}
ORDER BY(?bd)

Поиск всех королевских особей, родившихся в Англии между 1800 и 1900 годами, у которых есть супруг или родитель, родившийся в Англии.

Результат

В списке результатов я получаю
http://dbpedia.org/page/George_V, в котором http://dbpedia.org/page/Mary_of_Teck указан как супруг, но не указан Mary_of_Teck, когда Джордж явно родился в Англии.

Почему Мария исчезает?Есть много других людей, которые исчезают, которые должны быть в списке, когда я смотрю на данные.

1 Ответ

0 голосов
/ 16 ноября 2018

Таким образом, решение для Мэри, не появляющейся, состоит в том, чтобы использовать dbo:parent|dbo:spouse/dbo:wikiPageRedirects?, так как Джордж упоминается Мэри через перенаправление.

Другая проблема была dbo:birthPlace/dbo:location?/dbo:isPartOf dbr:England, выдавая ошибку, которая, вероятно, (?)связанные с ошибкой в ​​компиляторе.Использование ?parentOrSpouse dbo:birthPlace|dbo:birthPlace/dbo:location/dbo:isPartOf :England . вместо этого, кажется, работает нормально.

Кредит переходит к @ AKSW.

...