维基数据 SPARQL 查询。结果中并非所有属性

Wikidata SPARQL Query. Not all properties in the result

谁能帮我理解为什么这里最后一条记录的 ?sEnd 属性为空?

SELECT ?sLabel ?sStart ?sEnd
WHERE {
BIND(wd:Q32522 as ?p).
?s wdt:P26 ?p .
OPTIONAL { ?s p:P26 [pq:P580 ?sStart] }
OPTIONAL { ?s p:P26 [pq:P582 ?sEnd] }
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' }
}

基本上,我要检索的是 Jennifer Aniston 的配偶以及婚姻开始和结束日期。

提前致谢!

问题似乎是您查询的是詹妮弗·安妮斯顿配偶的结婚日期,而不是直接查询她的结婚日期。

您的查询 returns 一些奇怪的结果,原因有两个:

1.Brad 皮特第二次结婚,嫁给了安吉丽娜·朱莉 (2014-19)。 因此,您的查询也会返回这些日期。

2.The Justin Theroux 和 Jennifer Aniston 的数据不一致(这是维基数据问题)。特别是,正如@UninformedUser 指出的那样,贾斯汀的页面没有他们婚姻的结束日期。 詹妮弗安妮斯顿关于她与贾斯汀婚姻的数据比他的数据更具体,并且有开始和结束日期。

推理就是可以用来处理这类问题的东西,有些三元组有。

尽管如此,您需要的查询是:

SELECT ?spouseLabel ?sStart ?sEnd
WHERE {
BIND(wd:Q32522 as ?person).
?person p:P26 ?marriage .
?marriage pq:P580 ?sStart ;
         ps:P26 ?spouse .
OPTIONAL{?marriage pq:P582 ?sEnd}
                     
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' }
}

这给出了所需的结果。请注意,婚礼属性的名称空间会根据对象的不同而变化。 有关更多信息,请参阅