You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SPARQL对值按字母排序并拼接为数组?

解决SPARQL排序后拼接值的问题

当然可以实现按字母顺序排序后拼接值,只需要在group_concat函数中添加order by子句即可。

修改后的查询如下:

SELECT ?x
       (group_concat(distinct ?name; separator="; ") as ?names)
       ?birthDate
       (group_concat(distinct ?birthplace; separator=", "; order by ?birthplace) as ?birthPlaces)
       
WHERE {
  ?x owl:sameAs? dbpedia:Mann_Singh.
  ?x dbpprop:name ?name.
  ?x dbpedia-owl:birthDate ?birthDate.
  ?x dbpedia-owl:birthPlace ?birthplace.
}

关键说明:

  • 在group_concat的参数中,通过order by ?birthplace指定按?birthplace的字母升序排序(默认升序,若需降序可写order by desc(?birthplace))
  • distinct关键字保留,避免重复的出生地值被多次拼接
  • 排序逻辑直接嵌入聚合函数,无需额外子查询或独立排序步骤

内容的提问来源于stack exchange,提问作者rshar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 17:40:56