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

技术问询:使用SPARQL查询展示Top10 richest网球运动员的姓名、净资产与国籍

网球运动员净资产Top10查询优化方案

原查询存在的问题

  • 净资产统计错误:原查询用COUNT(?statement2)计算净资产,这只是统计该运动员净资产声明的数量,并非实际的净资产金额,正确做法是提取?numericQuantity的数值
  • 国籍处理错误:用COUNT(?statement1)获取国籍,得到的是国籍声明的计数,完全不符合需求,应该获取对应的国家实体及标签
  • 未限制结果数量:没有添加LIMIT 10来获取Top10数据
  • 冗余语法:子查询中的DISTINCT属于冗余,GROUP BY ?item已经会对运动员实体去重

优化后的SPARQL查询

SELECT ?item ?itemLabel ?netWorth ?nationalityLabel
WHERE {
  # 匹配网球运动员(职业网球运动员Q10833314,含子类)
  ?item wdt:P106/wdt:P279* wd:Q10833314.
  # 获取净资产数值(属性P2218为净资产)
  ?item wdt:P2218 ?netWorth.
  # 获取国籍(属性P27为国籍)
  ?item wdt:P27 ?nationality.
  
  # 自动获取多语言标签
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],zh". 
  }
}
# 按净资产降序排序,取前10
ORDER BY DESC(?netWorth)
LIMIT 10

优化说明

  • 简化属性路径:直接用wdt:前缀的属性路径替代原查询中复杂的p:/ps:结构,更简洁高效
  • 正确提取字段:直接获取?netWorth的数值和?nationalityLabel的国籍名称
  • 添加LIMIT 10精准获取Top10结果
  • 指定优先中文标签:在语言参数中添加,zh,确保优先返回中文标签

内容的提问来源于stack exchange,提问作者wily.x.x

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:10:33