クラス階層と、それ自体でうまく機能するいくつかのルールを持つ TopBraidComposer でオントロジーを構築しています。私のオントロジーでは、クラス レベルで作業しているため、作成するすべての定義は、個人ではなくクラスにのみ関連しています。ここで、次のようなサブクラス定義を推論したいと思います。
仕事をしているように見える次のSPARQLクエリを試しました:
次に、このクエリを SPIN ルールとして owl:Thing クラスに次のように追加しました。
Enter キーを押すと、次の形式に自動的に変換されます。
合理的に見えますが、推論プロセスを開始すると、テスト ルールを追加する前のように終了しなくなりました。推論を強制停止すると、目的のトリプルが Test クラスに何度も追加されていることがわかります。
SPIN で匿名スーパークラスを推論するにはどうすればよいですか?
編集:
回避策は、制限をクラスにバインドすることです。ロジックは機能しているように見えますが、匿名のスーパークラスのようには表示されません。TBCでもProtegeでもありません。