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

修改Wikidata SPARQL查询以支持多条目婚姻起始日期获取

修改Wikidata SPARQL查询以批量获取婚姻信息

原查询硬编码了特定实体wd:Q42,只能获取单个人的婚姻数据。要批量获取符合条件群体(比如所有作家、美国公民)的婚姻起始日期,只需做以下调整:

核心修改思路

  • 将固定实体wd:Q42替换为变量?person,作为查询的目标群体
  • 给?person添加属性约束,匹配你需要的群体(比如职业、国籍)
  • 新增SELECT子句明确返回字段,让结果更直观

示例1:获取所有作家的婚姻信息

SELECT ?person ?personLabel ?spouse ?spouseLabel ?starttime ?endtime
WHERE {
  ?person wdt:P106 wd:Q36180;  # 筛选职业为作家(wd:Q36180)的实体
          p:P26 ?statement.   
  ?statement ps:P26 ?spouse;
             pq:P580 ?starttime;
             pq:P582 ?endtime.   
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } 
} 
ORDER BY (?starttime)

示例2:获取所有美国公民的婚姻信息

SELECT ?person ?personLabel ?spouse ?spouseLabel ?starttime ?endtime
WHERE {
  ?person wdt:P27 wd:Q30;  # 筛选国籍为美国(wd:Q30)的实体
          p:P26 ?statement.   
  ?statement ps:P26 ?spouse;
             pq:P580 ?starttime;
             pq:P582 ?endtime.   
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } 
} 
ORDER BY (?starttime)

扩展:多条件叠加(比如美国作家)

如果需要同时满足多个筛选条件,直接叠加属性约束即可:

SELECT ?person ?personLabel ?spouse ?spouseLabel ?starttime ?endtime
WHERE {
  ?person wdt:P106 wd:Q36180;  # 职业为作家
          wdt:P27 wd:Q30;       # 国籍为美国
          p:P26 ?statement.   
  ?statement ps:P26 ?spouse;
             pq:P580 ?starttime;
             pq:P582 ?endtime.   
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } 
} 
ORDER BY (?starttime)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:22:51