Search in sources :

Example 16 with QueryBuilder

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());
}
Also used : GraknTx(ai.grakn.GraknTx) Answer(ai.grakn.graql.admin.Answer) GetQuery(ai.grakn.graql.GetQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 17 with QueryBuilder

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);
}
Also used : GraknTx(ai.grakn.GraknTx) Answer(ai.grakn.graql.admin.Answer) QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Example 18 with QueryBuilder

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);
}
Also used : GetQuery(ai.grakn.graql.GetQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Example 19 with QueryBuilder

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);
}
Also used : GetQuery(ai.grakn.graql.GetQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Example 20 with QueryBuilder

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));
}
Also used : GraknTx(ai.grakn.GraknTx) EmbeddedGraknTx(ai.grakn.kb.internal.EmbeddedGraknTx) Answer(ai.grakn.graql.admin.Answer) GetQuery(ai.grakn.graql.GetQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Aggregations

QueryBuilder (ai.grakn.graql.QueryBuilder)208 Test (org.junit.Test)202 Answer (ai.grakn.graql.admin.Answer)101 GetQuery (ai.grakn.graql.GetQuery)60 GraknTx (ai.grakn.GraknTx)51 SampleKBContext (ai.grakn.test.rule.SampleKBContext)20 EmbeddedGraknTx (ai.grakn.kb.internal.EmbeddedGraknTx)18 Concept (ai.grakn.concept.Concept)16 QueryAnswer (ai.grakn.graql.internal.query.QueryAnswer)9 Ignore (org.junit.Ignore)8 Var (ai.grakn.graql.Var)5 VarPattern (ai.grakn.graql.VarPattern)5 List (java.util.List)5 Label (ai.grakn.concept.Label)4 ReasonerAtomicQuery (ai.grakn.graql.internal.reasoner.query.ReasonerAtomicQuery)4 Sets (com.google.common.collect.Sets)4 Assert.assertEquals (org.junit.Assert.assertEquals)4 RelationshipType (ai.grakn.concept.RelationshipType)3 Graql (ai.grakn.graql.Graql)3 Graql.var (ai.grakn.graql.Graql.var)3