我遇到了维基数据查询服务的问题。 https://query.wikidata.org/ 我想要做的是检索所有拥有GTAA ID的人的名单。
?q wdt:P1741 ?GTAA_ID.
对于这些人,我想检索以下可选信息:
OPTIONAL{ ?q p:P166 ?award_received
OPTIONAL{ ?award_received pq:P585 ?point_in_time. }
OPTIONAL{ ?award_received pq:P1686 ?for_work. }
截至目前,我的查询大多有效。但是,例如,在'awards_received'列中,它显示以下文本:
WDS:Q76343-ffa729dc-4D10-eb15-3a41-5fa6bf7ed80a
单击此按钮会将我带到维基数据页面,该页面涉及获奖者,而不是奖项本身的标题。 我想要做的是检索收到的奖励的标题,而不是链接到标题的接收者。
我的代码如下:
SELECT ?GTAA_ID ?award_received ?point_in_time ?for_workLabel
WHERE
{
?q wdt:P1741 ?GTAA_ID.
OPTIONAL{ ?q p:P166 ?award_received
OPTIONAL{ ?award_received pq:P585 ?point_in_time. }
OPTIONAL{ ?award_received pq:P1686 ?for_work. }
. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "
[AUTO_LANGUAGE]". }
}
答案 0 :(得分:3)
实际奖励作为声明的属性ps:P166
给出:
SELECT ?GTAA_ID ?award ?awardLabel ?point_in_time ?for_workLabel {
?q wdt:P1741 ?GTAA_ID.
OPTIONAL {
?q p:P166 ?award_received .
?award_received ps:P166 ?award # Here
OPTIONAL { ?award_received pq:P585 ?point_in_time. }
OPTIONAL { ?award_received pq:P1686 ?for_work. }
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "[AUTO_LANGUAGE]".
}
}
您可以使用DESCRIBE
查询获取资源的说明,例如:
DESCRIBE wds:Q78217-3877ABD6-239F-47DA-A8BD-8035D3CBAA7A