Search in sources :

Example 11 with FunctionalIterator

use of com.vaticle.typedb.core.common.iterator.FunctionalIterator in project grakn by graknlabs.

the class UnifyRelationConcludableTest method relation_more_players_than_rule_relation_fails_unify.

@Test
public void relation_more_players_than_rule_relation_fails_unify() {
    String relationQuery = "{ (part-time-employee: $r, part-time-employer: $p, restriction: $q) isa part-time-employment; }";
    Set<Concludable> concludables = Concludable.create(resolvedConjunction(relationQuery, logicMgr));
    Concludable.Relation queryConcludable = concludables.iterator().next().asRelation();
    Rule rule = createRule("one-employee-one-employer", "{ $x isa person; $y isa organisation; " + "$employee type employment:employee; $employer type employment:employer; }", "($employee: $x, $employer: $y) isa employment", logicMgr);
    FunctionalIterator<Unifier> unifier = queryConcludable.unify(rule.conclusion(), conceptMgr);
    Set<Map<String, Set<String>>> result = unifier.map(u -> getStringMapping(u.mapping())).toSet();
    Set<Map<String, Set<String>>> expected = Collections.emptySet();
    assertEquals(expected, result);
}
Also used : Variable(com.vaticle.typedb.core.traversal.common.Identifier.Variable) MB(com.vaticle.typedb.core.common.collection.Bytes.MB) RelationType(com.vaticle.typedb.core.concept.type.RelationType) Util.getStringMapping(com.vaticle.typedb.core.logic.resolvable.Util.getStringMapping) Arguments(com.vaticle.typedb.core.common.parameters.Arguments) LogicManager(com.vaticle.typedb.core.logic.LogicManager) ThingType(com.vaticle.typedb.core.concept.type.ThingType) After(org.junit.After) Map(java.util.Map) Collections.list(com.vaticle.typedb.common.collection.Collections.list) Thing(com.vaticle.typedb.core.concept.thing.Thing) Path(java.nio.file.Path) TypeQL(com.vaticle.typeql.lang.TypeQL) AfterClass(org.junit.AfterClass) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator) CoreDatabaseManager(com.vaticle.typedb.core.database.CoreDatabaseManager) Options(com.vaticle.typedb.core.common.parameters.Options) Set(java.util.Set) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) List(java.util.List) Assert.assertFalse(org.junit.Assert.assertFalse) TypeDBException(com.vaticle.typedb.core.common.exception.TypeDBException) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Collections.map(com.vaticle.typedb.common.collection.Collections.map) ConceptManager(com.vaticle.typedb.core.concept.ConceptManager) ILLEGAL_STATE(com.vaticle.typedb.core.common.exception.ErrorMessage.Internal.ILLEGAL_STATE) Util.resolvedConjunction(com.vaticle.typedb.core.logic.resolvable.Util.resolvedConjunction) BeforeClass(org.junit.BeforeClass) Collections.set(com.vaticle.typedb.common.collection.Collections.set) HashMap(java.util.HashMap) Concept(com.vaticle.typedb.core.concept.Concept) HashSet(java.util.HashSet) Lists(com.google.common.collect.Lists) Rule(com.vaticle.typedb.core.logic.Rule) Collections.pair(com.vaticle.typedb.common.collection.Collections.pair) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Label(com.vaticle.typedb.core.common.parameters.Label) Before(org.junit.Before) Conjunction(com.vaticle.typedb.core.pattern.Conjunction) Iterator(java.util.Iterator) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) RoleType(com.vaticle.typedb.core.concept.type.RoleType) CoreSession(com.vaticle.typedb.core.database.CoreSession) Relation(com.vaticle.typedb.core.concept.thing.Relation) Paths(java.nio.file.Paths) Iterators.iterate(com.vaticle.typedb.core.common.iterator.Iterators.iterate) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) Type(com.vaticle.typedb.core.concept.type.Type) Util(com.vaticle.typedb.core.test.integration.util.Util) Rule(com.vaticle.typedb.core.logic.Rule) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Map(java.util.Map) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 12 with FunctionalIterator

use of com.vaticle.typedb.core.common.iterator.FunctionalIterator in project grakn by graknlabs.

the class UnifyRelationConcludableTest method relation_variable_role_unifies_many_to_many_rule_relation_roles.

// [multiple VARIABLE ROLE, many2many]
@Test
public void relation_variable_role_unifies_many_to_many_rule_relation_roles() {
    String conjunction = "{ ($role1: $p, $role1: $q, $role2: $q) isa employment; }";
    Set<Concludable> concludables = Concludable.create(resolvedConjunction(conjunction, logicMgr));
    Concludable.Relation queryConcludable = concludables.iterator().next().asRelation();
    Rule rule = createRule("two-people-are-employed-one-is-also-the-employer", "{ $x isa person; $y isa person; }", "(employee: $x, employer: $x, employee: $y) isa employment", logicMgr);
    FunctionalIterator<Unifier> unifier = queryConcludable.unify(rule.conclusion(), conceptMgr);
    Set<Map<String, Set<String>>> result = unifier.map(u -> getStringMapping(u.mapping())).toSet();
    Set<Map<String, Set<String>>> expected = set(new HashMap<String, Set<String>>() {

        {
            put("$p", set("$x"));
            put("$q", set("$x", "$y"));
            put("$role1", set("$_employment:employee"));
            put("$role2", set("$_employment:employer"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$x"));
            put("$q", set("$x", "$y"));
            put("$role1", set("$_employment:employee", "$_employment:employer"));
            put("$role2", set("$_employment:employee"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$y"));
            put("$q", set("$x"));
            put("$role1", set("$_employment:employee", "$_employment:employer"));
            put("$role2", set("$_employment:employee"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$y"));
            put("$q", set("$x"));
            put("$role1", set("$_employment:employee"));
            put("$role2", set("$_employment:employer"));
            put("$_0", set("$_0"));
        }
    });
    assertEquals(expected, result);
}
Also used : Variable(com.vaticle.typedb.core.traversal.common.Identifier.Variable) MB(com.vaticle.typedb.core.common.collection.Bytes.MB) RelationType(com.vaticle.typedb.core.concept.type.RelationType) Util.getStringMapping(com.vaticle.typedb.core.logic.resolvable.Util.getStringMapping) Arguments(com.vaticle.typedb.core.common.parameters.Arguments) LogicManager(com.vaticle.typedb.core.logic.LogicManager) ThingType(com.vaticle.typedb.core.concept.type.ThingType) After(org.junit.After) Map(java.util.Map) Collections.list(com.vaticle.typedb.common.collection.Collections.list) Thing(com.vaticle.typedb.core.concept.thing.Thing) Path(java.nio.file.Path) TypeQL(com.vaticle.typeql.lang.TypeQL) AfterClass(org.junit.AfterClass) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator) CoreDatabaseManager(com.vaticle.typedb.core.database.CoreDatabaseManager) Options(com.vaticle.typedb.core.common.parameters.Options) Set(java.util.Set) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) List(java.util.List) Assert.assertFalse(org.junit.Assert.assertFalse) TypeDBException(com.vaticle.typedb.core.common.exception.TypeDBException) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Collections.map(com.vaticle.typedb.common.collection.Collections.map) ConceptManager(com.vaticle.typedb.core.concept.ConceptManager) ILLEGAL_STATE(com.vaticle.typedb.core.common.exception.ErrorMessage.Internal.ILLEGAL_STATE) Util.resolvedConjunction(com.vaticle.typedb.core.logic.resolvable.Util.resolvedConjunction) BeforeClass(org.junit.BeforeClass) Collections.set(com.vaticle.typedb.common.collection.Collections.set) HashMap(java.util.HashMap) Concept(com.vaticle.typedb.core.concept.Concept) HashSet(java.util.HashSet) Lists(com.google.common.collect.Lists) Rule(com.vaticle.typedb.core.logic.Rule) Collections.pair(com.vaticle.typedb.common.collection.Collections.pair) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Label(com.vaticle.typedb.core.common.parameters.Label) Before(org.junit.Before) Conjunction(com.vaticle.typedb.core.pattern.Conjunction) Iterator(java.util.Iterator) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) RoleType(com.vaticle.typedb.core.concept.type.RoleType) CoreSession(com.vaticle.typedb.core.database.CoreSession) Relation(com.vaticle.typedb.core.concept.thing.Relation) Paths(java.nio.file.Paths) Iterators.iterate(com.vaticle.typedb.core.common.iterator.Iterators.iterate) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) Type(com.vaticle.typedb.core.concept.type.Type) Util(com.vaticle.typedb.core.test.integration.util.Util) Set(java.util.Set) HashSet(java.util.HashSet) Rule(com.vaticle.typedb.core.logic.Rule) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Map(java.util.Map) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 13 with FunctionalIterator

use of com.vaticle.typedb.core.common.iterator.FunctionalIterator in project grakn by graknlabs.

the class UnifyRelationConcludableTest method relation_variable_multiple_identical_unifiers.

// [REFLEXIVE rule, Fewer roleplayers in parent]
@Test
public void relation_variable_multiple_identical_unifiers() {
    String conjunction = "{ (employee: $p) isa employment; }";
    Set<Concludable> concludables = Concludable.create(resolvedConjunction(conjunction, logicMgr));
    Concludable.Relation queryConcludable = concludables.iterator().next().asRelation();
    Rule rule = createRule("the-same-person-is-employed-twice", "{ $x isa person; $y isa person; $employment type employment; $employee type employment:employee; }", "($employee: $x, $employee: $x) isa $employment", logicMgr);
    FunctionalIterator<Unifier> unifier = queryConcludable.unify(rule.conclusion(), conceptMgr);
    Set<Map<String, Set<String>>> result = unifier.map(u -> getStringMapping(u.mapping())).toSet();
    Set<Map<String, Set<String>>> expected = set(new HashMap<String, Set<String>>() {

        {
            put("$p", set("$x"));
            put("$_0", set("$_0"));
        }
    });
    assertEquals(expected, result);
}
Also used : Variable(com.vaticle.typedb.core.traversal.common.Identifier.Variable) MB(com.vaticle.typedb.core.common.collection.Bytes.MB) RelationType(com.vaticle.typedb.core.concept.type.RelationType) Util.getStringMapping(com.vaticle.typedb.core.logic.resolvable.Util.getStringMapping) Arguments(com.vaticle.typedb.core.common.parameters.Arguments) LogicManager(com.vaticle.typedb.core.logic.LogicManager) ThingType(com.vaticle.typedb.core.concept.type.ThingType) After(org.junit.After) Map(java.util.Map) Collections.list(com.vaticle.typedb.common.collection.Collections.list) Thing(com.vaticle.typedb.core.concept.thing.Thing) Path(java.nio.file.Path) TypeQL(com.vaticle.typeql.lang.TypeQL) AfterClass(org.junit.AfterClass) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator) CoreDatabaseManager(com.vaticle.typedb.core.database.CoreDatabaseManager) Options(com.vaticle.typedb.core.common.parameters.Options) Set(java.util.Set) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) List(java.util.List) Assert.assertFalse(org.junit.Assert.assertFalse) TypeDBException(com.vaticle.typedb.core.common.exception.TypeDBException) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Collections.map(com.vaticle.typedb.common.collection.Collections.map) ConceptManager(com.vaticle.typedb.core.concept.ConceptManager) ILLEGAL_STATE(com.vaticle.typedb.core.common.exception.ErrorMessage.Internal.ILLEGAL_STATE) Util.resolvedConjunction(com.vaticle.typedb.core.logic.resolvable.Util.resolvedConjunction) BeforeClass(org.junit.BeforeClass) Collections.set(com.vaticle.typedb.common.collection.Collections.set) HashMap(java.util.HashMap) Concept(com.vaticle.typedb.core.concept.Concept) HashSet(java.util.HashSet) Lists(com.google.common.collect.Lists) Rule(com.vaticle.typedb.core.logic.Rule) Collections.pair(com.vaticle.typedb.common.collection.Collections.pair) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Label(com.vaticle.typedb.core.common.parameters.Label) Before(org.junit.Before) Conjunction(com.vaticle.typedb.core.pattern.Conjunction) Iterator(java.util.Iterator) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) RoleType(com.vaticle.typedb.core.concept.type.RoleType) CoreSession(com.vaticle.typedb.core.database.CoreSession) Relation(com.vaticle.typedb.core.concept.thing.Relation) Paths(java.nio.file.Paths) Iterators.iterate(com.vaticle.typedb.core.common.iterator.Iterators.iterate) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) Type(com.vaticle.typedb.core.concept.type.Type) Util(com.vaticle.typedb.core.test.integration.util.Util) Set(java.util.Set) HashSet(java.util.HashSet) Rule(com.vaticle.typedb.core.logic.Rule) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Map(java.util.Map) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 14 with FunctionalIterator

use of com.vaticle.typedb.core.common.iterator.FunctionalIterator in project grakn by graknlabs.

the class UnifyRelationConcludableTest method unify_relation_many_to_many.

// [many2many]
@Test
public void unify_relation_many_to_many() {
    String conjunction = "{ (employee: $p, employee: $q) isa employment; }";
    Set<Concludable> concludables = Concludable.create(resolvedConjunction(conjunction, logicMgr));
    Concludable.Relation queryConcludable = concludables.iterator().next().asRelation();
    Rule rule = createRule("three-people-are-employed", "{ $x isa person; $y isa person; $z isa person; }", "(employee: $x, employee: $y, employee: $z) isa employment", logicMgr);
    FunctionalIterator<Unifier> unifier = queryConcludable.unify(rule.conclusion(), conceptMgr);
    Set<Map<String, Set<String>>> result = unifier.map(u -> getStringMapping(u.mapping())).toSet();
    Set<Map<String, Set<String>>> expected = set(new HashMap<String, Set<String>>() {

        {
            put("$p", set("$x"));
            put("$q", set("$y"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$x"));
            put("$q", set("$z"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$y"));
            put("$q", set("$x"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$y"));
            put("$q", set("$z"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$z"));
            put("$q", set("$x"));
            put("$_0", set("$_0"));
        }
    }, new HashMap<String, Set<String>>() {

        {
            put("$p", set("$z"));
            put("$q", set("$y"));
            put("$_0", set("$_0"));
        }
    });
    assertEquals(expected, result);
}
Also used : Variable(com.vaticle.typedb.core.traversal.common.Identifier.Variable) MB(com.vaticle.typedb.core.common.collection.Bytes.MB) RelationType(com.vaticle.typedb.core.concept.type.RelationType) Util.getStringMapping(com.vaticle.typedb.core.logic.resolvable.Util.getStringMapping) Arguments(com.vaticle.typedb.core.common.parameters.Arguments) LogicManager(com.vaticle.typedb.core.logic.LogicManager) ThingType(com.vaticle.typedb.core.concept.type.ThingType) After(org.junit.After) Map(java.util.Map) Collections.list(com.vaticle.typedb.common.collection.Collections.list) Thing(com.vaticle.typedb.core.concept.thing.Thing) Path(java.nio.file.Path) TypeQL(com.vaticle.typeql.lang.TypeQL) AfterClass(org.junit.AfterClass) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator) CoreDatabaseManager(com.vaticle.typedb.core.database.CoreDatabaseManager) Options(com.vaticle.typedb.core.common.parameters.Options) Set(java.util.Set) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) List(java.util.List) Assert.assertFalse(org.junit.Assert.assertFalse) TypeDBException(com.vaticle.typedb.core.common.exception.TypeDBException) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Collections.map(com.vaticle.typedb.common.collection.Collections.map) ConceptManager(com.vaticle.typedb.core.concept.ConceptManager) ILLEGAL_STATE(com.vaticle.typedb.core.common.exception.ErrorMessage.Internal.ILLEGAL_STATE) Util.resolvedConjunction(com.vaticle.typedb.core.logic.resolvable.Util.resolvedConjunction) BeforeClass(org.junit.BeforeClass) Collections.set(com.vaticle.typedb.common.collection.Collections.set) HashMap(java.util.HashMap) Concept(com.vaticle.typedb.core.concept.Concept) HashSet(java.util.HashSet) Lists(com.google.common.collect.Lists) Rule(com.vaticle.typedb.core.logic.Rule) Collections.pair(com.vaticle.typedb.common.collection.Collections.pair) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Label(com.vaticle.typedb.core.common.parameters.Label) Before(org.junit.Before) Conjunction(com.vaticle.typedb.core.pattern.Conjunction) Iterator(java.util.Iterator) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) RoleType(com.vaticle.typedb.core.concept.type.RoleType) CoreSession(com.vaticle.typedb.core.database.CoreSession) Relation(com.vaticle.typedb.core.concept.thing.Relation) Paths(java.nio.file.Paths) Iterators.iterate(com.vaticle.typedb.core.common.iterator.Iterators.iterate) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) Type(com.vaticle.typedb.core.concept.type.Type) Util(com.vaticle.typedb.core.test.integration.util.Util) Set(java.util.Set) HashSet(java.util.HashSet) Rule(com.vaticle.typedb.core.logic.Rule) Util.createRule(com.vaticle.typedb.core.logic.resolvable.Util.createRule) Map(java.util.Map) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 15 with FunctionalIterator

use of com.vaticle.typedb.core.common.iterator.FunctionalIterator in project grakn by graknlabs.

the class Unifier method cartesianUnrestrictedNamedTypes.

private static FunctionalIterator<ConceptMap> cartesianUnrestrictedNamedTypes(Map<Retrievable, Concept> initialConcepts, Requirements.Instance instanceRequirements) {
    Map<Retrievable, Concept> fixedConcepts = new HashMap<>();
    List<Variable.Name> namedTypeNames = new ArrayList<>();
    List<FunctionalIterator<Type>> namedTypeSupers = new ArrayList<>();
    initialConcepts.forEach((id, concept) -> {
        if (id.isName() && concept.isType() && !instanceRequirements.hasRestriction(id)) {
            namedTypeNames.add(id.asName());
            namedTypeSupers.add(concept.asType().getSupertypes().map(t -> t));
        } else
            fixedConcepts.put(id, concept);
    });
    if (namedTypeNames.isEmpty()) {
        return Iterators.single(new ConceptMap(fixedConcepts));
    } else {
        return Iterators.cartesian(namedTypeSupers).map(permutation -> {
            Map<Retrievable, Concept> concepts = new HashMap<>(fixedConcepts);
            for (int i = 0; i < permutation.size(); i++) {
                concepts.put(namedTypeNames.get(i), permutation.get(i));
            }
            return new ConceptMap(concepts);
        });
    }
}
Also used : Concept(com.vaticle.typedb.core.concept.Concept) Pair(com.vaticle.typedb.common.collection.Pair) Variable(com.vaticle.typedb.core.traversal.common.Identifier.Variable) Collections.set(com.vaticle.typedb.common.collection.Collections.set) Identifier(com.vaticle.typedb.core.traversal.common.Identifier) HashMap(java.util.HashMap) Function(java.util.function.Function) ArrayList(java.util.ArrayList) Concept(com.vaticle.typedb.core.concept.Concept) HashSet(java.util.HashSet) REVERSE_UNIFICATION_MISSING_CONCEPT(com.vaticle.typedb.core.common.exception.ErrorMessage.Reasoner.REVERSE_UNIFICATION_MISSING_CONCEPT) ThingType(com.vaticle.typedb.core.concept.type.ThingType) Map(java.util.Map) Label(com.vaticle.typedb.core.common.parameters.Label) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator) Set(java.util.Set) Iterators(com.vaticle.typedb.core.common.iterator.Iterators) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) List(java.util.List) Retrievable(com.vaticle.typedb.core.traversal.common.Identifier.Variable.Retrievable) Attribute(com.vaticle.typedb.core.concept.thing.Attribute) Optional(java.util.Optional) TypeDBException(com.vaticle.typedb.core.common.exception.TypeDBException) Collections(java.util.Collections) Type(com.vaticle.typedb.core.concept.type.Type) Retrievable(com.vaticle.typedb.core.traversal.common.Identifier.Variable.Retrievable) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) FunctionalIterator(com.vaticle.typedb.core.common.iterator.FunctionalIterator)

Aggregations

FunctionalIterator (com.vaticle.typedb.core.common.iterator.FunctionalIterator)15 TypeDBException (com.vaticle.typedb.core.common.exception.TypeDBException)14 ThingType (com.vaticle.typedb.core.concept.type.ThingType)14 Type (com.vaticle.typedb.core.concept.type.Type)14 Collections (java.util.Collections)14 HashMap (java.util.HashMap)14 List (java.util.List)14 Collections.set (com.vaticle.typedb.common.collection.Collections.set)13 Label (com.vaticle.typedb.core.common.parameters.Label)13 Concept (com.vaticle.typedb.core.concept.Concept)13 ConceptMap (com.vaticle.typedb.core.concept.answer.ConceptMap)13 AttributeType (com.vaticle.typedb.core.concept.type.AttributeType)13 RoleType (com.vaticle.typedb.core.concept.type.RoleType)13 Conjunction (com.vaticle.typedb.core.pattern.Conjunction)13 Variable (com.vaticle.typedb.core.traversal.common.Identifier.Variable)13 Lists (com.google.common.collect.Lists)12 Collections.list (com.vaticle.typedb.common.collection.Collections.list)12 Collections.map (com.vaticle.typedb.common.collection.Collections.map)12 Collections.pair (com.vaticle.typedb.common.collection.Collections.pair)12 MB (com.vaticle.typedb.core.common.collection.Bytes.MB)12