[英]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 配偶的結婚日期,而不是直接查詢她的結婚日期。
您的查詢返回一些奇怪的結果,原因有兩個:
1.布拉德皮特第二次與安吉麗娜朱莉結婚(2014-19)。 因此,您的查詢也會返回這些日期。
2. 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' }
}
這給出了所需的結果。 請注意,婚禮屬性的命名空間根據對象的不同而變化。 請參閱此處了解更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.