gpt4 book ai didi

sparql - 在多语言数据库中搜索尚未翻译成特定语言的术语

转载 作者:行者123 更新时间:2023-12-01 06:12:53 24 4
gpt4 key购买 nike

我在多语言词库中的查询如下所示:

select (COUNT(?label) as ?pCount)
where {?term <http://www.w3.org/2004/02/skos/core#prefLabel> ?label
FILTER(langMatches(lang(?label), "DE"))}

我从他们的德语翻译中得到了大量的概念,这正是我对这个查询的期望。
我现在正在寻找一个没有任何德语翻译的查询给我所有的概念,这就是所有没有带“@de”的“prefLabel”。

这样的查询会是什么样子?

最佳答案

你想要 FILTER NOT EXISTS or MINUS :

select ?term
where {
?term a <http://www.w3.org/2004/02/skos/core#Concept>
MINUS {
?term <http://www.w3.org/2004/02/skos/core#prefLabel> ?label
FILTER(langMatches(lang(?label), "DE"))
}
}

两者都可以在这里工作(我使用了 MINUS 因为它更短)。

MINUS右手(或更确切地说,底部) block 的匹配行从另一侧移除。在这种情况下,带有德语标签的术语从所有概念列表中删除 (?term a <http://www.w3.org/2004/02/skos/core#Concept>)。

(如果您的概念没有明确输入,您可以使用 ?term <http://www.w3.org/2004/02/skos/core#prefLabel> ?someLabel 代替,但您可能需要添加一个 DISTINCT 来整理)

关于sparql - 在多语言数据库中搜索尚未翻译成特定语言的术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com