use of com.vaticle.typedb.core.pattern.variable.ThingVariable in project grakn by graknlabs.
the class AlphaEquivalenceTest method test_relation_with_duplicate_roleplayers_equivalent.
@Test
public void test_relation_with_duplicate_roleplayers_equivalent() {
ThingVariable r = parseVariables("r", "$r(friend: $p, friend: $p) isa friendship").asThing();
ThingVariable q = parseVariables("q", "$q(friend: $s, friend: $s) isa friendship").asThing();
testAlphaEquivalenceSymmetricReflexive(r, q, true);
AlphaEquivalence alphaEq = r.alphaEquals(q);
Map<String, String> varNameMap = alphaMapToStringMap(alphaEq.asValid());
assertEquals(varNameMap.get("$r"), "$q");
assertEquals(varNameMap.get("$p"), "$s");
assertEquals(varNameMap.get("$_friendship:friend"), "$_friendship:friend");
assertEquals(varNameMap.get("$_friendship:friend"), "$_friendship:friend");
assertEquals(varNameMap.get("$_friendship"), "$_friendship");
}
use of com.vaticle.typedb.core.pattern.variable.ThingVariable in project grakn by graknlabs.
the class AlphaEquivalenceTest method test_has_label_not_equivalent.
@Test
public void test_has_label_not_equivalent() {
ThingVariable p = parseVariables("p", "$p has age 30", "$p isa person").asThing();
ThingVariable q = parseVariables("q", "$q has years 30", "$q isa person").asThing();
testAlphaEquivalenceSymmetricReflexive(p, q, false);
}
use of com.vaticle.typedb.core.pattern.variable.ThingVariable in project grakn by graknlabs.
the class AlphaEquivalenceTest method test_relation_with_three_roles_equivalent.
@Test
public void test_relation_with_three_roles_equivalent() {
ThingVariable r = parseVariables("r", "$r(buyer: $p, seller: $c, produce: $u) isa transaction").asThing();
ThingVariable q = parseVariables("q", "$q(buyer: $s, seller: $t, produce: $v) isa transaction").asThing();
AlphaEquivalence alphaEq = r.alphaEquals(q);
Map<String, String> varNameMap = alphaMapToStringMap(alphaEq.asValid());
assertEquals(varNameMap.get("$r"), "$q");
assertEquals(varNameMap.get("$p"), "$s");
assertEquals(varNameMap.get("$c"), "$t");
assertEquals(varNameMap.get("$u"), "$v");
assertEquals(varNameMap.get("$_transaction:buyer"), "$_transaction:buyer");
assertEquals(varNameMap.get("$_transaction:seller"), "$_transaction:seller");
assertEquals(varNameMap.get("$_transaction:produce"), "$_transaction:produce");
assertEquals(varNameMap.get("$_transaction"), "$_transaction");
testAlphaEquivalenceSymmetricReflexive(r, q, true);
}
use of com.vaticle.typedb.core.pattern.variable.ThingVariable in project grakn by graknlabs.
the class AlphaEquivalenceTest method test_value_and_has_label_equivalent.
@Test
public void test_value_and_has_label_equivalent() {
ThingVariable p = parseVariables("p", "$p has age 30", "$p isa person").asThing();
ThingVariable q = parseVariables("q", "$q has age 30", "$q isa person").asThing();
AlphaEquivalence alphaEq = p.alphaEquals(q);
Map<String, String> varNameMap = alphaMapToStringMap(alphaEq.asValid());
assertEquals(varNameMap.get("$p"), "$q");
assertEquals(varNameMap.get("$_age"), "$_age");
assertEquals(varNameMap.get("$_person"), "$_person");
testAlphaEquivalenceSymmetricReflexive(p, q, true);
}
use of com.vaticle.typedb.core.pattern.variable.ThingVariable in project grakn by graknlabs.
the class AlphaEquivalenceTest method test_relation_with_duplicate_roles_equivalent.
@Test
public void test_relation_with_duplicate_roles_equivalent() {
ThingVariable r = parseVariables("r", "$r(sibling: $p, sibling: $c) isa siblingship", "$p isa person").asThing();
ThingVariable q = parseVariables("q", "$q(sibling: $s, sibling: $t) isa siblingship", "$s isa person").asThing();
testAlphaEquivalenceSymmetricReflexive(r, q, true);
AlphaEquivalence alphaEq = r.alphaEquals(q);
Map<String, String> varNameMap = alphaMapToStringMap(alphaEq.asValid());
assertEquals(varNameMap.get("$r"), "$q");
assertEquals(varNameMap.get("$p"), "$s");
assertEquals(varNameMap.get("$c"), "$t");
assertEquals(varNameMap.get("$_siblingship:sibling"), "$_siblingship:sibling");
assertEquals(varNameMap.get("$_siblingship:sibling"), "$_siblingship:sibling");
assertEquals(varNameMap.get("$_siblingship"), "$_siblingship");
}
Aggregations