| Modifier and Type | Method and Description |
|---|---|
Atom |
Atom.addType(SchemaConcept type) |
Atom |
Atom.inferTypes() |
Atom |
Atom.inferTypes(Answer sub) |
abstract Atom |
Atom.rewriteToUserDefined(Atom parentAtom)
rewrites the atom to one with suitably user-defined names depending on provided parent
|
Atom |
Atom.rewriteWithRelationVariable()
rewrites the atom to one with user defined relation variable
|
abstract Atom |
Atom.rewriteWithTypeVariable() |
protected Atom |
Atom.rewriteWithTypeVariable(Atom parentAtom)
rewrites the atom to user-defined type variable
|
| Modifier and Type | Method and Description |
|---|---|
List<Atom> |
Atom.atomOptions(Answer sub) |
| Modifier and Type | Method and Description |
|---|---|
MultiUnifier |
Atom.getMultiUnifier(Atom parentAtom,
UnifierComparison unifierType)
find the (multi) unifier with parent atom
|
abstract Unifier |
Atom.getUnifier(Atom parentAtom) |
protected abstract boolean |
Atom.isRuleApplicableViaAtom(Atom headAtom) |
abstract Atom |
Atom.rewriteToUserDefined(Atom parentAtom)
rewrites the atom to one with suitably user-defined names depending on provided parent
|
protected Atom |
Atom.rewriteWithTypeVariable(Atom parentAtom)
rewrites the atom to user-defined type variable
|
| Constructor and Description |
|---|
Atom(Atom a) |
| Modifier and Type | Class and Description |
|---|---|
class |
Binary
Implementation for binary atoms with single id typePredicate for a schema concept.
|
class |
OntologicalAtom
Base class for defining ontological
Atom - ones referring to ontological elements. |
class |
RelationshipAtom
Atom implementation defining a relation atom corresponding to a combined
RelationshipProperty
and (optional) IsaProperty. |
class |
ResourceAtom
Atom implementation defining a resource atom corresponding to a
HasAttributeProperty. |
class |
TypeAtom
Atom implementation defining type atoms of the general form:
{isa|sub|plays|relates|has}($varName, $predicateVariable)
Type atoms correspond to the following respective graql properties:
IsaProperty,
SubProperty,
PlaysProperty
RelatesProperty
HasAttributeTypeProperty |
| Modifier and Type | Method and Description |
|---|---|
Atom |
RelationshipAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
ResourceAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
ResourceAtom.rewriteWithTypeVariable() |
| Modifier and Type | Method and Description |
|---|---|
List<Atom> |
RelationshipAtom.atomOptions(Answer sub) |
| Modifier and Type | Method and Description |
|---|---|
MultiUnifier |
RelationshipAtom.getMultiUnifier(Atom pAtom,
UnifierComparison unifierType) |
Unifier |
RelationshipAtom.getUnifier(Atom pAtom) |
Unifier |
Binary.getUnifier(Atom parentAtom) |
Unifier |
ResourceAtom.getUnifier(Atom parentAtom) |
boolean |
RelationshipAtom.isRuleApplicableViaAtom(Atom ruleAtom) |
boolean |
TypeAtom.isRuleApplicableViaAtom(Atom ruleAtom) |
boolean |
ResourceAtom.isRuleApplicableViaAtom(Atom ruleAtom) |
Atom |
RelationshipAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
ResourceAtom.rewriteToUserDefined(Atom parentAtom) |
| Modifier and Type | Class and Description |
|---|---|
class |
HasAtom
TypeAtom corresponding to graql a
HasAttributeTypeProperty property. |
class |
IsaAtom
TypeAtom corresponding to graql a
IsaProperty property. |
class |
PlaysAtom
TypeAtom corresponding to graql a
PlaysProperty property. |
class |
RelatesAtom
TypeAtom corresponding to a graql
RelatesProperty property. |
class |
SubAtom
TypeAtom corresponding to graql a
SubProperty property. |
| Modifier and Type | Method and Description |
|---|---|
Atom |
IsaAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
RelatesAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
SubAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
PlaysAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
HasAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
IsaAtom.rewriteWithTypeVariable() |
Atom |
RelatesAtom.rewriteWithTypeVariable() |
Atom |
SubAtom.rewriteWithTypeVariable() |
Atom |
PlaysAtom.rewriteWithTypeVariable() |
Atom |
HasAtom.rewriteWithTypeVariable() |
| Modifier and Type | Method and Description |
|---|---|
List<Atom> |
IsaAtom.atomOptions(Answer sub) |
| Modifier and Type | Method and Description |
|---|---|
Atom |
IsaAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
RelatesAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
SubAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
PlaysAtom.rewriteToUserDefined(Atom parentAtom) |
Atom |
HasAtom.rewriteToUserDefined(Atom parentAtom) |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.collect.ImmutableList<Atom> |
ResolutionPlan.plan() |
static com.google.common.collect.ImmutableList<Atom> |
GraqlTraversalPlanner.refinedPlan(ReasonerQueryImpl query)
Refined plan procedure:
- establish a list of starting atom candidates based on their substitutions
- create a plan using
GreedyTraversalPlan
- if the graql plan picks an atom that is not a candidate
- pick an optimal candidate
- call the procedure on atoms with removed candidate
- otherwise return |
| Modifier and Type | Method and Description |
|---|---|
Atom |
ReasonerAtomicQuery.getAtom() |
| Modifier and Type | Method and Description |
|---|---|
Set<Atom> |
ReasonerQueryImpl.selectAtoms()
atom selection function
|
Set<Atom> |
ReasonerAtomicQuery.selectAtoms() |
| Modifier and Type | Method and Description |
|---|---|
static ReasonerAtomicQuery |
ReasonerQueries.atomic(Atom atom)
create an atomic query from the provided atom
NB: atom constraints (types and predicates, if any) will be included in the query
|
static boolean |
ReasonerQueryEquivalence.containsEquivalentAtom(ReasonerQuery query,
Atom atom,
java.util.function.BiFunction<Atom,Atom,Boolean> equivalenceFunction) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
ReasonerQueryEquivalence.containsEquivalentAtom(ReasonerQuery query,
Atom atom,
java.util.function.BiFunction<Atom,Atom,Boolean> equivalenceFunction) |
static boolean |
ReasonerQueryEquivalence.containsEquivalentAtom(ReasonerQuery query,
Atom atom,
java.util.function.BiFunction<Atom,Atom,Boolean> equivalenceFunction) |
static ReasonerQueryImpl |
ReasonerQueries.create(List<Atom> as,
GraknTx tx)
create a reasoner query from provided list of atoms
NB: atom constraints (types and predicates, if any) will be included in the query
|
| Modifier and Type | Method and Description |
|---|---|
Atom |
InferenceRule.getRuleConclusionAtom() |
| Modifier and Type | Method and Description |
|---|---|
MultiUnifier |
InferenceRule.getMultiUnifier(Atom parentAtom) |
InferenceRule |
InferenceRule.propagateConstraints(Atom parentAtom,
Unifier unifier) |
boolean |
InferenceRule.requiresMaterialisation(Atom parentAtom)
rule requires materialisation in the context of resolving parent atom
if parent atom requires materialisation, head atom requires materialisation or if the head contains only fresh variables
|
InferenceRule |
InferenceRule.rewrite(Atom parentAtom)
rewrite the rule to a form with user defined variables
|
ResolutionState |
InferenceRule.subGoal(Atom parentAtom,
Unifier ruleUnifier,
QueryStateBase parent,
Set<ReasonerAtomicQuery> visitedSubGoals,
QueryCache<ReasonerAtomicQuery> cache) |
Copyright © 2018 Grakn Labs Ltd. All rights reserved.