0

私は、3つの個人「A」、「B」、「C」を持つクラス「Person」を持つ単純なオントロジーを持っています。これらは、 という名前のオブジェクト プロパティによって相互に関連付けられていますisFatherOf。たとえば、

A isFatherOf B
B isFatherOf C

hasFatherの反転プロパティである別のプロパティを設定しますisFaterOf。私は推論者が推論することを期待していました:

B hasFatherOf A
C hasFatherOf B

ただし、組み込みの推論ツール (FaCT++、HermiT、Pellet) はどれもそれらを推論しませんでした。

さらに、のプロパティ チェーンを作成したいとしますisFatherOf。たとえば、次のようにしますisGrandFatherOf

A isGrandFatherOf C

そのため、以下のように SuperProperty を設定します。

isFatherOf o isFatherOf SubPropertyOf isGrandFatherOf

しかし、それも失敗します。

HermiT 1.3.8、Pellet 2.2.0、および FaCT++ 1.6.4 を使用した Protege 4.3 および 5.0.0 (Build RC1) で同じ結果が得られました。インターネットでドキュメントと質問を検索しましたが、なぜそれが起こっているのかまだわかりません。フクロウファイルのリンクはこちらです。

ここに画像の説明を入力

可能性のあるバグレポートが追加されました

この問題は、バグが原因である可能性があります。Win7 64 ビット、Protege 5-beta21 (および Protege 5-RC1)、java 1.8.0_20 の環境で、望ましい推論結果が得られました。

ただし、Win10 64 ビット、Protege 5-beta21 (および Protege 5-RC1)、java 1.8.0_73 の環境で問題が発生しました。推論結果が得られませんでした。3 つの異なる推論 (HermiT 1.3.8、Pellet 2.2.0、および FaCT++ 1.6.4) で推論を試みました。その中で、HermiT 1.3.8 のみが以下のエラー メッセージを表示します。ログには win8 と表示されていますが、実際には win10 です。 ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

4

0 に答える 0