首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HTTPRepository在Sesame中添加语句

使用HTTPRepository在Sesame中添加语句
EN

Stack Overflow用户
提问于 2010-05-27 02:53:29
回答 1查看 431关注 0票数 2

我正在尝试向Sesame存储库添加一些简单的语句,如下所示:

代码语言:javascript
复制
    RepositoryConnection connection = repository.connection
    connection.autoCommit = false
    try {
        ValueFactory vf = repository.getValueFactory()
        def dummyS = vf.createURI("http://some/uri")
        def dummyP = vf.createURI("http://some/uri/hasItem")
        uris?.each { uri ->
            connection.add(listS, listP, vf.createURI(uri))
        }
        def stmts = connection.getStatements(listS, null, null, true) ...

这在使用NativeStore对本地SailRepository执行时效果很好。但是,当连接到托管在不同服务器上的HTTPRepository时,“添加”似乎无声地失败了。没有抛出异常,但返回的stmts为空。

有谁知道这是什么原因造成的吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-19 23:35:34

失败的原因是您正在使用autoCommit=false。在本地设置中,Sesame的事务隔离注意到,即使在尚未提交的情况下,在同一连接上查询时,添加的数据也是可见的。

但是,HTTPRepository类不支持事务隔离:在提交之前,添加的三元组是不可见的。因此,要修复此问题,请添加:

代码语言:javascript
复制
connection.commit(); 

在调用getStatements()之前,您应该会很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2915829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档