比较语言标签
SPARQL 函数 langMatches 可用于比较 SPARQL 查询中 RDF 文字的语言标记。简单等于运算符 = 可用于比较精确的字符串匹配,但不会正确考虑区域变量。例如,?str 的四个可能值 :
values ?str { "color"@en-US "color"@en "colour"@en "colour"@en-GB }
是所有英语语言字符串,但其中两个具有区域规范。这意味着
select ?str {
values ?str { "color"@en-US "color"@en "colour"@en "colour"@en-GB }
filter (lang(?str) = 'en')
}
将仅返回两个结果,因为只有两个值**?str** 具有 en
作为语言标记。然而,
select ?str {
values ?str { "color"@en-US "color"@en "colour"@en "colour"@en-GB }
filter langMatches(lang(?str), 'en')
}
将返回所有四个值。