JENA-检查SPARQL更新查询是否失败

JENA-检查SPARQL更新查询是否失败,sparql,rdf,jena,owl,apache-jena,Sparql,Rdf,Jena,Owl,Apache Jena,我为OWL数据库编写后端,需要检查擦除或插入三元组是否成功 到目前为止,我得到的是: String queryUpdate = /*Update String*/ UpdateRequest request = UpdateFactory.create(queryUpdate); UpdateProcessor proc = UpdateExecutionFactory.create(request, graphStore); proc.execu

我为OWL数据库编写后端,需要检查擦除或插入三元组是否成功

到目前为止,我得到的是:

String queryUpdate =
/*Update String*/
        UpdateRequest request = UpdateFactory.create(queryUpdate);
        UpdateProcessor proc = UpdateExecutionFactory.create(request, graphStore);
        proc.execute();
我需要的是proc.execute()方法中的布尔值


有类似的东西存在吗?

嗯,我不确定你能不能这样做。但是,我可以建议您使用,因为您可以在那里找到ACID事务支持。因此,您可以检查您的操作是否成功。

嗯,我不确定您是否可以这样做。但是,我可以建议您使用,因为您可以在那里找到ACID事务支持。因此,您可以检查操作是否成功。

如果有多个线程访问数据,则事务是一个好主意。如果这都是单线程的,那么一致性就不是问题

“成功”是什么意思?SPARQL更新合法且已执行,或者数据是否以某种预期方式更改

对于前者,你会得到一个例外

如果是后者,它就不是proc.execute的工作(它怎么知道?)。一种有用的方法是在数据中有条件地插入一个三元组以记录其状态。这是更新的一部分

... operation1 ... 
;
... operation2 ... 
;
INSERT { [] :succeded true }
WHERE {
    ... test condition ...
}

如果有多个线程访问数据,事务将是一个好主意。如果这都是单线程的,那么一致性就不是问题

“成功”是什么意思?SPARQL更新合法且已执行,或者数据是否以某种预期方式更改

对于前者,你会得到一个例外

如果是后者,它就不是proc.execute的工作(它怎么知道?)。一种有用的方法是在数据中有条件地插入一个三元组以记录其状态。这是更新的一部分

... operation1 ... 
;
... operation2 ... 
;
INSERT { [] :succeded true }
WHERE {
    ... test condition ...
}