Search in sources :

Example 21 with Query

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

the class Migrator method load.

/**
 * Migrate data constrained by this migrator using a loader configured
 * by the provided parameters.
 *
 * @param template Template used to extract the data
 * @param data Data being migrated
 */
public void load(String template, Stream<Map<String, Object>> data) {
    GraknClient graknClient = GraknClient.of(uri);
    AtomicInteger queriesExecuted = new AtomicInteger(0);
    try (BatchExecutorClient loader = BatchExecutorClient.newBuilder().taskClient(graknClient).maxRetries(retries).maxDelay(maxDelayMs).metricRegistry(metricRegistry).build()) {
        checkKeyspace(graknClient);
        Stream<Query> queryStream = data.flatMap(d -> template(template, d, failFast));
        if (maxLines > -1) {
            queryStream = queryStream.limit(maxLines);
        }
        queryStream.forEach(q -> {
            LOG.trace("Adding query {}", q);
            totalMeter.mark();
            // We add get a hot observable. It starts immediately
            Observable<QueryResponse> observable = loader.add(q, keyspace, failFast);
            subscribeToReportOutcome(failFast, observable, queriesExecuted);
        });
    }
    System.out.println("Loaded " + queriesExecuted + " statements");
}
Also used : Query(ai.grakn.graql.Query) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) GraknClient(ai.grakn.client.GraknClient) QueryResponse(ai.grakn.client.QueryResponse) BatchExecutorClient(ai.grakn.client.BatchExecutorClient)

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