public abstract class AtomicEquivalence extends com.google.common.base.Equivalence<Atomic>
Static class defining different equivalence comparisons for Atomics :
- Equality: two Atomics are equal if they are equal including all their corresponding variables.
- Alpha-equivalence: two Atomics are alpha-equivalent if they are equal up to the choice of free variables.
- Structural equivalence:
Two atomics are structurally equivalent if they are equal up to the choice of free variables and partial substitutions (id predicates IdPredicate).
Hence:
- any two IdPredicates are structurally equivalent
- structural equivalence check on queries is done by looking at Atoms. As a result:
* connected predicates are assessed together with atoms they are connected to
* dangling predicates are ignored
| Modifier and Type | Field and Description |
|---|---|
static AtomicEquivalence |
AlphaEquivalence |
static AtomicEquivalence |
Equality |
static AtomicEquivalence |
StructuralEquivalence |
| Constructor and Description |
|---|
AtomicEquivalence() |
| Modifier and Type | Method and Description |
|---|---|
static <B extends Atomic,S extends B> |
equivalence(Collection<S> a1,
Collection<S> a2,
com.google.common.base.Equivalence<B> equiv) |
static <B extends Atomic,S extends B> |
equivalenceHash(Collection<S> atoms,
com.google.common.base.Equivalence<B> equiv) |
static <B extends Atomic,S extends B> |
equivalenceHash(java.util.stream.Stream<S> atoms,
com.google.common.base.Equivalence<B> equiv) |
abstract String |
name() |
doEquivalent, doHash, equals, equivalent, equivalentTo, hash, identity, onResultOf, pairwise, test, wrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitand, negate, orpublic static final AtomicEquivalence Equality
public static final AtomicEquivalence AlphaEquivalence
public static final AtomicEquivalence StructuralEquivalence
public abstract String name()
public static <B extends Atomic,S extends B> boolean equivalence(Collection<S> a1, Collection<S> a2, com.google.common.base.Equivalence<B> equiv)
public static <B extends Atomic,S extends B> int equivalenceHash(java.util.stream.Stream<S> atoms, com.google.common.base.Equivalence<B> equiv)
public static <B extends Atomic,S extends B> int equivalenceHash(Collection<S> atoms, com.google.common.base.Equivalence<B> equiv)
Copyright © 2018 Grakn Labs Ltd. All rights reserved.