Search in sources :

Example 96 with Match

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

the class GraqlPrinterTest method testRelationOutput.

@Test
public void testRelationOutput() {
    Printer printer = Printers.graql(true);
    Match match = rule.tx().graql().match(var("r").isa("has-cast").rel(var().has("name", "Al Pacino")).rel(var().has("name", "Michael Corleone")).rel(var().has("title", "Godfather")));
    String relationString = printer.graqlString(match.get("r").iterator().next());
    assertThat(relationString, containsString("has-cast"));
    assertThat(relationString, containsString("actor"));
    assertThat(relationString, containsString("production-with-cast"));
    assertThat(relationString, containsString("character-being-played"));
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 97 with Match

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

the class GraqlPrinterTest method whenGettingOutputForResource_IncludesValueOfResource.

@Test
public void whenGettingOutputForResource_IncludesValueOfResource() {
    Printer printer = Printers.graql(false);
    Match match = rule.tx().graql().match(var("x").isa("title").val("Godfather"));
    String result = printer.graqlString(match.iterator().next());
    assertEquals("$x val \"Godfather\" isa title;", result.trim());
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 98 with Match

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

the class GraqlPrinterTest method whenGettingOutputForRelation_TheResultShouldHaveCommasBetweenRolePlayers.

@Test
public void whenGettingOutputForRelation_TheResultShouldHaveCommasBetweenRolePlayers() {
    Printer printer = Printers.graql(true);
    Match match = rule.tx().graql().match(var("r").isa("has-cluster"));
    Relationship relationship = match.get("r").iterator().next().asRelationship();
    long numRolePlayers = relationship.rolePlayers().count();
    long numCommas = numRolePlayers - 1;
    String relationString = printer.graqlString(relationship);
    assertEquals(relationString + " should have " + numCommas + " commas separating role-players", numCommas, StringUtils.countMatches(relationString, ","));
}
Also used : Relationship(ai.grakn.concept.Relationship) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Printer(ai.grakn.graql.Printer) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 99 with Match

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

the class QueryBuilderTest method whenExecutingAMatchWithoutAGraph_Throw.

@Test
public void whenExecutingAMatchWithoutAGraph_Throw() {
    Match match = match(x.isa("movie"));
    exception.expect(GraqlQueryException.class);
    exception.expectMessage("graph");
    // noinspection ResultOfMethodCallIgnored
    match.iterator();
}
Also used : Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 100 with Match

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

the class QueryBuilderTest method whenGraphIsProvidedAndQueryExecutedWithNonexistentType_Throw.

@Test
public void whenGraphIsProvidedAndQueryExecutedWithNonexistentType_Throw() {
    Match match = match(x.isa("not-a-thing"));
    exception.expect(GraqlQueryException.class);
    // noinspection ResultOfMethodCallIgnored
    match.withTx(movieKB.tx()).stream();
}
Also used : Match(ai.grakn.graql.Match) Test(org.junit.Test)

Aggregations

Match (ai.grakn.graql.Match)103 Test (org.junit.Test)98 Var (ai.grakn.graql.Var)8 ConceptId (ai.grakn.concept.ConceptId)5 Concept (ai.grakn.concept.Concept)4 SchemaConcept (ai.grakn.concept.SchemaConcept)4 PatternAdmin (ai.grakn.graql.admin.PatternAdmin)4 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)4 AttributeType (ai.grakn.concept.AttributeType)3 Label (ai.grakn.concept.Label)3 Relationship (ai.grakn.concept.Relationship)3 Printer (ai.grakn.graql.Printer)3 QueryBuilder (ai.grakn.graql.QueryBuilder)3 Answer (ai.grakn.graql.admin.Answer)3 MatchableConcept (ai.grakn.matcher.MatchableConcept)3 Matcher (org.hamcrest.Matcher)3 RelationshipType (ai.grakn.concept.RelationshipType)2 Role (ai.grakn.concept.Role)2 Thing (ai.grakn.concept.Thing)2 GraqlQueryException (ai.grakn.exception.GraqlQueryException)2