Search in sources :

Example 1 with ROLE

use of ai.grakn.util.Schema.MetaSchema.ROLE in project grakn by graknlabs.

the class DefineQueryTest method testDefineReferenceByName.

@Test
public void testDefineReferenceByName() {
    String roleTypeLabel = HAS_OWNER.getLabel("title").getValue();
    qb.define(label("new-type").sub(Schema.MetaSchema.ENTITY.getLabel().getValue()), label("new-type").plays(roleTypeLabel)).execute();
    qb.insert(var("x").isa("new-type")).execute();
    Match typeQuery = qb.match(var("n").label("new-type"));
    assertEquals(1, typeQuery.stream().count());
    // We checked count ahead of time
    // noinspection OptionalGetWithoutIsPresent
    EntityType newType = typeQuery.get("n").findFirst().get().asEntityType();
    assertTrue(newType.plays().anyMatch(role -> role.equals(movies.tx().getRole(roleTypeLabel))));
    assertExists(qb, var().isa("new-type"));
}
Also used : EntityType(ai.grakn.concept.EntityType) VarPattern(ai.grakn.graql.VarPattern) BOOLEAN(ai.grakn.concept.AttributeType.DataType.BOOLEAN) KEY_VALUE(ai.grakn.util.Schema.ImplicitType.KEY_VALUE) Graql(ai.grakn.graql.Graql) RELATIONSHIP(ai.grakn.util.Schema.MetaSchema.RELATIONSHIP) EntityType(ai.grakn.concept.EntityType) GraqlTestUtil.assertExists(ai.grakn.util.GraqlTestUtil.assertExists) ENTITY(ai.grakn.util.Schema.MetaSchema.ENTITY) Assert.assertThat(org.junit.Assert.assertThat) Label(ai.grakn.concept.Label) RelationshipType(ai.grakn.concept.RelationshipType) After(org.junit.After) ConceptId(ai.grakn.concept.ConceptId) ClassRule(org.junit.ClassRule) QueryBuilder(ai.grakn.graql.QueryBuilder) Graql.var(ai.grakn.graql.Graql.var) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Match(ai.grakn.graql.Match) KEY(ai.grakn.util.Schema.ImplicitType.KEY) Matchers.containsInAnyOrder(org.hamcrest.Matchers.containsInAnyOrder) Var(ai.grakn.graql.Var) DefineQuery(ai.grakn.graql.DefineQuery) Matchers.is(org.hamcrest.Matchers.is) Matchers.anyOf(org.hamcrest.Matchers.anyOf) RULE(ai.grakn.util.Schema.MetaSchema.RULE) ValueProperty(ai.grakn.graql.internal.pattern.property.ValueProperty) HAS_VALUE(ai.grakn.util.Schema.ImplicitType.HAS_VALUE) Role(ai.grakn.concept.Role) Answer(ai.grakn.graql.admin.Answer) ROLE(ai.grakn.util.Schema.MetaSchema.ROLE) Matchers.arrayContainingInAnyOrder(org.hamcrest.Matchers.arrayContainingInAnyOrder) AttributeType(ai.grakn.concept.AttributeType) CoreMatchers.allOf(org.hamcrest.CoreMatchers.allOf) ExpectedException(org.junit.rules.ExpectedException) HAS_OWNER(ai.grakn.util.Schema.ImplicitType.HAS_OWNER) KEY_OWNER(ai.grakn.util.Schema.ImplicitType.KEY_OWNER) Before(org.junit.Before) ErrorMessage(ai.grakn.util.ErrorMessage) GraqlQueryException(ai.grakn.exception.GraqlQueryException) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Matchers.hasItemInArray(org.hamcrest.Matchers.hasItemInArray) Graql.label(ai.grakn.graql.Graql.label) MovieKB(ai.grakn.test.kbs.MovieKB) IsaProperty(ai.grakn.graql.internal.pattern.property.IsaProperty) Rule(org.junit.Rule) Graql.parse(ai.grakn.graql.Graql.parse) HasAttributeProperty(ai.grakn.graql.internal.pattern.property.HasAttributeProperty) GraqlTestUtil.assertNotExists(ai.grakn.util.GraqlTestUtil.assertNotExists) GraknException(ai.grakn.exception.GraknException) SampleKBContext(ai.grakn.test.rule.SampleKBContext) HAS(ai.grakn.util.Schema.ImplicitType.HAS) Schema(ai.grakn.util.Schema) Pattern(ai.grakn.graql.Pattern) Assert(org.junit.Assert) Assert.assertEquals(org.junit.Assert.assertEquals) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Match(ai.grakn.graql.Match) Test(org.junit.Test)

Aggregations

AttributeType (ai.grakn.concept.AttributeType)1 BOOLEAN (ai.grakn.concept.AttributeType.DataType.BOOLEAN)1 ConceptId (ai.grakn.concept.ConceptId)1 EntityType (ai.grakn.concept.EntityType)1 Label (ai.grakn.concept.Label)1 RelationshipType (ai.grakn.concept.RelationshipType)1 Role (ai.grakn.concept.Role)1 GraknException (ai.grakn.exception.GraknException)1 GraqlQueryException (ai.grakn.exception.GraqlQueryException)1 DefineQuery (ai.grakn.graql.DefineQuery)1 Graql (ai.grakn.graql.Graql)1 Graql.label (ai.grakn.graql.Graql.label)1 Graql.parse (ai.grakn.graql.Graql.parse)1 Graql.var (ai.grakn.graql.Graql.var)1 Match (ai.grakn.graql.Match)1 Pattern (ai.grakn.graql.Pattern)1 QueryBuilder (ai.grakn.graql.QueryBuilder)1 Var (ai.grakn.graql.Var)1 VarPattern (ai.grakn.graql.VarPattern)1 Answer (ai.grakn.graql.admin.Answer)1