如何使用 SPARQL 搜索维基数据 ID 列表和 return P31 ("instance of") 属性?
How to search a list of Wikidata IDs and return the P31 ("instance of") property using SPARQL?
如何在单个查询中获取多个维基数据 ID 的实例类型(即 属性=P31 和相关标签)?理想情况下,我想输出一个包含以下列的列表:Wikidata ID | P31 编号 | P31 标签,如果维基数据 ID 附加了多个 P31,则使用多行。
我正在使用 Web 查询服务,该服务在某种程度上运行良好,但我很难理解其语法。到目前为止,我已经设法弄清楚如何处理一个项目列表,并且 return 每个项目都作为一行(我知道很简单!),但我无法弄清楚如何生成一个新列来提供P31 项目:
SELECT ?item
WHERE {
VALUES ?item { wd:Q1347065 wd:Q731635 wd:Q105492052 }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
我从之前回答的问题 中找到了以下内容,其中 return 每个感兴趣的项目有多行,但这需要在一开始就指定 P31 类型,这就是我正在寻找生成。
任何帮助将不胜感激,因为我真的无法理解语法。
更新:
我现在已经弄清楚如何 return P31s 用于单个 ID。我需要扩展此查询以接收 ID 列表,并将 ID 作为列包括在内:
SELECT ?item ?itemLabel
WHERE
{
wd:Q18656 wdt:P31 ?item.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
如果我正确理解了您的问题,您可以使用以下查询:
SELECT ?item ?class ?classLabel
WHERE {
VALUES ?item { wd:Q1347065 wd:Q731635 wd:Q105492052 }
?item wdt:P31 ?class .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
在这里,首先你确定了 ?item
的可能值,然后你说 ?item
是某个 ?class
的实例并且有争议地你还检索了这样的标签 ?class
.
如何在单个查询中获取多个维基数据 ID 的实例类型(即 属性=P31 和相关标签)?理想情况下,我想输出一个包含以下列的列表:Wikidata ID | P31 编号 | P31 标签,如果维基数据 ID 附加了多个 P31,则使用多行。
我正在使用 Web 查询服务,该服务在某种程度上运行良好,但我很难理解其语法。到目前为止,我已经设法弄清楚如何处理一个项目列表,并且 return 每个项目都作为一行(我知道很简单!),但我无法弄清楚如何生成一个新列来提供P31 项目:
SELECT ?item
WHERE {
VALUES ?item { wd:Q1347065 wd:Q731635 wd:Q105492052 }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
我从之前回答的问题
任何帮助将不胜感激,因为我真的无法理解语法。
更新: 我现在已经弄清楚如何 return P31s 用于单个 ID。我需要扩展此查询以接收 ID 列表,并将 ID 作为列包括在内:
SELECT ?item ?itemLabel
WHERE
{
wd:Q18656 wdt:P31 ?item.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
如果我正确理解了您的问题,您可以使用以下查询:
SELECT ?item ?class ?classLabel
WHERE {
VALUES ?item { wd:Q1347065 wd:Q731635 wd:Q105492052 }
?item wdt:P31 ?class .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
在这里,首先你确定了 ?item
的可能值,然后你说 ?item
是某个 ?class
的实例并且有争议地你还检索了这样的标签 ?class
.