python - 在 rdflib 命名空间中创建 unicode 项时出现 Unicode 解码错误

标签 python rdflib

我在 rdflib 命名空间中创建 unicode 项时遇到 Unicode 解码错误

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rdflib.graph import ConjunctiveGraph
>>> from rdflib import Namespace, BNode, Literal, RDF, URIRef
***>>> rdfsNS = Namespace("http://www.w3.org/2000/01/rdf-schema#")
>>> item = "Petra Němcová"
>>> i = rdfsNS[item]***
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 88, in __getitem__
    return self.term(key)
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 85, in term
    return URIRef(self + name)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128)

请帮助解决此问题。

最佳答案

我不知道rdflib,但是当你写的时候:

item = "Petra Němcová"

您正在创建普通字符串对象 - 尝试使用以下方式定义 unicode:

item = u"Petra Němcová"

如评论中所述 - 如果您已经将项目作为字符串,并且知道其编码,请使用(如果编码是 utf-8):

item = item.decode('utf-8')

关于python - 在 rdflib 命名空间中创建 unicode 项时出现 Unicode 解码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711931/

相关文章:

python - SPARQL 参数化查询

python - 代码战斗 : Dijkstra's Algorithm implementation

java - SPARQL 查询从特定 RDF 图中不返回任何内容

Python Pandas,一个字典列,为每个键/值对创建新行

python - 如何在 Linux 中使用 PyInstaller 编译 python

python - 使用 wordnet nltk 确定 Hypernym 或 Hyponym

python - rdflib - 查询持久性存储

python - 使用空白节点 (rdflib) 时,Sparql 查询返回不期望的结果

python - AWS Systems Manager "In Progress"命令限制为 5 个?

python - powercli 中的 invoke-vmscript 的 pyvmomi 等效项是什么?