【发布时间】:2022-01-14 05:40:23
【问题描述】:
我想提取一个球员列表和一个它参加过的俱乐部的列表,用逗号分隔。
SELECT DISTINCT ?playerLabel
(GROUP_CONCAT(?teamLabel ; separator=',') as ?teams)
WHERE {
?player wdt:P106 wd:Q937857 .
?player wdt:P2574 ?team
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?playerLabel
我有两个问题:
- 我没有得到每个球员的球队列表,只有名字和变量 ?teams 为空。
- 如果我不使用 GROUP CONCAT 和 GROUP BY,我会获取团队 ID,但我更喜欢团队标签。
例如 2 个玩家...:
playerLabel teams
Cristiano Ronaldo Sporting Portugal, Manchester U, Real Madrid, Juventus, Manchester U
Leo Messi Barcelona, PSG
至少我需要 Concat 和 group by,即使有代码...... 谢谢
【问题讨论】:
标签: group-by sparql group-concat wikidata