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

如何用SPARQL查询获取Wikidata条目的全部属性及对应ID

合并Wikidata属性查询:获取条目全部带ID的属性(一级+二级)

可以通过SPARQL的OPTIONAL子句结合属性ID绑定逻辑,一次性获取目标条目的一级属性(带ID)和二级属性(带ID),以下是完整的可复用查询示例:

# 替换wd:Q42为你要查询的目标条目ID
BIND(wd:Q42 AS ?item)

# 匹配一级属性及其对应的Pxxx格式ID
?item ?propID ?value.
?prop wdt:P31 wd:Q18616576;  # 限定为Wikidata属性类型
      wikibase:directClaim ?propID.  # 绑定属性的直接声明ID

# 可选匹配二级属性及其ID(仅当属性值本身有属性时返回)
OPTIONAL {
  ?value ?subPropID ?subValue.
  ?subProp wdt:P31 wd:Q18616576;
           wikibase:directClaim ?subPropID.
}

# 自动获取属性的多语言标签(可修改language参数切换语言,如"zh")
SERVICE wikibase:label { bd:serviceParam wikibase:language "en,zh". }

核心逻辑说明:

  • 属性ID绑定:通过wikibase:directClaim谓词,将属性实体(如wd:P31)与它的Pxxx格式直接声明ID关联,确保拿到你需要的属性标识符。
  • 二级属性兼容:用OPTIONAL包裹二级属性匹配逻辑,避免因部分一级属性值无二级属性而丢失有效结果。
  • 标签本地化:修改wikibase:language的参数值(如改为"zh")即可获取中文属性标签。

灵活调整提示:

  • 若仅需一级属性,直接删除OPTIONAL块即可。
  • 若要过滤特定类型的属性值,可添加条件(如?value wdt:P31 wd:Q35120限定属性值为人类实体)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:26:16