public abstract class RelationshipAtom extends IsaAtomBase
Atom implementation defining a relation atom corresponding to a combined RelationshipProperty
and (optional) IsaProperty. The relation atom is a TypeAtom with relationship players.
applicableRules| Constructor and Description |
|---|
RelationshipAtom() |
unifygetPredicateVariable, getSchemaConcept, getTypeId, getTypePredicate, isDirectgetApplicableRules, getInnerPredicates, getNeighbours, getNonSelectableConstraints, getPotentialRules, getTypeConstraints, getVarProperties, inferTypes, isAtom, isBounded, isDisconnected, isGround, isRecursive, isRuleResolvable, requiresDecomposition, requiresSchema, rewriteWithTypeVariablegetCombinedPattern, getIdPredicate, getPredicate, getPredicates, getPredicates, isUserDefined, txclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetParentQuery, getPattern, getVarName, isCompatibleWith, isResourcepublic abstract com.google.common.collect.ImmutableList<RelationPlayer> getRelationPlayers()
public abstract com.google.common.collect.ImmutableSet<Label> getRoleLabels()
public static RelationshipAtom create(VarPattern pattern, Var predicateVar, @Nullable ConceptId predicateId, ReasonerQuery parent)
public Class<? extends VarProperty> getVarPropertyClass()
getVarPropertyClass in class Atompublic void checkValid()
checkValid in interface AtomiccheckValid in class Binarypublic RelationshipAtom toRelationshipAtom()
toRelationshipAtom in class Atompublic Set<Atom> rewriteToAtoms()
rewriteToAtoms in class Atompublic String toString()
toString in class AtomicBasepublic Set<Var> getVarNames()
getVarNames in interface AtomicgetVarNames in class Binarypublic Atomic copy(ReasonerQuery parent)
protected Pattern createCombinedPattern()
createCombinedPattern in class Binarypublic boolean isAlphaEquivalent(Object obj)
isAlphaEquivalent in interface AtomicisAlphaEquivalent in class Binarypublic int alphaEquivalenceHashCode()
alphaEquivalenceHashCode in interface AtomicalphaEquivalenceHashCode in class Binarypublic boolean isStructurallyEquivalent(Object obj)
isStructurallyEquivalent in interface AtomicisStructurallyEquivalent in class Binarypublic int structuralEquivalenceHashCode()
structuralEquivalenceHashCode in interface AtomicstructuralEquivalenceHashCode in class Binarypublic boolean isRelation()
public boolean isSelectable()
isSelectable in interface AtomicisSelectable in class TypeAtompublic boolean isType()
public boolean requiresMaterialisation()
requiresMaterialisation in class TypeAtompublic boolean requiresRoleExpansion()
requiresRoleExpansion in class Atompublic Set<String> validateAsRuleHead(Rule rule)
validateAsRuleHead in interface AtomicvalidateAsRuleHead in class Atompublic java.util.stream.Stream<IdPredicate> getPartialSubstitutions()
getPartialSubstitutions in class Atompublic java.util.stream.Stream<IdPredicate> getRolePredicates()
@Memoized public com.google.common.collect.Multimap<Role,String> getRoleConceptIdMap()
@Memoized public com.google.common.collect.Multimap<Role,ValuePredicate> getRoleValueMap()
@Memoized public com.google.common.collect.Multimap<Role,NeqPredicate> getRoleNeqPredicateMap()
public com.google.common.collect.Multimap<Role,Type> getRoleTypeMap(boolean inferTypes)
public boolean isUnifiableWith(Atom atom)
isUnifiableWith in class TypeAtompublic boolean isRuleApplicableViaAtom(Atom ruleAtom)
isRuleApplicableViaAtom in class TypeAtompublic RelationshipAtom addType(SchemaConcept type)
public com.google.common.collect.ImmutableList<SchemaConcept> getPossibleTypes()
getPossibleTypes in class Atompublic RelationshipAtom inferTypes(ConceptMap sub)
inferTypes in class Atompublic List<Atom> atomOptions(ConceptMap sub)
atomOptions in class Atomsub - partial substitutionpublic Set<Var> getRoleExpansionVariables()
getRoleExpansionVariables in class Atompublic java.util.stream.Stream<Predicate> getInnerPredicates()
getInnerPredicates in class Binary@Memoized public com.google.common.collect.Multimap<Role,Var> getRoleVarMap()
public Unifier getUnifier(Atom pAtom, UnifierComparison unifierType)
AtomgetUnifier in class BinarypAtom - atom to be unified withunifierType - type of unifier to be computedpublic MultiUnifier getMultiUnifier(Atom pAtom, UnifierComparison unifierType)
AtomgetMultiUnifier in class AtompAtom - atom to be unified withunifierType - type of unifier to be computedpublic java.util.stream.Stream<ConceptMap> materialise()
materialise in class Atompublic RelationshipAtom rewriteWithRelationVariable()
AtomrewriteWithRelationVariable in class Atompublic RelationshipAtom rewriteWithTypeVariable()
rewriteWithTypeVariable in class Atompublic Atom rewriteToUserDefined(Atom parentAtom)
AtomrewriteToUserDefined in class AtomparentAtom - parent atom that triggers rewriteCopyright © 2018 Grakn Labs Ltd. All rights reserved.