【问题标题】:RDFlib: Add triples to graph in bulkRDFlib:将三元组批量添加到图形中
【发布时间】:2017-11-01 15:45:42
【问题描述】:

我正在解析三元组文件并将三元组添加到我的本地三元组中。
代码片段:

graph = ConjunctiveGraph('Sleepycat')
graph.open("mytriplestore", create=False)
g = Graph()
g.parse("filename.ttl", format="ttl") 
for t in g:
    graph.add(t)

除了遍历每个三元组之外,是否可以将解析后的内容批量添加到三元组?

到目前为止我已经尝试过:
尝试 1:

graph.add(g)

错误:

File "/usr/local/lib/python2.7/dist-packages/rdflib/graph.py", line 1345, in add
s,p,o,c = self._spoc(triple_or_quad, default=True)
File "/usr/local/lib/python2.7/dist-packages/rdflib/graph.py", line 1326, in _spoc
return s,p,o,c
UnboundLocalError: local variable 's' referenced before assignment

尝试 2:

graph.addN(g)        

错误:

File "/usr/local/lib/python2.7/dist-packages/rdflib/graph.py", line 1363, in addN
(s, p, o, self._graph(c)) for s, p, o, c in quads if
File "/usr/local/lib/python2.7/dist-packages/rdflib/store.py", line 221, in addN
for s, p, o, c in quads:
File "/usr/local/lib/python2.7/dist-packages/rdflib/graph.py", line 1363, in <genexpr>
(s, p, o, self._graph(c)) for s, p, o, c in quads if

ValueError: 需要 3 个以上的值才能解压

【问题讨论】:

  • graph = graph.add(g) 不起作用?
  • @AKSW 不。已经试过了。
  • @RDangol,也许是.addN() 或类似的东西。
  • @StanislavKralin 那也没用
  • @RDangol 绑定并且没有添加图表或导致异常?从文档中,Graph::__add__ 应该返回一个新图,它是当前图和另一个图的并集。

标签: python rdf linked-data rdflib


【解决方案1】:

添加图表应该可以解决问题:

graph += g

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多