use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.
the class OntologicalQueryTest method allInstancesAndTheirType.
// TODO need to correctly return THING and RELATIONSHIP mapping for %type
@Ignore
@Test
public void allInstancesAndTheirType() {
GraknTx tx = testContext.tx();
QueryBuilder qb = tx.graql().infer(true);
String queryString = "match $x isa $type; get;";
List<Answer> answers = qb.<GetQuery>parse(queryString).execute();
assertCollectionsEqual(answers, qb.infer(false).<GetQuery>parse(queryString).execute());
}
use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.
the class OntologicalQueryTest method allInstancesOfMetaEntity.
/**
* meta concepts *
*/
@Test
public void allInstancesOfMetaEntity() {
GraknTx tx = testContext.tx();
QueryBuilder qb = tx.graql().infer(true);
long noOfEntities = tx.admin().getMetaEntityType().instances().count();
String queryString = "match $x isa entity;get;";
List<Answer> answers = qb.<GetQuery>parse(queryString).execute();
assertEquals(answers.size(), noOfEntities);
}
use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingRelationTypeVar2.
@Test
public void testReasoningWithQueryContainingRelationTypeVar2() {
String queryString = "match $y isa product;(recommended-customer: $x, recommended-product: $y) isa $rel; get;";
String queryString2 = "match $y isa product;(recommended-customer: $x, recommended-product: $y) isa $rel;$rel label recommendation; get;";
QueryBuilder qb = snbKB.tx().graql();
GetQuery query = qb.infer(true).parse(queryString);
GetQuery query2 = qb.infer(true).materialise(true).parse(queryString);
GetQuery query3 = qb.infer(false).parse(queryString2);
assertQueriesEqual(query, query2);
assertQueriesEqual(query2, query3);
}
use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingMultiPredResource.
@Test
public void testReasoningWithQueryContainingMultiPredResource() {
String queryString = "match $p isa person, has age $a;$a val >23; $a val <27;$pr isa product;" + "($p, $pr) isa recommendation; get $p, $pr;";
String queryString2 = "match $p isa person, has age >23, has age <27;$pr isa product;" + "($p, $pr) isa recommendation; get;";
QueryBuilder iqb = snbKB.tx().graql().infer(true);
GetQuery query = iqb.parse(queryString);
GetQuery query2 = iqb.parse(queryString2);
assertQueriesEqual(query, query2);
}
use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingLimit.
@Test
public void testReasoningWithQueryContainingLimit() {
GraknTx graph = nonMaterialisedGeoKB.tx();
String limitQueryString = "match (geo-entity: $x, entity-location: $y)isa is-located-in;limit 5; get;";
String queryString = "match (geo-entity: $x, entity-location: $y)isa is-located-in; get;";
QueryBuilder iqb = graph.graql().infer(true);
GetQuery limitQuery = iqb.parse(limitQueryString);
GetQuery query = iqb.parse(queryString);
List<Answer> limitedAnswers = limitQuery.execute();
List<Answer> answers = query.execute();
assertEquals(limitedAnswers.size(), 5);
assertTrue(answers.size() > limitedAnswers.size());
assertTrue(answers.containsAll(limitedAnswers));
}
Aggregations