如何解决如何在pythonjupyter notebook中添加rdflib插件rdflib.serializer.Serializer
我正在使用 RDF 并在 python 中使用 rdflib。能够阅读,主语谓语和宾语,但是当试图以海龟格式查看时,它给出了插件错误。
#pip install rdflib
#pip show rdflib
from rdflib import Graph
# Intializing Graph
g = Graph()
# Parse in a RDF file graph dbpedia
g.parse('http://dbpedia.org/resource/Michael_Jackson')
# Loop through each triplet in graph (subj,pred,obj)
for index,(sub,obj) in enumerate(g):
print(sub,obj)
if index == 10:
break
#print entire graph in RDF turtle format
print(g.serialize(format='tt1').decode('u8'))
---------------------------------------------------------------------------
PluginException: No plugin registered for (tt1,<class 'rdflib.serializer.Serializer'>)
解决方法
有个小错误,format=('tt1')。相反,我们必须使用 format=('ttl')。字母 l 而不是数字 1。
,@masoom-raza:如果这个问题(由你!)解决了,你能把它标记为关闭吗?这是为了确保 StackOverflow 中列出的所有 [rdflib] 问题都保持最新。谢谢。
此外,您可能还想:
- 在带有
Graph
的triples()
对象中使用更传统的循环 - 使用 RDFlib 6.0.0a0(存储库中的
master
,没有pip
版本),因此您不必使用serialize().decode()
甚至format=ttl
,因为这是默认的
from rdflib import Graph
# Intializing Graph
g = Graph()
# Parse in a RDF file graph dbpedia
g.parse('http://dbpedia.org/resource/Michael_Jackson')
# Loop through each triplet in graph (subj,pred,obj) but no limit
for sub,obj in g.triples():
print(sub,obj)
# print entire graph in RDF turtle format
print(g.serialize())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。