Q - the type of query that is being cachedT - the type of answer being cachedpublic abstract class Cache<Q extends ReasonerQuery,T extends Iterable<Answer>> extends Object
Generic container class for storing performed query resolutions.
| Modifier and Type | Field and Description |
|---|---|
protected Map<Q,javafx.util.Pair<Q,T>> |
cache |
| Constructor and Description |
|---|
Cache() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(Cache<Q,T> c2)
cache union
|
abstract long |
answerSize(Set<Q> queries) |
void |
clear() |
boolean |
contains(Q query) |
abstract LazyIterator<Answer> |
getAnswerIterator(Q query) |
abstract T |
getAnswers(Q query) |
abstract java.util.stream.Stream<Answer> |
getAnswerStream(Q query) |
abstract javafx.util.Pair<java.util.stream.Stream<Answer>,Unifier> |
getAnswerStreamWithUnifier(Q query) |
abstract javafx.util.Pair<T,Unifier> |
getAnswersWithUnifier(Q query) |
Map<javafx.util.Pair<Var,Concept>,Set<Answer>> |
getInverseAnswerMap(Q query)
returns an inverse answer map with all query variables
|
Map<javafx.util.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() |
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) |
abstract void |
remove(Cache<Q,T> c2,
Set<Q> queries)
cache subtraction of specified queries
|
protected final Map<Q extends ReasonerQuery,javafx.util.Pair<Q extends ReasonerQuery,T extends Iterable<Answer>>> cache
public boolean contains(Q query)
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 java.util.stream.Stream<Answer> getAnswerStream(Q query)
public abstract javafx.util.Pair<java.util.stream.Stream<Answer>,Unifier> getAnswerStreamWithUnifier(Q query)
public abstract LazyIterator<Answer> getAnswerIterator(Q query)
public Map<javafx.util.Pair<Var,Concept>,Set<Answer>> getInverseAnswerMap(Q query, Set<Var> vars)
query - for answer are to be retrievedvars - variable names of interestpublic Map<javafx.util.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 subtractedpublic void clear()
Copyright © 2017 Grakn Labs Ltd. All rights reserved.