use of ai.grakn.graql.internal.reasoner.query.QueryAnswers in project grakn by graknlabs.
the class QueryCacheTest method getUpdateRetrieveAnswerStream.
@Test
public void getUpdateRetrieveAnswerStream() {
QueryCache<ReasonerAtomicQuery> cache = new QueryCache<>();
Answer answer = recordQuery.getQuery().stream().findFirst().orElse(null);
Answer retrieveAnswer = answer.unify(recordToRetrieveUnifier);
Answer retrieveSingleAnswer = singleAnswer.unify(recordToRetrieveUnifier);
Stream<Answer> recordStream = cache.getAnswerStream(recordQuery);
Stream<Answer> retrieveStream = cache.getAnswerStream(retrieveQuery);
cache.recordAnswer(recordQuery, singleAnswer);
QueryAnswers recordAnswers = new QueryAnswers(recordStream.collect(Collectors.toSet()));
QueryAnswers retrieveAnswers = new QueryAnswers(retrieveStream.collect(Collectors.toSet()));
// NB: not expecting the update in the stream
assertTrue(recordAnswers.contains(answer));
assertTrue(retrieveAnswers.contains(retrieveAnswer));
assertFalse(recordAnswers.contains(singleAnswer));
assertFalse(retrieveAnswers.contains(retrieveSingleAnswer));
assertTrue(cache.getAnswers(recordQuery).contains(singleAnswer));
assertTrue(cache.getAnswers(retrieveQuery).contains(retrieveSingleAnswer));
}
use of ai.grakn.graql.internal.reasoner.query.QueryAnswers in project grakn by graknlabs.
the class QueryCacheTest method recordUpdateRetrieveAnswers.
@Test
public void recordUpdateRetrieveAnswers() {
QueryCache<ReasonerAtomicQuery> cache = new QueryCache<>();
cache.record(recordQuery, new QueryAnswers(recordQuery.getQuery().execute()));
cache.recordAnswer(recordQuery, singleAnswer);
assertTrue(cache.getAnswers(recordQuery).contains(singleAnswer));
assertTrue(cache.getAnswers(retrieveQuery).contains(singleAnswer.unify(recordToRetrieveUnifier)));
}
use of ai.grakn.graql.internal.reasoner.query.QueryAnswers in project grakn by graknlabs.
the class QueryCacheTest method getRetrieveAnswerStream.
@Test
public void getRetrieveAnswerStream() {
QueryCache<ReasonerAtomicQuery> cache = new QueryCache<>();
Answer answer = recordQuery.getQuery().stream().findFirst().orElse(null);
Answer retrieveAnswer = answer.unify(recordToRetrieveUnifier);
Stream<Answer> recordStream = cache.getAnswerStream(recordQuery);
Stream<Answer> retrieveStream = cache.getAnswerStream(retrieveQuery);
QueryAnswers recordAnswers = new QueryAnswers(recordStream.collect(Collectors.toSet()));
QueryAnswers retrieveAnswers = new QueryAnswers(retrieveStream.collect(Collectors.toSet()));
assertTrue(recordAnswers.contains(answer));
assertTrue(retrieveAnswers.contains(retrieveAnswer));
}
use of ai.grakn.graql.internal.reasoner.query.QueryAnswers in project grakn by graknlabs.
the class QueryCacheTest method recordRetrieveAnswers.
@Test
public void recordRetrieveAnswers() {
QueryCache<ReasonerAtomicQuery> cache = new QueryCache<>();
QueryAnswers record = cache.record(recordQuery, new QueryAnswers(recordQuery.getQuery().execute()));
assertEquals(record, cache.getAnswers(retrieveQuery).unify(retrieveToRecordUnifier));
assertEquals(record, cache.getAnswers(recordQuery));
}
Aggregations