use of ai.grakn.graql.Match in project grakn by graknlabs.
the class MatchTest method testVariableAsRoleplayer.
@Test
public void testVariableAsRoleplayer() {
Match query = qb.match(var().rel(x.isa("movie")).rel("genre-of-production", var().has("name", "crime")));
assertThat(query, variable(x, containsInAnyOrder(godfather, heat)));
}
use of ai.grakn.graql.Match in project grakn by graknlabs.
the class MatchTest method testVariablesEverywhere.
@Test
public void testVariablesEverywhere() {
Match query = qb.match(var().rel(label("production-with-genre"), x.isa(y.sub(label("production")))).rel(var().has("name", "crime")));
assertThat(query, results(containsInAnyOrder(allOf(hasEntry(is(x), godfather), hasEntry(is(y), production)), allOf(hasEntry(is(x), godfather), hasEntry(is(y), movie)), allOf(hasEntry(is(x), heat), hasEntry(is(y), production)), allOf(hasEntry(is(x), heat), hasEntry(is(y), movie)))));
}
use of ai.grakn.graql.Match in project grakn by graknlabs.
the class MatchBenchmark method match.
@Benchmark
public void match() {
Match match = graph.graql().match(var("x").isa(BENCHMARK_ENTITY_TYPE).has(BENCHMARK_ATTRIBUTE_TYPE, "0"));
GetQuery answers = match.get();
Optional<Answer> first = answers.stream().findFirst();
first.get();
}
use of ai.grakn.graql.Match in project grakn by graknlabs.
the class QueryVisitor method visitGetQuery.
@Override
public GetQuery visitGetQuery(GraqlParser.GetQueryContext ctx) {
Set<Var> vars = ctx.VARIABLE().stream().map(this::getVariable).collect(toSet());
Match match = visitMatchPart(ctx.matchPart());
if (vars.isEmpty()) {
return match.get();
} else {
return match.get(vars);
}
}
use of ai.grakn.graql.Match in project grakn by graknlabs.
the class QueryVisitor method visitMatchOrderBy.
@Override
public Match visitMatchOrderBy(GraqlParser.MatchOrderByContext ctx) {
Match match = visitMatchPart(ctx.matchPart());
// decide which ordering method to use
Var var = getVariable(ctx.VARIABLE());
if (ctx.order() != null) {
return match.orderBy(var, visitOrder(ctx.order()));
} else {
return match.orderBy(var);
}
}
Aggregations