public InferenceState(EsKnowledge knowledge, string targetProperty) { _facts = new Dictionary <string, string>(); _knowledge = knowledge; _skippedRules = new HashSet <EsRule>(EqualityComparer <EsRule> .Default); _targetStack = new Stack <string>(); _targetStack.Push(targetProperty); TargetProperty = targetProperty; }
public InferenceEngine(EsKnowledge knowledge, Func <string, IReadOnlyList <string>, Task <string> > questionFunc) { _knowledge = knowledge; _questionFuncAsync = questionFunc; }
public InferenceEngine(EsKnowledge knowledge, Func <string, IReadOnlyList <string>, string> questionFunc) { _knowledge = knowledge; _questionFuncAsync = (x, y) => Task.FromResult(questionFunc(x, y)); }