Search in sources :

Example 16 with Request

use of com.vaticle.typedb.core.reasoner.resolution.framework.Request in project grakn by graknlabs.

the class DisjunctionResolver method requestStateReiterate.

@Override
protected RequestState requestStateReiterate(Request fromUpstream, RequestState requestStatePrior, int newIteration) {
    LOG.debug("{}: Updating RequestState for iteration '{}'", name(), newIteration);
    assert newIteration > requestStatePrior.iteration() && fromUpstream.partialAnswer().isCompound();
    RequestState requestStateNextIteration = requestStateForIteration(requestStatePrior, newIteration);
    for (Driver<ConjunctionResolver.Nested> conjunctionResolver : downstreamResolvers.keySet()) {
        Compound.Nestable downstream = fromUpstream.partialAnswer().asCompound().filterToNestable(conjunctionRetrievedIds(conjunctionResolver));
        Request request = Request.create(driver(), conjunctionResolver, downstream);
        requestStateNextIteration.downstreamManager().addDownstream(request);
    }
    return requestStateNextIteration;
}
Also used : Request(com.vaticle.typedb.core.reasoner.resolution.framework.Request) Compound(com.vaticle.typedb.core.reasoner.resolution.answer.AnswerState.Partial.Compound)

Aggregations

Request (com.vaticle.typedb.core.reasoner.resolution.framework.Request)16 ConceptMap (com.vaticle.typedb.core.concept.answer.ConceptMap)4 Partial (com.vaticle.typedb.core.reasoner.resolution.answer.AnswerState.Partial)3 Compound (com.vaticle.typedb.core.reasoner.resolution.answer.AnswerState.Partial.Compound)3 ResolverRegistry (com.vaticle.typedb.core.reasoner.resolution.ResolverRegistry)2 AnswerState (com.vaticle.typedb.core.reasoner.resolution.answer.AnswerState)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 Unifier (com.vaticle.typedb.core.logic.resolvable.Unifier)1 Identifier (com.vaticle.typedb.core.traversal.common.Identifier)1 HashSet (java.util.HashSet)1 LinkedHashMap (java.util.LinkedHashMap)1 Set (java.util.Set)1