0

Protegé でオントロジーの作業を始めたばかりで、SWRL ルールの使用方法を理解しようとしています。出力を生成できないため、概念やそれらを正しく処理する方法がわからないのではないかと心配しています。これをテストするために作成した簡単なケースをもう少し説明します。

A、B、C という名前の 3 つの個体を作成しました。それぞれに、ブール値の範囲を持つテスト プロパティがあります。それぞれのプロパティ アサーション タブで値を初期化したのでtest(A,true)test(B,true)test(C,true)です。ルールがどのように機能するかをテストするために、次のようなルールを作成しましたtest(A,true), test(B,true) -> test(C,false)。私が理解している方法は、A と B のテスト プロパティが true の場合、C のテスト プロパティが false になるということです。そうするために、推論 (ペレット) を開始しますが、何も起こりません。つまり、Resoner がアクティブで、「矛盾したオントロジー」メッセージは表示されませんが、C のテスト値は変化しません。これは本当に単純な混乱に違いないと思いますが、どこにも見つからないようで、ルールが有効になっているかどうかを確認することもできません。

前もって感謝します。

4

1 に答える 1

1

推論はそのようには機能しませんtest(C, true)。主張した場合、撤回することはできません。あなたのオントロジーにはおそらく と の両方が含まれており、特に指定しない限りtest(C, true)、これは完全に合法です。そのtest(C, false)場合、矛盾が見られます。

于 2013-12-12T21:42:07.630 に答える