繁体   English   中英

从 SPARQL 更新查询中获取受影响的三元组

[英]Get affected triples from SPARQL update query

我有一个 SPARQL 更新查询,如下所示

DELETE { ?s <http://ex#> <http://ex#OLD> }
INSERT { ?s <http://ex#> <http://ex#NEW> }
WHERE { ?s <http://ex#> <http://ex#OLD> }

我想在我的 model 上运行这个查询。 这将导致在 model 中删除一些三元组并添加一些其他三元组。 我正在寻找一种方法来在 Apache 耶拿中获得这些受影响的三元组。

到目前为止,我已经制作了一个ModelChangedListner ( https://jena.apache.org/documentation/notes/event-handler-howto.ZFC35FDC70D5FC69D269883A822C7A53 ) 即使它工作正常,但问题是我想要受影响的三元组在它们被提交到数据集之前。 但 model 更改的侦听器不提供任何此类保证。

编辑:如果在当前版本的 Jena 中没有解决方案,我愿意修改和重新编译 Jena 代码,如果有人可以指出应该进行此修改的位置。

请参阅RDF Delta - 特别是DatasetGraphChanges - 记录对数据集的更改。 它记录执行的“添加”和“删除”操作,记录三元组(四元组)的变化。 使用包装器比ModelChangedListener更可靠、更通用,因为它捕获基本存储(数据集)上的更改操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM