Sparql 在多语言数据库中搜索尚未翻译为特定语言的术语

Sparql 在多语言数据库中搜索尚未翻译为特定语言的术语,sparql,Sparql,我在多语言词典中的查询如下所示: select (COUNT(?label) as ?pCount) where {?term <http://www.w3.org/2004/02/skos/core#prefLabel> ?label FILTER(langMatches(lang(?label), "DE"))} 选择(计数(?标签)为?pCount) 在哪里{?术语?标签 过滤器(langMatches(lang(?label),“DE”)} 我从他们的德语翻译中得到了大

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

select (COUNT(?label) as ?pCount)
where {?term <http://www.w3.org/2004/02/skos/core#prefLabel> ?label 
FILTER(langMatches(lang(?label), "DE"))}
选择(计数(?标签)为?pCount)
在哪里{?术语?标签
过滤器(langMatches(lang(?label),“DE”)}
我从他们的德语翻译中得到了大量的概念,这正是我从这个查询中所期望的。
我现在正在寻找一个查询,该查询提供了所有没有任何德语翻译的概念,即没有带“@de”的“prefLabel”的所有概念

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

您想要:

select?术语
在哪里{
?术语a
减去{
术语标签
过滤器(langMatches(lang(?标签),“DE”))
}
}
两者都可以在这里使用(我使用了
减号
,因为它比较短)

使用
减号
将从另一侧删除右侧(或底部)块的匹配行。在这种情况下,带有德语标签的术语将从所有概念列表中删除(
?术语a

(如果您的概念未显式输入,则您可以使用<代码>术语“SOMLababel< /Cord>”,但您可能需要添加<代码>不同的< /代码>以整理(代码)

如果为您工作,则应考虑。
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"))
    }
}