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の舞台裏で何が起こっているのかを誰かが理解するのを手伝ってもらえますか?