首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python (jupyter notebook)中添加rdflib插件(rdflib.serializer.Serializer)

如何在python (jupyter notebook)中添加rdflib插件(rdflib.serializer.Serializer)
EN

Stack Overflow用户
提问于 2021-05-26 12:19:00
回答 2查看 105关注 0票数 0

我正在使用RDF,并在python中使用rdflib。能够阅读,主语,谓语和宾语,但当试图以海龟格式查看其给出的插件错误时。

代码语言:javascript
复制
#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, pred, obj) in enumerate(g):
    print(sub, pred, obj)
    if index == 10:
        break

#print entire graph in RDF turtle format
print(g.serialize(format='tt1').decode('u8'))

对于最后一个命令,我得到的错误是:

代码语言:javascript
复制
---------------------------------------------------------------------------

PluginException: No plugin registered for (tt1, <class 'rdflib.serializer.Serializer'>)
EN

回答 2

Stack Overflow用户

发布于 2021-05-29 04:10:30

有一个小错误,format=('tt1')。相反,我们必须使用format=('ttl')。字母l而不是数字1。

票数 0
EN

Stack Overflow用户

发布于 2021-06-03 08:52:34

@masoom-raza:如果这个问题(由你来解决!)你能把它标为关闭吗?这是为了确保StackOverflow中列出的所有rdflib问题都是最新的。谢谢。

另外,您可能希望:

triples()

  • Use

  • 6.0.0a0中,
  1. Graph对象中使用了更传统的循环(代码库中的master,不是pip版本),因此您不必使用serialize().decode()甚至format=ttl,因为这是默认的

代码语言:javascript
复制
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, pred, obj in g.triples():
    print(sub, pred, obj)
   

# print entire graph in RDF turtle format
print(g.serialize())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67698462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档