私はSPARQLとウィキデータに新しいですし、ヒューゴー賞受賞のために次のことを取得しようとしています:WikidataからHugo受賞者を取得するには?
- 作品タイトル
- 著者
- 年ウォン
私が探していますこれは驚くほど困難です。
「優勝者」というリンクタイプのベスト小説の賞にリンクしているすべてのタプルについて質問を始めました。
SELECT DISTINCT ?winner WHERE {
# P166: Award Recieved By
# Q103360: Hugo Award for Best Novel
?winner ps:P1346 wd:Q255032.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
これは動作しますが、私は勝者からタイトルリンクを追加するとき、データがありません:
SELECT DISTINCT ?winner WHERE {
?winner ps:P1346 wd:Q255032.
OPTIONAL {
# P1476: Title
?winner wdt:P1476 ?title.
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
私が間違って何をしているのですか?私は小さな名前空間を試しましたが、理解度はほとんどなく、役に立たないものでした。ヒューゴの勝者のためのページで
、受賞者のセクションがあります:それが生成される方法https://www.wikidata.org/wiki/Q255032#P1346
は?私は、そのプロパティを照会しようとした(と思う)の人々へのリンクが戻った:
SELECT DISTINCT ?winner ?winnerLabel ?for WHERE {
# P166: winner
# Q103360: Hugo Award for Best Novel
wd:Q255032 wdt:P1346 ?winner.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
あなたの最初のクエリは、** **何も返しません!私がhttps://query.wikidata.orgで試したとき、少なくとも今は私のためではありません。なぜwdt:P166を述語として使用していないのですか? – AKSW
2番目のクエリは、述語 'wdt:P166'を使用するときにも機能します。しかし、フィールドを元に戻すには、もちろんSELECT部分に追加する必要があります。つまり、SELECT DISTINCT?winner?winnerLabel?titleLabel' – AKSW