Search in sources :

Example 11 with Query

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

the class QueryParserTest method testParseList.

@Test
public void testParseList() {
    String insertString = "insert $x isa movie;";
    String getString = "match $y isa movie; limit 1; get;";
    List<Query<?>> queries = Graql.parser().parseList(insertString + getString).collect(toList());
    assertEquals(ImmutableList.of(insert(var("x").isa("movie")), match(var("y").isa("movie")).limit(1).get()), queries);
}
Also used : ConnectedComponentQuery(ai.grakn.graql.analytics.ConnectedComponentQuery) AggregateQuery(ai.grakn.graql.AggregateQuery) DefineQuery(ai.grakn.graql.DefineQuery) UndefineQuery(ai.grakn.graql.UndefineQuery) DeleteQuery(ai.grakn.graql.DeleteQuery) InsertQuery(ai.grakn.graql.InsertQuery) GetQuery(ai.grakn.graql.GetQuery) Query(ai.grakn.graql.Query) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Test(org.junit.Test)

Example 12 with Query

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

the class QueryParserTest method testParseListOneInsert.

@Test
public void testParseListOneInsert() {
    String insertString = "insert $x isa movie;";
    List<Query<?>> queries = Graql.parser().parseList(insertString).collect(toList());
    assertEquals(ImmutableList.of(insert(var("x").isa("movie"))), queries);
}
Also used : ConnectedComponentQuery(ai.grakn.graql.analytics.ConnectedComponentQuery) AggregateQuery(ai.grakn.graql.AggregateQuery) DefineQuery(ai.grakn.graql.DefineQuery) UndefineQuery(ai.grakn.graql.UndefineQuery) DeleteQuery(ai.grakn.graql.DeleteQuery) InsertQuery(ai.grakn.graql.InsertQuery) GetQuery(ai.grakn.graql.GetQuery) Query(ai.grakn.graql.Query) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Test(org.junit.Test)

Example 13 with Query

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

the class SampleKBLoader method loadFromFile.

public static void loadFromFile(GraknTx graph, String file) {
    File graql = new File(GraknSystemProperty.PROJECT_RELATIVE_DIR.value() + "/grakn-test-tools/src/main/graql/" + file);
    List<String> queries;
    try {
        queries = Files.readLines(graql, StandardCharsets.UTF_8);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    graph.graql().parser().parseList(queries.stream().collect(Collectors.joining("\n"))).forEach(Query::execute);
}
Also used : Query(ai.grakn.graql.Query) IOException(java.io.IOException) File(java.io.File)

Example 14 with Query

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

the class GraknClientFake method whenBatchExecutorClientCloses_AllTasksHaveCompleted.

@Test
public void whenBatchExecutorClientCloses_AllTasksHaveCompleted() throws GraknClientException {
    Keyspace keyspace = Keyspace.of("yes");
    GraknClientFake graknClient = new GraknClientFake();
    // Make sure there are more queries to execute than are allowed to run at once
    int maxQueries = 10;
    int numQueries = 100;
    BatchExecutorClient.Builder clientBuilder = BatchExecutorClient.newBuilder().taskClient(graknClient).maxQueries(maxQueries);
    Set<Query<?>> queriesToExecute = IntStream.range(0, numQueries).mapToObj(this::createInsertQuery).collect(toImmutableSet());
    try (BatchExecutorClient client = clientBuilder.build()) {
        for (Query<?> query : queriesToExecute) {
            // If we don't subscribe, the query won't execute
            client.add(query, keyspace).subscribe(a -> {
            });
        }
    }
    assertThat(graknClient.queriesExecuted(), containsInAnyOrder(queriesToExecute.toArray()));
}
Also used : InsertQuery(ai.grakn.graql.InsertQuery) Query(ai.grakn.graql.Query) Keyspace(ai.grakn.Keyspace) BatchExecutorClient(ai.grakn.client.BatchExecutorClient) Test(org.junit.Test)

Example 15 with Query

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

the class RemoteGraknTxTest method whenExecutingAQueryWithABooleanResult_GetABoolBack.

@Test
public void whenExecutingAQueryWithABooleanResult_GetABoolBack() {
    Query<?> query = match(var("x").isa("person")).aggregate(ask());
    String queryString = query.toString();
    TxResponse response = TxResponse.newBuilder().setQueryResult(QueryResult.newBuilder().setOtherResult("true")).build();
    server.setResponseSequence(GrpcUtil.execQueryRequest(query), response);
    try (GraknTx tx = RemoteGraknTx.create(session, GrpcUtil.openRequest(KEYSPACE, GraknTxType.WRITE))) {
        // The open request
        verify(server.requests()).onNext(any());
        assertTrue(tx.graql().<Query<Boolean>>parse(queryString).execute());
    }
}
Also used : GraknTx(ai.grakn.GraknTx) DefineQuery(ai.grakn.graql.DefineQuery) GetQuery(ai.grakn.graql.GetQuery) Query(ai.grakn.graql.Query) TxResponse(ai.grakn.rpc.generated.GrpcGrakn.TxResponse) Test(org.junit.Test)

Aggregations

Query (ai.grakn.graql.Query)21 Test (org.junit.Test)15 GetQuery (ai.grakn.graql.GetQuery)13 InsertQuery (ai.grakn.graql.InsertQuery)13 DefineQuery (ai.grakn.graql.DefineQuery)12 AggregateQuery (ai.grakn.graql.AggregateQuery)11 DeleteQuery (ai.grakn.graql.DeleteQuery)11 UndefineQuery (ai.grakn.graql.UndefineQuery)11 ConnectedComponentQuery (ai.grakn.graql.analytics.ConnectedComponentQuery)11 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)11 Keyspace (ai.grakn.Keyspace)4 BatchExecutorClient (ai.grakn.client.BatchExecutorClient)3 SimpleURI (ai.grakn.util.SimpleURI)2 List (java.util.List)2 Optional (java.util.Optional)2 Collectors (java.util.stream.Collectors)2 Logger (org.slf4j.Logger)2 LoggerFactory (org.slf4j.LoggerFactory)2 API (ai.grakn.API)1 GraknTx (ai.grakn.GraknTx)1