Class InfAtomicFOQueryEvaluator
java.lang.Object
fr.inria.rules.integraal.query_evaluation.atomic.InfAtomicFOQueryEvaluator
- All Implemented Interfaces:
FOQueryEvaluator<Atom, MaterializedData>, QueryEvaluator<FOQuery<? extends Atom>, MaterializedData>
public class InfAtomicFOQueryEvaluator
extends Object
implements FOQueryEvaluator<Atom, MaterializedData>
Evaluates an Atomic FOQuery using the ≲ condition given from a rule compilation
Given a factbase F = {B, C, D}
an atomic query A
The ≲-homomorphism(A, F) ≡
B ≲ A
C ≲ A
D ≲ A
We could also reduce the size of F by only taking into account atoms with a compatible predicate.
- Author:
- Florent Tornil
-
Constructor Summary
ConstructorsConstructorDescriptionInfAtomicFOQueryEvaluator(RuleCompilation compilation) Constructor using a compilation -
Method Summary
Modifier and TypeMethodDescriptionevaluate(FOQuery<? extends Atom> query, MaterializedData materializedData, Collection<Variable> vars, Substitution preHomomorphism) Evaluates a first-order query against a data source.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface FOQueryEvaluator
prepareQuery, prepareQueryMethods inherited from interface QueryEvaluator
countAnswers, countHomomorphism, evaluate, evaluate, existAnswer, existAnswer, existHomomorphism, existHomomorphism, homomorphism, homomorphism, postprocessResult, postprocessResult
-
Constructor Details
-
InfAtomicFOQueryEvaluator
Constructor using a compilation- Parameters:
compilation- the rule compilation to compute homomorphisms according to
-
-
Method Details
-
evaluate
public Stream<Substitution> evaluate(FOQuery<? extends Atom> query, MaterializedData materializedData, Collection<Variable> vars, Substitution preHomomorphism) Description copied from interface:FOQueryEvaluatorEvaluates a first-order query against a data source.- Specified by:
evaluatein interfaceFOQueryEvaluator<Atom, MaterializedData>- Specified by:
evaluatein interfaceQueryEvaluator<FOQuery<? extends Atom>, MaterializedData>- Parameters:
query- the query to evaluatematerializedData- the data source against which the query is evaluatedvars- variables constrained to constant answerspreHomomorphism- a partial substitution to extend- Returns:
- a stream of substitutions answering the query
-