У меня проблема с передачей uri с символами Юникода в rdflib
для добавления в Graph()
Так, например, я хочу запустить:
from rdflib import Graph
g = Graph()
uri = 'http://dbpedia.org/resource/René_Auberjonois'
g.parse(uri)
Но я получаю ошибку кодирования кодека ascii, которая так распространена в Python.
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)
Если uri был передан как `http://dbpedia.org/resource/Ren%C3%A9_Auberjonois', было бы хорошо, парсер работает, если бы строка была в таком виде (извините, я не знаю, как назвать вещи, будь то "сырые", "экранированные", "неэкранированные" или как-то иначе) .
могу ли я что-нибудь сделать с uri
(он не устанавливается таким образом, он устанавливается через функцию, перебирающую список имен), чтобы print uri
давал http://dbpedia.org/resource/Ren%C3%A9_Auberjonois
?
предыстория: изначально я задал этот вопрос, но добавил u
в перед строкой либо невозможно с тем, как настроен сценарий (я не устанавливаю каждую строку, например: s = 'René_Auberjonois'
), либо фактически не работает в конце, когда я передаю ее в rdflib (т.е. все еще получаю ошибку кодирования, потому что она проходит http://dbpedia.org/resource/René_Auberjonois
)
Кроме того, если есть хорошие ресурсы для понимания проблемы, с которой я здесь сталкиваюсь, это было бы здорово. На данный момент меня смущает кодировка символов.
unicode
? - person Ignacio Vazquez-Abrams   schedule 28.04.2014