Class GraphComputerTest.VertexProgramJ
java.lang.Object
org.apache.tinkerpop.gremlin.process.computer.util.StaticVertexProgram
org.apache.tinkerpop.gremlin.process.computer.GraphComputerTest.VertexProgramJ
- All Implemented Interfaces:
Cloneable,VertexProgram
- Enclosing class:
- GraphComputerTest
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.computer.VertexProgram
VertexProgram.Builder, VertexProgram.Features -
Field Summary
Fields inherited from interface org.apache.tinkerpop.gremlin.process.computer.VertexProgram
VERTEX_PROGRAM -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidThis method denotes the main body of the computation and is executed on each vertex in the graph.TheMemorykeys that will be used during the computation.getMessageScopes(Memory memory) This method returns all theMessageScopepossibilities for a particular iteration of the vertex program.voidThe method is called at the beginning of the computation.booleanThe method is called at the end of each iteration to determine if the computation is complete.voidworkerIterationEnd(Memory memory) This method is called at the end of each iteration of each "computational chunk." The set of vertices in the graph are typically not processed with full parallelism.voidworkerIterationStart(Memory memory) This method is called at the start of each iteration of each "computational chunk." The set of vertices in the graph are typically not processed with full parallelism.Methods inherited from class org.apache.tinkerpop.gremlin.process.computer.util.StaticVertexProgram
clone, storeStateMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.tinkerpop.gremlin.process.computer.VertexProgram
getFeatures, getMapReducers, getMessageCombiner, getTraverserRequirements, getVertexComputeKeys, loadState
-
Constructor Details
-
VertexProgramJ
public VertexProgramJ()
-
-
Method Details
-
setup
Description copied from interface:VertexProgramThe method is called at the beginning of the computation. The method is global to theGraphComputerand as such, is not called for each vertex. During this stage, theMemoryshould be initialized to to its "start state."- Parameters:
memory- The global memory of the GraphComputer
-
workerIterationStart
Description copied from interface:VertexProgramThis method is called at the start of each iteration of each "computational chunk." The set of vertices in the graph are typically not processed with full parallelism. The vertex set is split into subsets and a worker is assigned to call theVertexProgram.execute(org.apache.tinkerpop.gremlin.structure.Vertex, org.apache.tinkerpop.gremlin.process.computer.Messenger<M>, org.apache.tinkerpop.gremlin.process.computer.Memory)method. The default implementation is a no-op.- Parameters:
memory- The memory at the start of the iteration.
-
execute
Description copied from interface:VertexProgramThis method denotes the main body of the computation and is executed on each vertex in the graph. This method is logically executed in parallel on all vertices in the graph. When theMemoryis read, it is according to the aggregated state yielded in the previous iteration. When theMemoryis written, the data will be aggregated at the end of the iteration for reading in the next iteration.- Parameters:
vertex- theVertexto execute theVertexProgramonmessenger- the messenger that moves data between verticesmemory- the shared state between all vertices in the computation
-
terminate
Description copied from interface:VertexProgramThe method is called at the end of each iteration to determine if the computation is complete. The method is global to theGraphComputerand as such, is not called for eachVertex. TheMemorymaintains the aggregated data from the last execute() iteration.- Parameters:
memory- The global memory of theGraphComputer- Returns:
- whether or not to halt the computation
-
workerIterationEnd
Description copied from interface:VertexProgramThis method is called at the end of each iteration of each "computational chunk." The set of vertices in the graph are typically not processed with full parallelism. The vertex set is split into subsets and a worker is assigned to call theVertexProgram.execute(org.apache.tinkerpop.gremlin.structure.Vertex, org.apache.tinkerpop.gremlin.process.computer.Messenger<M>, org.apache.tinkerpop.gremlin.process.computer.Memory)method. The default implementation is a no-op.- Parameters:
memory- The memory at the end of the iteration.
-
getMemoryComputeKeys
Description copied from interface:VertexProgramTheMemorykeys that will be used during the computation. These are the only keys that can be read or written throughout the life of theGraphComputer. The default is an empty set.- Returns:
- the set of memory keys that will be read/written
-
getMessageScopes
Description copied from interface:VertexProgramThis method returns all theMessageScopepossibilities for a particular iteration of the vertex program. The returned messages scopes are the scopes that will be used to send messages during the stated iteration. It is not a requirement that all stated messages scopes be used, just that it is possible that they be used during the iteration.- Parameters:
memory- an immutable form of theMemory- Returns:
- all possible message scopes during said vertex program iteration
-
getPreferredResultGraph
-
getPreferredPersist
-