OWLAPI:处理 update/delete 公理时的性能影响

OWLAPI : Performance impact while dealing with update/delete of axioms

我想 update/delete 来自 OWL Class 的公理(例如 SubclassOf 公理)。

我有以下两种方法

1)删除所有旧公理然后创建所有新公理。

2) 通过与新公理比较删除选择性公理。

注意:- 由于某些限制,我必须将更新案例视为删除 + 创建

Q. 最好的策略 OWLAPI 的性能是什么?

例如 我有以下 Class X -

的 SubclassOF 公理
1) A or B
2) name exactly 1 xsd:string
3) P and not Q

我想 update/delete 这些公理与 -

1) A [Update]
2) name min 1 xsd:string [Update]
3) Axiom is deleted [Delete]

公理去除的性能等同于公理化加法。主要操作是搜索地图以查找现有元素或添加新元素。

涉及的结构对于输入来说是 O(Constant),因此总的复杂性主要与 ontology 大小无关(这对于非常大的本体可能不成立,但对于大多数本体来说是准确的) .

简而言之,您提出的解决方案 (2) 没有性能问题。

我不建议重新创建公理 - 这在内存使用方面可能很昂贵。公理是不可变的,因此新旧对象的行为完全相同。