0

オントロジーの各クラスについて、すべての (推測された) 存在制限を取得するにはどうすればよいですか?

私の現在のアプローチは、クラスとオブジェクト プロパティのすべてのペアを反復処理し、制限が満たされているかどうかを確認することです。

  • Classes(O) × Classes(O)の各サブクラス(C, D)について:
    • Object properties(O)で定義された各プロパティPに対して:
      • CPが充足可能場合:
        • 利回り(C、P、D)

4557 個のクラスと 107 個のオブジェクト プロパティを持つワクチン オントロジーを使用しているため、これはかなり遅いです。1 回限りの計算であっても、より良いアプローチを見て何かを学ぶかもしれません。

近隣ラベルを取得するときにクラッシュしたため、ここでOWLKnowledgeExplorerReasoner提案されているように from JFactを使用しても機能しませんでした (私のテスト ケースを参照してください) 。

OWLAPI、Protégé、またはその他のツールを使用して改善されたソリューションを提案できますか? また、最も具体的なフィラー クラスのみを取得するとよいでしょう。

ありがとう!

4

1 に答える 1

2

まず、チェックが間違っています。空のオントロジーC and P some Dは満足できるものですが、これはあなたが望むものではありません。が満足できないかどうかを確認するC and not (P some D)必要があります (代わりに、 を確認することもできますisSubsumedBy(C, P some D))。

分類に使用されるいくつかの手法を使用すると、探索時間を改善できます。

  • Cが のサブクラスである場合P some D、 のすべてのサブクラスもそうですC
  • Cが のサブクラスでない場合P some D、 のすべてのスーパークラスもそうですC
  • Pと のサブ/スーパー クラス/プロパティの同様のルールD
  • P some Thingすべての式に名前を付けることができます。C分類後、これらの概念のサブクラスのみに検索を制限できます。

問題を絞り込むこともできます。本当にすべてのペアとすべてのプロパティをチェックする必要がありますか?

ここで提案されているように JFact から OWLKnowledgeExplorerReasoner を使用しても機能しませんでした。近隣ラベルを取得するときにクラッシュしたためです (Exception Unreachable 状況!)。

問題を修正できるように、テスト ケースと問題の完全なスタック トレースを提供していただけますか? FaCT++ で同じものを使用しようとしましたか?

于 2016-12-08T17:23:50.260 に答える