Class GafferPopVertexStep<E extends org.apache.tinkerpop.gremlin.structure.Element>

  • All Implemented Interfaces:
    Serializable, AutoCloseable, Cloneable, Iterator<org.apache.tinkerpop.gremlin.process.traversal.Traverser.Admin<E>>, org.apache.tinkerpop.gremlin.process.traversal.Step<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E>, org.apache.tinkerpop.gremlin.process.traversal.step.Configuring, org.apache.tinkerpop.gremlin.process.traversal.step.Parameterizing

    public class GafferPopVertexStep<E extends org.apache.tinkerpop.gremlin.structure.Element>
    extends org.apache.tinkerpop.gremlin.process.traversal.step.map.FlatMapStep<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E>
    implements AutoCloseable, org.apache.tinkerpop.gremlin.process.traversal.step.Configuring
    Custom GafferPop VertexStep.

    Takes an Iterable of Vertices as input rather than a single Vertex. This is so we can perform a single Gaffer query for multiple vertices rather than one each.

    There are some consequences to this optimisation, for queries where there are multiple of the same input seed. In Gremlin, you would expect to get multiple of the same result. However, in Gaffer, if you supply multiple of the same seed only one result is returned.

    e.g. for the Tinkerpop Modern Graph:

     (Gremlin)   g.V().out() = [v2, v3, v3, v3, v4, v5]
     (GafferPop) g.V().out() = [v2, v3, v4, v5]
     
    See Also:
    Serialized Form
    • Constructor Detail

      • GafferPopVertexStep

        public GafferPopVertexStep​(org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexStep<E> originalVertexStep)
    • Method Detail

      • getParameters

        public org.apache.tinkerpop.gremlin.process.traversal.step.util.Parameters getParameters()
        Specified by:
        getParameters in interface org.apache.tinkerpop.gremlin.process.traversal.step.Parameterizing
      • configure

        public void configure​(Object... keyValues)
        Specified by:
        configure in interface org.apache.tinkerpop.gremlin.process.traversal.step.Configuring
      • getDirection

        public org.apache.tinkerpop.gremlin.structure.Direction getDirection()
      • getEdgeLabels

        public String[] getEdgeLabels()
      • getReturnClass

        public Class<E> getReturnClass()
      • reverseDirection

        public void reverseDirection()
      • returnsVertex

        public boolean returnsVertex()
      • returnsEdge

        public boolean returnsEdge()
      • toString

        public String toString()
        Overrides:
        toString in class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E extends org.apache.tinkerpop.gremlin.structure.Element>
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E extends org.apache.tinkerpop.gremlin.structure.Element>
      • equals

        public boolean equals​(Object other)
        Overrides:
        equals in class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E extends org.apache.tinkerpop.gremlin.structure.Element>
      • getRequirements

        public Set<org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement> getRequirements()
        Specified by:
        getRequirements in interface org.apache.tinkerpop.gremlin.process.traversal.Step<Iterable<org.apache.tinkerpop.gremlin.structure.Vertex>,​E extends org.apache.tinkerpop.gremlin.structure.Element>