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

如何修正Wikidata SPARQL查询以获取wd:Q95关联的wd:43229相关实体?

修正后的SPARQL查询方案

原查询存在两个核心问题:

  1. 使用OPTIONAL导致未关联到wd:Q43229的冗余实体也被返回,无法过滤无效结果
  2. 中间节点?node的引入让查询逻辑冗余,直接建立?subClass与wd:Q43229的子类链关联即可

修正后的查询语句

SELECT DISTINCT ?subClass ?subClassLabel
WHERE {
  # 获取wd:Q95的所有类型及类型的子类
  wd:Q95 p:P31/ps:P31/wdt:P279* ?subClass .
  # 确保?subClass是wd:Q43229的超类或自身(即wd:Q43229是?subClass的子类)
  wd:Q43229 wdt:P279* ?subClass .
  # 获取英文标签
  ?subClass rdfs:label ?subClassLabel .
  FILTER(LANG(?subClassLabel) = "en")
}

逻辑说明

  • wd:Q95 p:P31/ps:P31/wdt:P279* ?subClass:遍历Google(wd:Q95)的实例类型,以及所有上层类(子类链向上)
  • wd:Q43229 wdt:P279* ?subClass:确保筛选出的类是组织(wd:Q43229)的上层类或自身,精准匹配你需要的实体范围
  • DISTINCT和英文标签过滤保留唯一且符合语言要求的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:01:07