1

我有一个本体,我使用自定义规则运行耶拿推理器。现在,我想向模型添加新数据(实验结果)并删除一些旧数据,如果模型变大(由于内存问题)并更新 infModel。

添加数据不是什么大问题,因为我可以简单地将其添加到我的 OntModel 中,然后推理单元将结论添加到 infModel 中。

删除“结果”对我来说更是一个问题。我必须从 infModel 中删除它们。目前,我只是删除了“结果”所属的所有陈述。这种方法非常缓慢。似乎每个删除的语句都会触发 InfModel 中可能发生的变化的推理。在我的示例中,删除作为许多语句一部分的“结果”可能需要初始推理时间的 12 倍。

如果在这里找到可能的解决方案: 切换 Jena Reasoner

我的问题是:是否有解决方案,无需在没有推理器的情况下创建第二个模型并将更改重新绑定到 infModel?或者是否有另一种方法从只触发一次推理的 infModel 中删除数据?

4

0 回答 0