org.apache.tinkerpop.gremlin.tinkergraph.process.computer

## Class TinkerGraphComputer

- java.lang.Object
- - org.apache.tinkerpop.gremlin.tinkergraph.process.computer.TinkerGraphComputer

- All Implemented Interfaces:
    GraphComputer

      public final class TinkerGraphComputer
      extends Object
      implements GraphComputer

  Author:
    Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.computer.GraphComputer

      `GraphComputer.Exceptions, GraphComputer.Features, GraphComputer.Persist, GraphComputer.ResultGraph`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TinkerGraphComputer(TinkerGraph graph)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `GraphComputer` | `edges(Traversal<Vertex,Edge> edgeFilter)` Add a filter that will limit which edges of the vertices are loaded from the graph source.
    `GraphComputer.Features` | `features()`
    `GraphComputer` | `mapReduce(MapReduce mapReduce)` Add a `MapReduce` job to the set of MapReduce jobs to be executed by the `GraphComputer`.
    `GraphComputer` | `persist(GraphComputer.Persist persist)` Set the `GraphComputer.Persist` level of the computation.
    `GraphComputer` | `program(VertexProgram vertexProgram)` Set the `VertexProgram` to be executed by the `GraphComputer`.
    `GraphComputer` | `result(GraphComputer.ResultGraph resultGraph)` Set the `GraphComputer.ResultGraph` of the computation.
    `Future<ComputerResult>` | `submit()` Submit the `VertexProgram` and the set of `MapReduce` jobs for execution by the `GraphComputer`.
    `String` | `toString()`
    `GraphComputer` | `vertices(Traversal<Vertex,Vertex> vertexFilter)` Add a filter that will limit which vertices are loaded from the graph source.
    `GraphComputer` | `workers(int workers)` Set the desired number of workers to execute the `VertexProgram` and `MapReduce` jobs.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.computer.GraphComputer

      `configure`

- - ### Constructor Detail

    - #### TinkerGraphComputer

          public TinkerGraphComputer(TinkerGraph graph)

  - ### Method Detail

    - #### result

          public GraphComputer result(GraphComputer.ResultGraph resultGraph)

      Description copied from interface: `GraphComputer`
      Set the `GraphComputer.ResultGraph` of the computation. If this is not set explicitly by the user, then the `VertexProgram` can choose the most efficient result for its intended use. If there is no declared vertex program, then the `GraphComputer` defaults to `GraphComputer.ResultGraph.ORIGINAL`.
      Specified by:
        `result` in interface `GraphComputer`
      Parameters:
        `resultGraph` - the type of graph to be returned by `ComputerResult.graph()`
      Returns:
        the updated GraphComputer with newly set result graph

    - #### persist

          public GraphComputer persist(GraphComputer.Persist persist)

      Description copied from interface: `GraphComputer`
      Set the `GraphComputer.Persist` level of the computation. If this is not set explicitly by the user, then the\ `VertexProgram` can choose the most efficient persist for the its intended use. If there is no declared vertex program, then the `GraphComputer` defaults to `GraphComputer.Persist.NOTHING`.
      Specified by:
        `persist` in interface `GraphComputer`
      Parameters:
        `persist` - the persistence level of the resultant computation
      Returns:
        the updated GraphComputer with newly set persist

    - #### program

          public GraphComputer program(VertexProgram vertexProgram)

      Description copied from interface: `GraphComputer`
      Set the `VertexProgram` to be executed by the `GraphComputer`. There can only be one VertexProgram for the GraphComputer.
      Specified by:
        `program` in interface `GraphComputer`
      Parameters:
        `vertexProgram` - the VertexProgram to be executed
      Returns:
        the updated GraphComputer with newly set VertexProgram

    - #### mapReduce

          public GraphComputer mapReduce(MapReduce mapReduce)

      Description copied from interface: `GraphComputer`
      Add a `MapReduce` job to the set of MapReduce jobs to be executed by the `GraphComputer`. There can be any number of MapReduce jobs.
      Specified by:
        `mapReduce` in interface `GraphComputer`
      Parameters:
        `mapReduce` - the MapReduce job to add to the computation
      Returns:
        the updated GraphComputer with newly added MapReduce job

    - #### workers

          public GraphComputer workers(int workers)

      Description copied from interface: `GraphComputer`
      Set the desired number of workers to execute the `VertexProgram` and `MapReduce` jobs. This is a recommendation to the underlying `GraphComputer` implementation and is allowed to deviate accordingly by the implementation.
      Specified by:
        `workers` in interface `GraphComputer`
      Parameters:
        `workers` - the number of workers to execute the submission
      Returns:
        the updated GraphComputer with newly set worker count

    - #### vertices

          public GraphComputer vertices(Traversal<Vertex,Vertex> vertexFilter)

      Description copied from interface: `GraphComputer`
      Add a filter that will limit which vertices are loaded from the graph source. The provided `Traversal` can only check the vertex, its vertex properties, and the vertex property properties. The loaded graph will only have those vertices that pass through the provided filter.
      Specified by:
        `vertices` in interface `GraphComputer`
      Parameters:
        `vertexFilter` - the traversal to verify whether or not to load the current vertex
      Returns:
        the updated GraphComputer with newly set vertex filter

    - #### edges

          public GraphComputer edges(Traversal<Vertex,Edge> edgeFilter)

      Description copied from interface: `GraphComputer`
      Add a filter that will limit which edges of the vertices are loaded from the graph source. The provided `Traversal` can only check the local star graph of the vertex and thus, can not access properties/labels of the adjacent vertices. The vertices of the loaded graph will only have those edges that pass through the provided filter.
      Specified by:
        `edges` in interface `GraphComputer`
      Parameters:
        `edgeFilter` - the traversal that determines which edges are loaded for each vertex
      Returns:
        the updated GraphComputer with newly set edge filter

    - #### submit

          public Future<ComputerResult> submit()

      Description copied from interface: `GraphComputer`
      Submit the `VertexProgram` and the set of `MapReduce` jobs for execution by the `GraphComputer`.
      Specified by:
        `submit` in interface `GraphComputer`
      Returns:
        a `Future` denoting a reference to the asynchronous computation and where to get the `DefaultComputerResult` when its is complete.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### features

          public GraphComputer.Features features()

      Specified by:
        `features` in interface `GraphComputer`

Copyright © 2013–2021 Apache Software Foundation. All rights reserved.