Q - the type of query that is being cachedT - the type of answer being cachedpublic abstract class Cache<Q extends ReasonerQueryImpl,T extends Iterable<Answer>> extends Object
Generic container class for storing performed query resolutions.
| Constructor and Description |
|---|
Cache() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(Cache<Q,T> c2)
Perform cache union
|
abstract long |
answerSize(Set<Q> queries) |
void |
clear()
Clear the cache
|
boolean |
contains(Q query)
Query cache containment check
|
Collection<Pair<Q,T>> |
entries() |
Pair<Q,T> |
get(Q query) |
abstract LazyIterator<Answer> |
getAnswerIterator(Q query) |
abstract T |
getAnswers(Q query)
retrieve cached answers for provided query
|
abstract java.util.stream.Stream<Answer> |
getAnswerStream(Q query) |
abstract Pair<java.util.stream.Stream<Answer>,MultiUnifier> |
getAnswerStreamWithUnifier(Q query) |
abstract Pair<T,MultiUnifier> |
getAnswersWithUnifier(Q query) |
Map<Pair<Var,Concept>,Set<Answer>> |
getInverseAnswerMap(Q query)
returns an inverse answer map with all query variables
|
Map<Pair<Var,Concept>,Set<Answer>> |
getInverseAnswerMap(Q query,
Set<Var> vars)
return an inverse answer map which is more suitable for operations involving concept comparison (joins, filtering, etc.)
NB: consumes the underlying stream for the specified query
|
Set<Q> |
getQueries() |
Pair<Q,T> |
put(Q query,
T answers)
Associates the specified answers with the specified query in this cache adding an (query) -> (answers) entry
|
void |
putAll(Map<Q,Pair<Q,T>> map)
Copies all of the mappings from the specified map to this cache
|
abstract java.util.stream.Stream<Answer> |
record(Q query,
java.util.stream.Stream<Answer> answers)
record answer stream for a specific query and retrieve the updated stream
|
abstract T |
record(Q query,
T answers)
record answer iterable for a specific query and retrieve the updated answers
|
abstract LazyIterator<Answer> |
recordRetrieveLazy(Q query,
java.util.stream.Stream<Answer> answers)
record answer stream for a specific query and retrieve the updated stream in a lazy iterator
|
void |
remove(Cache<Q,T> c2)
Perform cache difference
|
abstract void |
remove(Cache<Q,T> c2,
Set<Q> queries)
cache subtraction of specified queries
|
public Pair<Q,T> get(Q query)
query - for which the entry is to be retrievedpublic Pair<Q,T> put(Q query, T answers)
query - of the associationanswers - of the associationpublic void putAll(Map<Q,Pair<Q,T>> map)
map - with mappings to be copiedpublic boolean contains(Q query)
query - to be checked for containmentpublic Collection<Pair<Q,T>> entries()
public void remove(Cache<Q,T> c2)
c2 - cache which mappings should be removed from this cachepublic void clear()
public abstract T record(Q query, T answers)
query - to be recordedanswers - to this querypublic abstract java.util.stream.Stream<Answer> record(Q query, java.util.stream.Stream<Answer> answers)
query - to be recordedanswers - answer stream of the querypublic abstract LazyIterator<Answer> recordRetrieveLazy(Q query, java.util.stream.Stream<Answer> answers)
query - to be recordedanswers - answer stream of the querypublic abstract T getAnswers(Q query)
query - for which to retrieve answerspublic abstract Pair<T,MultiUnifier> getAnswersWithUnifier(Q query)
public abstract java.util.stream.Stream<Answer> getAnswerStream(Q query)
public abstract Pair<java.util.stream.Stream<Answer>,MultiUnifier> getAnswerStreamWithUnifier(Q query)
public abstract LazyIterator<Answer> getAnswerIterator(Q query)
public Map<Pair<Var,Concept>,Set<Answer>> getInverseAnswerMap(Q query, Set<Var> vars)
query - for answer are to be retrievedvars - variable names of interestpublic Map<Pair<Var,Concept>,Set<Answer>> getInverseAnswerMap(Q query)
query - for answer are to be retrievedpublic abstract void remove(Cache<Q,T> c2, Set<Q> queries)
c2 - subtraction right operandqueries - to which answers shall be subtractedCopyright © 2017 Grakn Labs Ltd. All rights reserved.