簡體   English   中英

維基數據 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 配偶的結婚日期,而不是直接查詢她的結婚日期。

您的查詢返回一些奇怪的結果,原因有兩個:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM