gpt4 book ai didi

sparql - 获取项目的所有 DISTINCT 标签

转载 作者:行者123 更新时间:2023-12-05 04:19:21 25 4
gpt4 key购买 nike

我正在尝试获取维基数据项的所有不同标签。

我知道我可以使用以下查询获取项目的所有标签:

SELECT DISTINCT ?team ?labels WHERE {
?team wdt:P31 wd:Q13393265.
?team rdfs:label ?labels.
}
LIMIT 10

Link to query

但是我怎样才能只获得不同的标签(所以没有重复的标签)?

我试过以下方法:

SELECT DISTINCT ?team ?labels WHERE {
?team wdt:P31 wd:Q13393265.
{
SELECT DISTINCT * WHERE
{
?team rdfs:label ?labels.
}
}
}
LIMIT 10

Link to query

但结果仍然包含重复标签。

PS:仅设置了限制,因此在调试时查询速度很快。一旦按预期工作,就没有限制

最佳答案

您的第一个查询确实显示了不同的标签,但维基数据显示结果的方式并不清楚。

这四个字面量不同,但维基数据每次都会显示“foobar”:

"foobar"
"foobar"@en
"foobar"@en-US
"foobar"@es

要显示语言,您可以使用lang() :

SELECT DISTINCT ?team ?label (lang(?label) AS ?language) 
WHERE {
?team wdt:P31 wd:Q13393265.
?team rdfs:label ?label.
}
LIMIT 10

要忽略语言,您可以使用 str() ,返回词法形式:

SELECT DISTINCT ?team (str(?label) AS ?label_lexical)
WHERE {
?team wdt:P31 wd:Q13393265.
?team rdfs:label ?label.
}
LIMIT 10

关于sparql - 获取项目的所有 DISTINCT 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74827234/

25 4 0