问题描述
我正在尝试使用实体名称查询维基数据。我的目标是获取实体的维基数据 ID。现在我有类似的东西:
SELECT ?item
WHERE {
?item rdfs:label "name_of_thing"@en
}
虽然这通常可以完成工作,但我还想检查标签是否包含在维基数据的替代名称中。
例如,如果我将 "name_of_thing"
替换为 "Philippines AirAsia"
那么我不会得到任何结果,但原因是因为 "AirAsia Philippines"
是条目的专有名称,带有 { {1}} 包含在维基数据页面的“也称为”列中。
我想查询页面,如果第一次获取失败,则检查名称是否包含在“也称为”列中。我该怎么做呢?谢谢。
解决方法
管道操作员为我工作:
SELECT ?item ?prefLabel WHERE {
VALUES ?prefLabel { "AirAsia Philippines"@en }
?item rdfs:label|skos:altLabel ?prefLabel
}