我如何向 SPARQL “说” ?churchname 是 UTF-8 格式?因为响应就像:Pražský hrad
PREFIX lgv: <http://linkedgeodata.org/vocabulary#>
PREFIX abc: <http://dbpedia.org/class/yago/>
SELECT ?churchname
WHERE
{
<http://dbpedia.org/resource/Prague> geo:geometry ?gm .
?church a lgv:castle .
?church geo:geometry ?churchgeo .
?church lgv:name ?churchname .
FILTER ( bif:st_intersects (?churchgeo,?gm, 10))
}
GROUP BY ?churchname
ORDER BY ?churchname
最佳答案
恐怕有点无法回答:在 SPARQL 中无法做到这一点。 SPARQL 适用于字符数据(而非字节),因此它不关心编码。
您遇到此问题的原因可能有多种。首先,您可能未正确处理结果。检查原始结果是否确实存在编码问题。
如果您做的是正确的事情,那么您看到的问题是数据已损坏,并且看起来编码问题确实已在上游蔓延。
您的选择是:
查看 SPARQL 端点是否支持更改编码的扩展功能。我很确定这不存在,但也许来自 virtuoso 的人(看起来你正在使用它)知道得更多。
得到结果后修正。次优,我知道,
关于SPARQL 中的 UTF-8 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671284/