2010-04-19 5 views
3

Comment puis-je "dire" à SPARQL que "churchname" est en format UTF-8? parce que la réponse est comme: Pražský hradFormatage UTF-8 dans SPARQL

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

Répondre

5

Bit d'une non-réponse, j'ai peur: il n'y a aucun moyen de le faire en SPARQL. SPARQL fonctionne sur les données de caractères (pas sur les octets), donc l'encodage n'est pas quelque chose qui l'intéresse.

Il y a plusieurs raisons pour lesquelles vous avez ce problème. Premièrement, vous pourriez gérer les résultats de manière incorrecte. Vérifiez si les résultats bruts ont effectivement le problème d'encodage.

Si vous faites la bonne chose, alors le problème que vous voyez est que les données sont brisées, et il semble certainement qu'un problème de codage s'est glissé en amont.

Vos options sont:

  1. Voir si le point final SPARQL prend en charge une fonction d'extension pour modifier le codage. Je suis assez sûr que cela n'existe pas, mais peut-être quelqu'un de virtuose (dont on dirait que vous utilisez) sait mieux.

  2. Fixez les résultats lorsque vous les obtenez. Sous-optimal, je sais,