如何迭代rdflib的CONSTRUCT输出?

时间:2015-12-22 23:02:15

标签: python sparql sesame rdflib linked-data

这是来自How to prevent triples from getting mixed up while uploading to Dydra programmatically?

的后续问题

我使用SPARQL CONSTRUCT查询创建了一个新图。我现在想迭代它,以便我可以将语句添加到RDFlib图,然后将数据插入另一个三元组。我有以下问题:

  1. 如果SPARQL CONSTRUCT返回一个图形,我还需要迭代这些语句并将它们添加到RDFlib图形中吗?我可能需要这样做才能使用循环将每个三元组插入到三元组中。
  2. 如何迭代SPARQL CONSTRUCT产生的图形来检索三元组? 'type'的{​​{1}}显示为字符串。
  3. 这是我的代码:

    'output'

    这段代码只给我一个三元组中的一列字符。

1 个答案:

答案 0 :(得分:0)

  1. 我仍然需要添加由于将CONSTRUCT查询运行到RDFlib图而创建的联合图表中的语句。为什么?因为在执行INSERT时解析前者存在问题。 CONSTRUCT查询的输出:a)没有包含在<>中的URI b)不处理非ASCII字符(因此需要output.encode('utf-8'))。
  2. 要从CONSTRUCT查询生成的图形中检索三元组,我们需要在上面的代码中使用XML格式输出而不是JSON。
  3. 有趣的是:使用XML时的类型(输出)是Conjunctive Graph。对于我尝试的其他一切,它是一个字符串。