簡単な答えがないと思われる簡単な質問があります。基本的に、ある OWL 式 (#B) が別の OWL 式 (#A) から論理的に続くことが正しいかどうかを確認したいのですが、言い換えると、#A -> #B は本当ですか?
この理由は、知識ベース (#KnowledgeStructure クラスで表される) の構造を、現在のアプリケーション状態 (#StateRequirement) のニーズを記述する構造に一致させるアプリケーションのマッチング アルゴリズムを作成しているためです。どちらの構造にも、第 3 の種類の構造 (#Model) の状態に対する OWL 式を表す文字列値を持つプロパティがあります。これらは次のとおりです。 #Model に適用される知識構造がどのように #Model を変換するかを表す #KnowledgeStructure.PostCondition。#StateRequirement.GoalCondition は、アプリケーションが達成しようとする #Model 状態を表します。したがって、#KnowledgeStructure.PostCondition が目的の #StateRequiremment.GoalCondition を生成することを確認することによって、#KnowledgeStructure が #StateRequirement を満たすかどうかを確認したいと思います。これを次のように抽象的に表現できます: (#KnowledgeStructure.Postcondition => #StateRequirement.GoalCondition) => Match(#KnowledgeStructure, #StateRequirement). これを ((#A -> #B) -> Match(#A, #B)) のように表現することもできますが、#A と #B はどちらも有効な OWL 式です。
一般的なケースでは、次のルールを表現できるようにしたいと考えています。
本質的に、私の質問は次のとおりです。OWLでそのようなルールを設定または実現するにはどうすればよいですか? ある式が別の式の後に続くかどうかをテストするにはどうすればよいですか? また、既存の推論は、この関係が明示的に述べられていない場合、2 つの式の間の関係 #A -> #B を決定するのに十分強力ですか?