AIMA.Core.Logic.FOL.Inference.FOLBCAsk.ask C# (CSharp) Метод

ask() публичный Метод

public ask ( FOLKnowledgeBase KB, Sentence query ) : InferenceResult
KB AIMA.Core.Logic.FOL.KB.FOLKnowledgeBase
query Sentence
Результат InferenceResult
        public InferenceResult ask(FOLKnowledgeBase KB, Sentence query)
        {
            // Assertions on the type queries this Inference procedure
            // supports
            if (!(query is AtomicSentence))
            {
                throw new ArgumentException(
                        "Only Atomic Queries are supported.");
            }

            List<Literal> goals = new List<Literal>();
            goals.Add(new Literal((AtomicSentence)query));

            BCAskAnswerHandler ansHandler = new BCAskAnswerHandler();

            List<List<ProofStepBwChGoal>> allProofSteps = folbcask(KB, ansHandler,
                    goals, new Dictionary<Variable, Term>());

            ansHandler.setAllProofSteps(allProofSteps);

            return ansHandler;
        }