比較語言標籤

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

將返回所有四個值。