获取Wikid上多个实体列表的记录

2024-05-23 23:05:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Wikidata中映射多个实体(Q条目),我需要相同的属性记录(p条目)。对于这个问题,假设我有一个包含五个Wikidata实体(Q1、Q2、Q3、Q4、Q5)的列表,我想为它们检索相同的属性记录(比如P1、P2和P3)。我提前知道所有的问题和问题。在

我了解如何对单个记录(比如Q1)提出SPARQL查询,还了解如何使用特殊服务指定标签的返回wikibase:标签函数对于P1、P2和P3。在

第一个问题是,有没有一种方法可以只使用SPARQL在给定SPARQL查询的实体列表(Q1到Q5)上循环?在

如果答案是否定的,是否存在任何示例Python或伪代码来在外部标识符列表(Q1到Q5)上循环发出单个SPARQL查询,比如作为外部文本或CSV文件提供?在

如果有一个简单的方法来解决这个问题,我很乐意听到。在


Tags: 方法实体列表属性记录条目标签sparql
1条回答
网友
1楼 · 发布于 2024-05-23 23:05:52

我想你在找VALUES子句:

SELECT ?item ?itemLabel ?class ?classLabel ?projectLabel WHERE {
  VALUES ?item { wd:Q1 wd:Q2 wd:Q3 wd:Q4 wd:Q5 }
  ?item wdt:P31 ?class;
        wdt:P5008 ?project.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!

相关问题 更多 >