Sparql 缺少模式的测试返回匹配它的三元组

Sparql 缺少模式的测试返回匹配它的三元组,sparql,rdf,dbpedia,Sparql,Rdf,Dbpedia,为什么当值显示在页面上时,此查询的第一个结果与两个缺勤测试匹配 #Leaders of Member states of the EU for which there is no value for gender or depiction in DBpedia SELECT DISTINCT ?leader_No_gender ?leader_No_image WHERE { ?MS a dbo:Country; dct:subject <http://dbpedia.org/res

为什么当值显示在页面上时,此查询的第一个结果与两个缺勤测试匹配

#Leaders of Member states of the EU for which there is no value for gender or depiction in DBpedia

SELECT DISTINCT ?leader_No_gender ?leader_No_image

WHERE { 
?MS a dbo:Country; dct:subject <http://dbpedia.org/resource/Category:Member_states_of_the_European_Union>. 

{?MS dbo:leader ?leader_No_gender . 
FILTER NOT EXISTS {?leader_No_gender foaf:gender ?gender}
} 

UNION 

{?MS dbo:leader ?leader_No_image . 
FILTER NOT EXISTS {?leader_No_image foaf:depiction ?image}
} 
}
#DBpedia中没有性别或描述价值的欧盟成员国领导人
选择不同的?领导者\无性别?领导者\无形象
何处{
?MS a dbo:国家;dct:主题。
{?dbo女士:领导?领导没有性别。
筛选器不存在{领导者\u否\u性别foaf:性别?性别}
} 
联合
{?MS dbo:领导者?领导者没有图像。
筛选器不存在{领导者\u否\u图像foaf:描述?图像}
} 
}
由@AKSW作为DBpedia-Live主机提出的建议。(当然,这些结果与静态DBpedia上的结果不同,静态DBpedia仍然基于2016-10年的数据集,并且仍然运行在Virtuoso
07.20.3230
上,它仍然存在属性路径错误。)

前缀dbo:
前缀dct:
选择不同的
?领导者(无性别)
?领导者形象
哪里
{ 
?MS a dbo:国家/地区;
dct:主题。
{?dbo女士:领导?领导没有性别。
筛选器不存在{leader\u No\u gender dbo:wikiPageRedirects?/foaf:gender?gender}
} 
联合
{?MS dbo:领导者?领导者没有图像。
筛选器不存在{leader\u No\u image dbo:wikiPageRedirects?/foaf:description?image}
}
}

dbr:Boyko_Borisov
重定向到
dbr:Boyko_Borissov
。对,重定向,尝试
描述dbr:Boyko_Borisov
您可以使用属性路径,如
dbo:wikiPageRedirects?/foaf:gender
(要覆盖可传递的重定向,您甚至需要
dbo:wikiPageRedirects*/foaf:gender
)-注意,Virtuoso在某些地方使用属性路径时仍然存在一些问题,我不知道为什么,但如果在查询中使用
dbo:wikiPageRedirects?/foaf:gender
dbo:wikiPageRedirects?/foaf:description
,它将失败,出现
Virtuoso 37000错误SP031:SPARQL编译器:变量“\uU3::trans\u sub\u 9\u 4”用于查询的子表达式中,但未赋值
-我记得一些错误报告w.r.t.属性路径,不确定它们是否相关。请详细说明您的答案好吗?dbpedialive中的结果是一致的,并且可以检查,这很好,因为在该版本的Virtuoso中,属性路径可以工作。这仍然不能解释静态DBpedia中的差异,特别是考虑到如果存在差异,查询结果应该更真实,而不是页面。还有,为什么dbr:Boyko_Borisov重定向到dbr:Boyko_Borissov?HTTP内容协商对所有URI的工作方式不应该相同吗?@IvoVelitchkov-内容协商对所有URI都有效。但是,Wikipedia会进行编辑,看起来DBpedia提取器在重命名/移动其Wikipedia页面时,会保留实体的原始URI作为该实体的主URI,就像移动到该实体时一样。您必须与@IvoVelitchkov讨论URI优先权的选择-我不明白接下来的内容。你能重新措辞吗?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dct: <http://purl.org/dc/terms/>

SELECT DISTINCT 
  ?leader_No_gender 
  ?leader_No_image

WHERE 
  { 
    ?MS a           dbo:Country ; 
        dct:subject <http://dbpedia.org/resource/Category:Member_states_of_the_European_Union> . 

    { ?MS dbo:leader ?leader_No_gender . 
      FILTER NOT EXISTS { ?leader_No_gender dbo:wikiPageRedirects?/foaf:gender ?gender }
    } 

    UNION

    { ?MS dbo:leader ?leader_No_image . 
      FILTER NOT EXISTS { ?leader_No_image dbo:wikiPageRedirects?/foaf:depiction ?image }
    }
  }