使用 SPARQL 查询检索标签名称

Retrieving label names with SPARQL query

我在使用维基数据查询服务时遇到问题。 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

单击此按钮时,我会进入有关获奖者的维基数据页面,而不是奖项本身的名称。 我想做的是检索所获奖项的标题,而不是向标题的接收者发送 link。

我的代码如下:

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]". }
   }

实际奖励为属性 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