使用 Wikidata 查询服务在 SPARQL 中进行连接时遇到问题。https://query.wikidata.org/
我想要做的是检索所有具有 GTAA ID (?q wdt:P1741 ?GTAA_ID.) 的人,特别是在 Wikidata 中列出职业的人。(?q wdt:P106 ?occupation。)此外,我希望将这些职业连接成一行,用“,”分隔。
我现在得到的是第一列中的人的名字,第二列是他们的职业。但是,这些职业被列为相应 Wikidata 页面的 URL。我想要的是将这些 URL 显示为标签(对应于 Wikidata 页面的文本)
这是我到目前为止的代码:
SELECT
?qLabel
(group_concat(DISTINCT ?occupation;separator=", ") as ?occupations )
WHERE
{
?q wdt:P1741 ?GTAA_ID.
?q wdt:P106 ?occupation.
SERVICE wikibase:label { bd:serviceParam wikibase:language "
[AUTO_LANGUAGE]". }
}
GROUP BY ?qLabel
因此,而不是返回例如:
路德维希·范·贝多芬 | http://www.wikidata.org/entity/Q36834
我希望它返回:
路德维希·范·贝多芬 | 作曲家