我正在映射维基数据中的多个实体(Q 条目),我需要相同的属性记录(P 条目)。对于这个问题,假设我有一个包含五个 Wikidata 实体(Q1、Q2、Q3、Q4、Q5)的列表,我想为其检索相同的属性记录(例如 P1、P2 和 P3)。我提前知道所有 Q 和 P。
我了解如何对单个记录(例如 Q1)提出 SPARQL 查询,并且我还了解如何使用特殊的 SERVICE wikibase:label 函数为 P1、P2 和 P3 指定标签的返回。
第一个问题,是否有一种方法可以仅使用 SPARQL 通过给定的 SPARQL 查询循环实体列表(Q1 到 Q5)?
如果答案为“否”,是否存在任何示例 Python 或伪代码用于发出循环访问外部标识符列表(Q1 到 Q5)的单个 SPARQL 查询(例如作为外部文本或 CSV 文件提供)?
如果有一种简单的方法可以解决这个问题,我很想听听。
最佳答案
我认为您正在寻找 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". }
}
关于python - 获取维基数据上多个实体列表的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51912599/