【问题标题】:Redland context in VirtuosoVirtuoso 中的雷德兰语境
【发布时间】:2013-01-29 20:58:07
【问题描述】:

我正在使用 Redland Python 绑定向 Virtuoso RDF.Storage(storage_name='virtuoso') 添加三元组,并试图了解上下文是如何实现的。我得到了一些令人惊讶的结果。

如果我添加三元组:

model.add_statements(context=something)

我可以通过以下方式将它们全部取回:

model.as_stream(context=something)

正如预期的那样。但是,如果我创建一个具有相同存储空间的新模型并尝试以下操作:

for stmt in model: 
    print stmt

我没有得到任何结果,好像模型是空的。另外,当我尝试以下操作时:

model.remove_statements_with_context(context=something)
for stmt in model.as_stream(context=something): 
    print stmt

我仍然拿回了所有的三元组;它们并没有像我预期的那样被删除。

最后,当我尝试应该匹配一些存储在上下文中的三元组的简单 SPARQL 查询时,我没有得到任何结果。

谁能帮助我了解 Redland contexts 和 Virtuoso 的幕后情况?

【问题讨论】:

    标签: rdf virtuoso redland


    【解决方案1】:

    您可以使用 Virtuoso trace_on() function 来启用传递给 Virtuoso 的查询等记录到 virtuoso.log 文件以供审核。

    这应该可以帮助您了解 Redland 层正在传递什么,以及可能发生的任何错误等。

    据我所知,我们尚未对 Redland Python 绑定进行任何测试,但我们在 Virtuoso open source tree 中有一个基于 C 的测试程序,即 used for testing our Redland Storage provider

    我希望这会有所帮助...

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2011-06-13
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多