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"))
}
}