Virtuoso的Redland背景

时间:2013-01-29 20:58:08

标签: rdf virtuoso redland

我正在使用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背景和Virtuoso幕后发生的事情吗?

1 个答案:

答案 0 :(得分:1)

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

这可以帮助您了解Redland图层传递的内容以及可能发生的任何错误等。

我们没有根据我的知识对Redland Python绑定进行任何测试,但我们在Virtuoso open source tree used for testing our Redland Storage provider确实有一个基于C的测试程序。

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