/// <summary>
 /// Creates instance of Reasoning Process
 /// </summary>
 /// <param name="knowledgeBase">Knowledge Base object</param>
 /// <param name="reasoningMethod">Reasoning Method</param>
 /// <param name="hypothesis">Hypothesis for Hypothesis testing method</param>
 /// <returns>Instance of Reasoning Process</returns>
 public static IReasoningProcess CreateInstance(
     IKnowledgeBase knowledgeBase,
     ReasoningMethod reasoningMethod,
     IVariable hypothesis
     )
 {
     return(new ReasoningProcess
     {
         KnowledgeBase = knowledgeBase,
         ReasoningMethod = reasoningMethod,
         Hypothesis = hypothesis
     });
 }
Exemplo n.º 2
0
 private IReasoningProcess MockReasoningProcess(ReasoningMethod reasoningMethod, IVariable conclusion1, IVariable conclusion2)
 {
     return(new ReasoningProcess
     {
         ReasoningMethod = reasoningMethod,
         KnowledgeBase = new KnowledgeBaseBuilder()
                         .SetId("knowledgeBase1")
                         .SetName("Knowledge Base 1")
                         .SetDescription("Testing reasoning service")
                         .AddRule(new RuleBuilder()
                                  .SetConclusion(conclusion1)
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var1", OperatorType.Equal, 3)
                                                .SetLeftTermValue(3)
                                                .Unwrap())
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var2", OperatorType.Equal, "OK")
                                                .SetLeftTermValue("OK")
                                                .Unwrap())
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var3", OperatorType.Equal, new [] { "opt1", "opt2" })
                                                .SetLeftTermValue(new [] { "opt1", "opt2" })
                                                .Unwrap())
                                  .Unwrap())
                         .AddRule(new RuleBuilder()
                                  .SetConclusion(conclusion2)
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var1", OperatorType.Equal, 3)
                                                .SetLeftTermValue(3)
                                                .Unwrap())
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var2", OperatorType.Equal, "OK")
                                                .SetLeftTermValue("OK")
                                                .Unwrap())
                                  .AddPredicate(new PredicateBuilder()
                                                .ConfigurePredicate("var3", OperatorType.Equal, new [] { "opt1", "opt2" })
                                                .SetLeftTermValue(new [] { "opt1" })
                                                .Unwrap())
                                  .Unwrap())
                         .Unwrap()
     });
 }