2017-01-28 7 views
2

私はプロジェクトにOWLAPIを使用しています。それらの違いについては2つのオントロジーを比較する必要があります。これは空白のノードを無視するので、たとえば、同じOWL制限が両方のオントロジーにあるかどうかを判断できます。違いがあるかどうかを知る必要があるだけでなく、その違いが何であるかを知る必要があります。このような機能はOWLAPIに存在しますが、これは比較的簡単な方法ですか?owlapiにおけるオントロジーの比較

答えて

2

匿名クラス式の間の等価性は空白ノードidsに基づいていません - 匿名クラス式はテキスト出力内にブランクノードしか持たず、メモリ内ではidsは無視されます。したがって、オントロジーに公理が存在するかどうかを確認することで、デフォルトでdiffの式が正しく一致するようになります。

これは個人には当てはまりません。匿名の個人はオントロジー全体で同じであるとは見当たりません。これは仕様によるものです。 1つのオントロジー内の匿名の個人は、別のオントロジー内で見つけることができません。なぜなら、匿名の個人IDは、含まれているオントロジにスコープされているからです。

注:OWLAPIの単体テストは、オントロジーを変更せずに(つまり、入力構文と出力構文の間で丸めて)オントロジーを解析、書込み、解析できることを検証するために非常に似たタスクを実行する必要があります。インスピレーションを得るために見ることができるコード。詳細はTestBase.java - equal() methodを参照してください。これには、匿名の個人に異なるIDを扱うコードが含まれています。

+0

オントロジーを比較すると、匿名の個人にはIDがないことが分かります(内部IDはここでは重要ではありません)。だから私の意図は、匿名ノードの構造を比較することです。たとえば、名前付きサブクラスのコンテキストでの制限:両方のオントロジーに表示される名前付きサブクラスを指定すると、各オントロジでクラスは制限のサブクラスであり、制限は同じトリプル(プロパティおよびオブジェクト)のサブジェクトです両方の場合。それが私が決定する必要があるものです。 –

+0

あなたのケースでは、サブクラスの公理はお互いに.equals()であるため、最初のオントロジから公理を取り、2つ目のオントロジーにそれが含まれているかどうかを確認できます。 – Ignazio

関連する問題