Search in sources :

Example 26 with Match

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

the class MatchTest method testKermitIsRelatedToSelf.

@Test
public void testKermitIsRelatedToSelf() {
    Match query = qb.match(var().rel(x).rel(y).isa("has-cast"), y.has("name", "Kermit The Frog"));
    assertThat(query, variable(x, (Matcher) hasItem(kermitTheFrog)));
}
Also used : Matcher(org.hamcrest.Matcher) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 27 with Match

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

the class MatchTest method testDistinctRoleplayers.

@Test
public void testDistinctRoleplayers() {
    Match query = qb.match(var().rel(x).rel(y).rel(z).isa("has-cast"));
    assertNotEquals(0, query.stream().count());
    // Make sure none of the resulting relationships have 3 role-players all the same
    query.forEach(result -> {
        Concept cx = result.get(x);
        Concept cy = result.get(y);
        Concept cz = result.get(z);
        assertThat(cx, not(allOf(is(cy), is(cz))));
    });
}
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 28 with Match

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

the class MatchTest method testValueQuery.

@Test
public void testValueQuery() {
    Var tgf = var("tgf");
    Match query = qb.match(tgf.val("Godfather"));
    assertThat(query, variable(tgf, contains(both(hasValue("Godfather")).and(hasType(title)))));
}
Also used : Var(ai.grakn.graql.Var) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 29 with Match

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

the class DeleteQueryTest method testDeleteAllRolePlayers.

@Test
public void testDeleteAllRolePlayers() {
    ConceptId id = kurtzCastRelation.get("a").findFirst().get().getId();
    Match relation = qb.match(var().id(id));
    assertExists(kurtz);
    assertExists(marlonBrando);
    assertExists(apocalypseNow);
    assertExists(relation);
    kurtz.delete(x).execute();
    assertNotExists(kurtz);
    assertExists(marlonBrando);
    assertExists(apocalypseNow);
    assertExists(relation);
    marlonBrando.delete(x).execute();
    assertNotExists(kurtz);
    assertNotExists(marlonBrando);
    assertExists(apocalypseNow);
    assertExists(relation);
    apocalypseNow.delete(x).execute();
    assertNotExists(kurtz);
    assertNotExists(marlonBrando);
    assertNotExists(apocalypseNow);
    assertNotExists(relation);
}
Also used : ConceptId(ai.grakn.concept.ConceptId) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Example 30 with Match

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

the class MatchTest method whenExecutingContainsPredicateWithVariable_ReturnExpectedResults.

@Test
public void whenExecutingContainsPredicateWithVariable_ReturnExpectedResults() {
    Match query = qb.match(x.val("Sarah Jessica Parker").val(contains(z)), y.has("name", z));
    assertThat(query, variable(y, containsInAnyOrder(sarah, sarahJessicaParker)));
}
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