Search in sources :

Example 66 with Match

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

the class MatchTest method testPredicateQuery1.

@Test
public void testPredicateQuery1() {
    Match query = qb.match(x.isa("movie").has("title", t), or(t.val(eq("Apocalypse Now")), and(t.val(lt("Juno")), t.val(gt("Godfather"))), t.val(eq("Spy"))), t.val(neq("Apocalypse Now")));
    assertThat(query, variable(x, containsInAnyOrder(hocusPocus, heat, spy)));
}
Also used : Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 67 with Match

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

the class MatchTest method whenQueryingForTitlesWithEqualValues_ResultsAreCorrect.

@Test
public void whenQueryingForTitlesWithEqualValues_ResultsAreCorrect() {
    // This is an edge-case which fooled the resource-index optimiser
    Match query = qb.match(x.isa("title").val(y));
    assertThat(query, iterableWithSize(greaterThan(3)));
    query.forEach(result -> {
        Concept cx = result.get(x);
        Concept cy = result.get(y);
        assertEquals(cx.asAttribute().getValue(), cy.asAttribute().getValue());
    });
}
Also used : Concept(ai.grakn.concept.Concept) MatchableConcept(ai.grakn.matcher.MatchableConcept) SchemaConcept(ai.grakn.concept.SchemaConcept) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 68 with Match

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

the class MatchTest method testMatchDataType.

@Test
public void testMatchDataType() {
    Match query = qb.match(x.datatype(AttributeType.DataType.DOUBLE));
    assertThat(query, variable(x, contains(tmdbVoteAverage)));
    query = qb.match(x.datatype(AttributeType.DataType.LONG));
    assertThat(query, variable(x, containsInAnyOrder(tmdbVoteCount, runtime)));
    query = qb.match(x.datatype(AttributeType.DataType.BOOLEAN));
    assertThat(query, variable(x, empty()));
    query = qb.match(x.datatype(AttributeType.DataType.STRING));
    assertThat(query, variable(x, containsInAnyOrder(title, gender, realName, name, provenance)));
    query = qb.match(x.datatype(AttributeType.DataType.DATE));
    assertThat(query, variable(x, contains(releaseDate)));
}
Also used : Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 69 with Match

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

the class MatchTest method testProductionQuery.

@Test
public void testProductionQuery() {
    Match query = qb.match(x.isa("production"));
    assertThat(query, variable(x, containsAllMovies));
}
Also used : Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 70 with Match

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

the class MatchTest method whenQueryingForSameRoleTwice_ReturnResultsWithMultipleRolePlayers.

@Test
public void whenQueryingForSameRoleTwice_ReturnResultsWithMultipleRolePlayers() {
    Match query = qb.match(var().rel("production-with-cluster", x).rel("production-with-cluster", y).rel(z), z.has("name", "1"));
    assertThat(query, results(containsInAnyOrder(allOf(hasEntry(is(x), hocusPocus), hasEntry(is(y), theMuppets)), allOf(hasEntry(is(x), theMuppets), hasEntry(is(y), hocusPocus)))));
}
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