Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1834

Consider iterate() as a first class step

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.6
    • Fix Version/s: 3.3.1
    • Component/s: process
    • Labels:
      None

      Description

      The iterate() terminator on a traversal returns no data. It simply executes the traversal in full typically for the generation of side-effects. Graph providers could optimize a traversal that is iterated should they be able to detect that this method is called as they might avoid certain read operations if the traversal is explicitly meant to just update the graph.

      A possible solution for this would be some form of direct implementation of an explicit IterateStep which providers could identify. Or perhaps, a more generic NoOpStep would be better where the NoOpStep would basically just be a marker with some meta-data tied to it (i.e. a Map of arbitrary configuration options). In this case, the configuration options would simply have an "iterate" value in it which the provider could interpret if they could optimize based on that. Other solutions?

        Attachments

          Activity

            People

            • Assignee:
              okram Marko A. Rodriguez
              Reporter:
              spmallette stephen mallette
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: