public abstract class Atom extends AtomicBase
AtomicBase extension defining specialised functionalities.
| Modifier and Type | Field and Description |
|---|---|
protected Set<InferenceRule> |
applicableRules |
| Constructor and Description |
|---|
Atom() |
checkValid, createCombinedPattern, getCombinedPattern, getIdPredicate, getPredicate, getPredicates, getPredicates, getVarNames, isUserDefined, toString, txclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitalphaEquivalenceHashCode, copy, getParentQuery, getPattern, getVarName, isAlphaEquivalent, isCompatibleWith, isRelation, isResource, isSelectable, isStructurallyEquivalent, isType, structuralEquivalenceHashCode, validateOntologicallyprotected Set<InferenceRule> applicableRules
public RelationshipAtom toRelationshipAtom()
public boolean isAtom()
public boolean isRuleResolvable()
public boolean isRecursive()
public boolean isGround()
public boolean isBounded()
public boolean isDisconnected()
public boolean requiresSchema()
public abstract Class<? extends VarProperty> getVarPropertyClass()
public Set<String> validateAsRuleHead(Rule rule)
validateAsRuleHead in interface AtomicvalidateAsRuleHead in class AtomicBasepublic java.util.stream.Stream<VarProperty> getVarProperties()
public java.util.stream.Stream<IdPredicate> getPartialSubstitutions()
public Set<Var> getRoleExpansionVariables()
protected abstract boolean isRuleApplicableViaAtom(Atom headAtom)
public java.util.stream.Stream<Rule> getPotentialRules()
public java.util.stream.Stream<InferenceRule> getApplicableRules()
public boolean requiresMaterialisation()
public boolean requiresRoleExpansion()
public boolean requiresDecomposition()
public abstract SchemaConcept getSchemaConcept()
public abstract ConceptId getTypeId()
public abstract Var getPredicateVariable()
public abstract java.util.stream.Stream<Predicate> getInnerPredicates()
public <T extends Predicate> java.util.stream.Stream<T> getInnerPredicates(Class<T> type)
public java.util.stream.Stream<TypeAtom> getTypeConstraints()
public <T extends Atomic> java.util.stream.Stream<T> getNeighbours(Class<T> type)
public java.util.stream.Stream<Atomic> getNonSelectableConstraints()
public Atom inferTypes()
inferTypes in interface AtomicinferTypes in class AtomicBasepublic Atom inferTypes(ConceptMap sub)
inferTypes in class AtomicBasepublic com.google.common.collect.ImmutableList<SchemaConcept> getPossibleTypes()
public List<Atom> atomOptions(ConceptMap sub)
sub - partial substitutionpublic Atom addType(SchemaConcept type)
public java.util.stream.Stream<ConceptMap> materialise()
public Set<Atom> rewriteToAtoms()
public abstract Atom rewriteWithTypeVariable()
protected Atom rewriteWithTypeVariable(Atom parentAtom)
parentAtom - parent atom that triggers rewritepublic Atom rewriteWithRelationVariable()
public abstract Atom rewriteToUserDefined(Atom parentAtom)
parentAtom - parent atom that triggers rewritepublic abstract Unifier getUnifier(Atom parentAtom)
parentAtom - atom to be unified withpublic MultiUnifier getMultiUnifier(Atom parentAtom, UnifierComparison unifierType)
parentAtom - atom to be unified withunifierType - type of unifier to be computedCopyright © 2018 Grakn Labs Ltd. All rights reserved.