Search in sources :

Example 1 with Printer

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

the class GraqlPrinterTest method whenPrintingRole_ShowLabel.

@Test
public void whenPrintingRole_ShowLabel() {
    Printer printer = Printers.graql(true);
    Role role = rule.tx().admin().getMetaRole();
    String roleString = printer.graqlString(role);
    assertThat(roleString, containsString("role"));
}
Also used : Role(ai.grakn.concept.Role) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Test(org.junit.Test)

Example 2 with Printer

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

the class GraqlPrinterTest method testEmptyResult.

@Test
public void testEmptyResult() {
    Printer printer = Printers.graql(true);
    Answer emptyResult = new QueryAnswer();
    assertEquals("{}", printer.graqlString(emptyResult));
}
Also used : Answer(ai.grakn.graql.admin.Answer) QueryAnswer(ai.grakn.graql.internal.query.QueryAnswer) QueryAnswer(ai.grakn.graql.internal.query.QueryAnswer) Printer(ai.grakn.graql.Printer) Test(org.junit.Test)

Example 3 with Printer

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

the class GraqlPrinterTest method testType.

@Test
public void testType() {
    Printer printer = Printers.graql(true);
    Type production = rule.tx().getEntityType("production");
    String productionString = printer.graqlString(production);
    assertThat(productionString, containsString("label"));
    assertThat(productionString, containsString("production"));
    assertThat(productionString, containsString("sub"));
    assertThat(productionString, containsString("entity"));
    assertThat(productionString, not(containsString("isa")));
    assertThat(productionString, not(containsString("entity-type")));
}
Also used : Type(ai.grakn.concept.Type) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Test(org.junit.Test)

Example 4 with Printer

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

the class GraqlPrinterTest method testEntityType.

@Test
public void testEntityType() {
    Printer printer = Printers.graql(true);
    Type entity = rule.tx().admin().getMetaEntityType();
    String entityString = printer.graqlString(entity);
    assertThat(entityString, containsString("label"));
    assertThat(entityString, containsString("entity"));
    assertThat(entityString, containsString("sub"));
    assertThat(entityString, containsString(Schema.MetaSchema.THING.getLabel().getValue()));
    assertThat(entityString, not(containsString("isa")));
}
Also used : Type(ai.grakn.concept.Type) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Test(org.junit.Test)

Example 5 with Printer

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

the class GraqlController method executeQuery.

/**
 * Execute a query and return a response in the format specified by the request.
 *
 * @param tx          open transaction to current graph
 * @param queryString read query to be executed
 * @param acceptType  response format that the client will accept
 * @param multi       execute multiple statements
 * @param parser
 */
private String executeQuery(EmbeddedGraknTx<?> tx, String queryString, String acceptType, boolean multi, boolean skipSerialisation, QueryParser parser) throws JsonProcessingException {
    Printer printer = this.printer;
    if (APPLICATION_TEXT.equals(acceptType))
        printer = Printers.graql(false);
    String formatted;
    boolean commitQuery = true;
    if (multi) {
        Stream<Query<?>> query = parser.parseList(queryString);
        List<?> collectedResults = query.map(this::executeAndMonitor).collect(Collectors.toList());
        if (skipSerialisation) {
            formatted = mapper.writeValueAsString(new Object[collectedResults.size()]);
        } else {
            formatted = printer.graqlString(collectedResults);
        }
    } else {
        Query<?> query = parser.parseQuery(queryString);
        if (skipSerialisation) {
            formatted = "";
        } else {
            formatted = printer.graqlString(executeAndMonitor(query));
        }
        commitQuery = !query.isReadOnly();
    }
    if (commitQuery)
        tx.commitSubmitNoLogs().ifPresent(postProcessor::submit);
    return formatted;
}
Also used : GetQuery(ai.grakn.graql.GetQuery) Query(ai.grakn.graql.Query) Printer(ai.grakn.graql.Printer)

Aggregations

Printer (ai.grakn.graql.Printer)14 Test (org.junit.Test)13 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)11 Type (ai.grakn.concept.Type)4 Match (ai.grakn.graql.Match)3 Thing (ai.grakn.concept.Thing)2 Relationship (ai.grakn.concept.Relationship)1 Role (ai.grakn.concept.Role)1 SchemaConcept (ai.grakn.concept.SchemaConcept)1 GetQuery (ai.grakn.graql.GetQuery)1 Query (ai.grakn.graql.Query)1 Answer (ai.grakn.graql.admin.Answer)1 QueryAnswer (ai.grakn.graql.internal.query.QueryAnswer)1