即使数据在那里,结果也会被过滤掉
Results filtered out even though the data is there
这是我的查询:
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 年间在英国出生且配偶 parent 在英国出生的所有皇室成员。
在我得到的结果列表中
http://dbpedia.org/page/George_V with http://dbpedia.org/page/Mary_of_Teck 被列为配偶,但未被 Mary_of_Teck 列出,而乔治显然出生在英格兰。
为什么玛丽失踪了?还有很多其他人消失了,我看数据的时候应该清楚地在名单上。
因此,解决 Mary 未出现的方法是使用 dbo:parent|dbo:spouse/dbo:wikiPageRedirects?
,因为 George 是由 Mary 通过重定向引荐的。
另一个问题是 dbo:birthPlace/dbo:location?/dbo:isPartOf dbr:England
抛出一个可能(?)与编译器错误相关的错误。使用 ?parentOrSpouse dbo:birthPlace|dbo:birthPlace/dbo:location/dbo:isPartOf :England .
似乎效果很好。
归功于@AKSW。
这是我的查询:
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 年间在英国出生且配偶 parent 在英国出生的所有皇室成员。
在我得到的结果列表中
http://dbpedia.org/page/George_V with http://dbpedia.org/page/Mary_of_Teck 被列为配偶,但未被 Mary_of_Teck 列出,而乔治显然出生在英格兰。
为什么玛丽失踪了?还有很多其他人消失了,我看数据的时候应该清楚地在名单上。
因此,解决 Mary 未出现的方法是使用 dbo:parent|dbo:spouse/dbo:wikiPageRedirects?
,因为 George 是由 Mary 通过重定向引荐的。
另一个问题是 dbo:birthPlace/dbo:location?/dbo:isPartOf dbr:England
抛出一个可能(?)与编译器错误相关的错误。使用 ?parentOrSpouse dbo:birthPlace|dbo:birthPlace/dbo:location/dbo:isPartOf :England .
似乎效果很好。
归功于@AKSW。