Search in sources :

Example 26 with QueryBuilder

use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.

the class GrpcServerTest method setUp.

@Before
public void setUp() throws IOException {
    doNothing().when(mockedPostProcessor).submit(any(CommitLog.class));
    GrpcOpenRequestExecutor requestExecutor = new GrpcOpenRequestExecutorImpl(txFactory);
    Server server = ServerBuilder.forPort(PORT).addService(new GrpcGraknService(requestExecutor, mockedPostProcessor)).build();
    grpcServer = GrpcServer.create(server);
    grpcServer.start();
    QueryBuilder qb = mock(QueryBuilder.class);
    when(tx.admin()).thenReturn(tx);
    when(txFactory.tx(eq(MYKS), any())).thenReturn(tx);
    when(tx.graql()).thenReturn(qb);
    when(qb.parse(QUERY)).thenReturn(query);
    when(query.results(any())).thenAnswer(params -> Stream.of(QueryResult.getDefaultInstance()));
}
Also used : Server(io.grpc.Server) GrpcOpenRequestExecutor(ai.grakn.grpc.GrpcOpenRequestExecutor) QueryBuilder(ai.grakn.graql.QueryBuilder) CommitLog(ai.grakn.kb.log.CommitLog) Before(org.junit.Before)

Example 27 with QueryBuilder

use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.

the class DirectIsaTest method testMatchSyntax.

@Test
public void testMatchSyntax() {
    QueryBuilder queryBuilder = tx.graql();
    Match matchQuery;
    GetQuery getQuery;
    matchQuery = queryBuilder.match(x.directIsa(thingy1));
    assertEquals("match $x isa! thingy1;", matchQuery.toString());
    matchQuery = queryBuilder.match(x.directIsa(y));
    assertEquals("match $x isa! $y;", matchQuery.toString());
    getQuery = queryBuilder.parse("match $x isa! thingy1; get;");
    assertEquals(queryBuilder.match(x.directIsa(thingy1)), getQuery.match());
    getQuery = queryBuilder.parse("match $x isa! $y; get;");
    assertEquals(queryBuilder.match(x.directIsa(y)), getQuery.match());
}
Also used : GetQuery(ai.grakn.graql.GetQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 28 with QueryBuilder

use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.

the class DirectIsaTest method testInsertSyntax.

@Test
public void testInsertSyntax() {
    QueryBuilder queryBuilder = tx.graql();
    InsertQuery insertQuery;
    insertQuery = queryBuilder.insert(x.directIsa(thingy));
    assertEquals("insert $x isa! thingy;", insertQuery.toString());
    insertQuery = queryBuilder.parse("insert $x isa! thingy;");
    assertEquals(queryBuilder.insert(x.directIsa(thingy)), insertQuery);
}
Also used : InsertQuery(ai.grakn.graql.InsertQuery) QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Example 29 with QueryBuilder

use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.

the class DirectIsaTest method whenInsertDirectIsa_InsertsADirectInstanceOfAType.

@Test
public void whenInsertDirectIsa_InsertsADirectInstanceOfAType() {
    QueryBuilder queryBuilder = tx.graql();
    queryBuilder.insert(x.directIsa(thingy)).execute();
    assertEquals(1L, queryBuilder.parse("match $z isa! thingy; aggregate count;").execute());
    assertEquals(2L, queryBuilder.parse("match $z isa thingy; aggregate count;").execute());
}
Also used : QueryBuilder(ai.grakn.graql.QueryBuilder) Test(org.junit.Test)

Example 30 with QueryBuilder

use of ai.grakn.graql.QueryBuilder in project grakn by graknlabs.

the class ReasoningTests method reusingResources_usingExistingResourceToDefineSubResource.

// TODO potentially a graql bug when executing match insert on shared resources
@Ignore
// Expected result: When the head of a rule contains resource assertions, the respective unique resources should be generated or reused.
@Test
public void reusingResources_usingExistingResourceToDefineSubResource() {
    QueryBuilder qb = testSet14.tx().graql().infer(true);
    String queryString = "match $x isa entity1, has subResource $y;";
    List<Answer> answers = qb.<GetQuery>parse(queryString).execute();
    assertEquals(answers.size(), 1);
    String queryString2 = "match $x isa subResource;";
    List<Answer> answers2 = qb.<GetQuery>parse(queryString2).execute();
    assertEquals(answers2.size(), 1);
    assertTrue(answers2.iterator().next().get(var("x")).isAttribute());
    String queryString3 = "match $x isa resource; $y isa subResource;";
    List<Answer> answers3 = qb.<GetQuery>parse(queryString3).execute();
    assertEquals(answers3.size(), 1);
    assertTrue(answers3.iterator().next().get(var("x")).isAttribute());
    assertTrue(answers3.iterator().next().get(var("y")).isAttribute());
}
Also used : Answer(ai.grakn.graql.admin.Answer) QueryBuilder(ai.grakn.graql.QueryBuilder) Ignore(org.junit.Ignore) 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