public class ReasonerAtomicQuery extends ReasonerQueryImpl
Base reasoner atomic query. An atomic query is a query constrained to having at most one rule-resolvable atom together with its accompanying constraints (predicates and types)
| Constructor and Description |
|---|
ReasonerAtomicQuery(Atom at) |
ReasonerAtomicQuery(Conjunction<VarAdmin> pattern,
GraknGraph graph) |
ReasonerAtomicQuery(ReasonerAtomicQuery query) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addAtomic(Atomic at) |
java.util.stream.Stream<Answer> |
answerStream(Set<ReasonerAtomicQuery> subGoals,
Cache<ReasonerAtomicQuery,?> cache,
Cache<ReasonerAtomicQuery,?> dCache,
boolean materialise,
boolean explanation,
boolean differentialJoin)
resolves the query by performing lookups and rule resolution and returns a stream of new answers
|
ReasonerQuery |
copy() |
java.util.stream.Stream<Answer> |
DBlookup()
resolve the query by performing a db lookup
|
boolean |
equals(Object obj) |
Atom |
getAtom() |
Unifier |
getUnifier(ReasonerQuery p) |
int |
hashCode() |
ReasonerQueryIterator |
iterator(Set<ReasonerAtomicQuery> subGoals,
QueryCache<ReasonerAtomicQuery> cache) |
java.util.stream.Stream<Answer> |
lookup(Cache<ReasonerAtomicQuery,?> cache)
resolve the query by performing either a db or memory lookup, depending on which is more appropriate
|
java.util.stream.Stream<Answer> |
materialise(Answer answer) |
boolean |
removeAtomic(Atomic at) |
java.util.stream.Stream<Answer> |
resolve(boolean materialise,
boolean explanation,
LazyQueryCache<ReasonerAtomicQuery> cache,
LazyQueryCache<ReasonerAtomicQuery> dCache)
resolves the query
|
Set<Atom> |
selectAtoms()
atom selection function
|
void |
unify(Unifier unifier)
change each variable occurrence according to provided mappings (apply unifiers {[from, to]_i})
|
addAtomConstraints, containsEquivalentAtom, findNextJoinable, getAtoms, getFilters, getIdPredicate, getIdPredicates, getMatchQuery, getPattern, getTypeConstraints, getValuePredicates, getVarNames, getVarTypeMap, graph, isEquivalent, isRuleResolvable, iterator, resolve, toString, unifypublic ReasonerAtomicQuery(Conjunction<VarAdmin> pattern, GraknGraph graph)
public ReasonerAtomicQuery(ReasonerAtomicQuery query)
public ReasonerAtomicQuery(Atom at)
public ReasonerQuery copy()
copy in interface ReasonerQuerycopy in class ReasonerQueryImplpublic boolean equals(Object obj)
equals in class ReasonerQueryImplpublic int hashCode()
hashCode in class ReasonerQueryImplpublic Atom getAtom()
public boolean addAtomic(Atomic at)
addAtomic in class ReasonerQueryImplat - to be addedpublic boolean removeAtomic(Atomic at)
removeAtomic in class ReasonerQueryImplat - to be removedpublic void unify(Unifier unifier)
ReasonerQueryImplunify in interface ReasonerQueryunify in class ReasonerQueryImplunifier - (variable mappings) to be appliedpublic Set<Atom> selectAtoms()
ReasonerQueryImplselectAtoms in class ReasonerQueryImplpublic Unifier getUnifier(ReasonerQuery p)
getUnifier in interface ReasonerQuerygetUnifier in class ReasonerQueryImplpublic java.util.stream.Stream<Answer> lookup(Cache<ReasonerAtomicQuery,?> cache)
cache - container of already performed query resolutionspublic java.util.stream.Stream<Answer> DBlookup()
public java.util.stream.Stream<Answer> materialise(Answer answer)
public java.util.stream.Stream<Answer> answerStream(Set<ReasonerAtomicQuery> subGoals, Cache<ReasonerAtomicQuery,?> cache, Cache<ReasonerAtomicQuery,?> dCache, boolean materialise, boolean explanation, boolean differentialJoin)
subGoals - visited subGoals (recursive queries)cache - global query cachedCache - differential query cachematerialise - whether inferred information should be materialisedpublic java.util.stream.Stream<Answer> resolve(boolean materialise, boolean explanation, LazyQueryCache<ReasonerAtomicQuery> cache, LazyQueryCache<ReasonerAtomicQuery> dCache)
ReasonerQueryImplresolve in class ReasonerQueryImplmaterialise - materialisation flagpublic ReasonerQueryIterator iterator(Set<ReasonerAtomicQuery> subGoals, QueryCache<ReasonerAtomicQuery> cache)
Copyright © 2017 Grakn Labs Ltd. All rights reserved.