public interface Fragment
A fragment is composed of four things:
A Fragment is usually contained in a EquivalentFragmentSet, which contains multiple fragments describing
the different directions the traversal can be followed in, with different starts and ends.
A gremlin traversal is created from a Query by appending together fragments in order of priority, one from
each EquivalentFragmentSet describing the Query.
| Modifier and Type | Method and Description |
|---|---|
void |
applyTraversal(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<org.apache.tinkerpop.gremlin.structure.Vertex,org.apache.tinkerpop.gremlin.structure.Vertex> traversal,
GraknGraph graph) |
double |
fragmentCost(double previousCost) |
Set<Var> |
getDependencies() |
Optional<Var> |
getEnd() |
EquivalentFragmentSet |
getEquivalentFragmentSet() |
String |
getName()
The name of the fragment
|
Var |
getStart() |
Set<Var> |
getVariableNames()
Get all variable names in the fragment - the start and end (if present)
|
default boolean |
hasFixedFragmentCost()
If a fragment has fixed cost, the traversal is done using index.
|
default boolean |
isStartingFragment()
A starting fragment is a fragment that can start a traversal.
|
void |
setEquivalentFragmentSet(EquivalentFragmentSet equivalentFragmentSet) |
EquivalentFragmentSet getEquivalentFragmentSet()
void setEquivalentFragmentSet(EquivalentFragmentSet equivalentFragmentSet)
equivalentFragmentSet - the EquivalentFragmentSet that contains this Fragmentvoid applyTraversal(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<org.apache.tinkerpop.gremlin.structure.Vertex,org.apache.tinkerpop.gremlin.structure.Vertex> traversal,
GraknGraph graph)
traversal - the traversal to extend with this Fragmentgraph - the graph to execute the traversal onString getName()
Var getStart()
Optional<Var> getEnd()
Set<Var> getDependencies()
Set<Var> getVariableNames()
default boolean isStartingFragment()
double fragmentCost(double previousCost)
default boolean hasFixedFragmentCost()
Copyright © 2017 Grakn Labs Ltd. All rights reserved.