2016-08-01 80 views
0

我想更新/刪除OWL類中的公理(例如SubclassOf公理)。OWLAPI:處理公理的更新/刪除時的性能影響

我有以下兩種方法

1)刪除所有舊的公理然後所有新創建的公理。

2)通過將選擇性公理與新公理進行比較來刪除選擇性公理。

注: -由於一些限制,我不得不把更新的情況如刪除+創建

問:這是去aheas在爲OWLAPI性能方面最好的策略

E.g. 我有以下SubclassOF公理Class X -

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

,我想更新/刪除與這些公理 -

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

回答

0

公理清除的性能相當於公理化增加。主要操作是通過地圖搜索來查找現有元素或添加新元素。所涉及的結構對輸入而言是O(常量),因此總體複雜度大部分與本體大小無關(對於非常大的本體可能並不適用,但對大多數本體來說它是準確的)。

簡而言之,您提出的解決方案(2)沒有性能問題。

我不會建議重新創建公理 - 這在內存使用方面可能會很昂貴。公理是不變的,所以新舊對象的行爲完全一樣。

+0

如果上面的操作更頻繁使用哪種方法? – SuhasD