Package

org.opencypher.gremlin.translation.ir

rewrite

Permalink

package rewrite

Visibility
  1. Public
  2. All

Type Members

  1. trait GremlinRewriter extends (Seq[GremlinStep]) ⇒ Seq[GremlinStep]

    Permalink

Value Members

  1. object CosmosDbFlavor extends GremlinRewriter

    Permalink

    This is a set of rewrites to adapt the translation to Cosmos DB.

  2. object GroupStepFilters extends GremlinRewriter

    Permalink

    This rewriter relocates label and property predicates from normalized WHERE expressions to the related as step as has steps.

    This rewriter relocates label and property predicates from normalized WHERE expressions to the related as step as has steps. This should allow Gremlin provider optimization strategies to fold generated has steps into the adjacent vertex step.

  3. object IdentityRewriter extends GremlinRewriter

    Permalink
  4. object InlineFlatMapTraversal extends GremlinRewriter

    Permalink

    Generated flatMap steps with traversal argument can be replaced with just the traversal for the same effect.

  5. object NeptuneFlavor extends GremlinRewriter

    Permalink

    This is a set of rewrites to adapt the translation to AWS Neptune.

  6. object RemoveImmediateReselect extends GremlinRewriter

    Permalink

    This rule removes select steps that immediately follow an as step with the same label.

    This rule removes select steps that immediately follow an as step with the same label. Since the expected value is already in the traverser, this is a useless operation. This rewrite also enables some cases of RemoveUnusedAliases rewrites.

  7. object RemoveUnusedAliases extends GremlinRewriter

    Permalink

    This rewriter removes many cases of as steps that have been generated, but are not actually used in the traversal.

    This rewriter removes many cases of as steps that have been generated, but are not actually used in the traversal. This enables some default Gremlin optimization strategies like org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IncidentToAdjacentStrategy and allows bulking by keeping traversers compact.

  8. object RemoveUselessSteps extends GremlinRewriter

    Permalink

    This rewriter removes different sequences of steps that are no-op or otherwise useless.

    This rewriter removes different sequences of steps that are no-op or otherwise useless. These sequences can sometimes appear in the generated traversal when results of several walkers are combined together.

  9. object SimplifyEdgeTraversal extends GremlinRewriter

    Permalink

    Patterns that only match a directed relation and begin the traversal can be simplified to a single graph step.

  10. object SimplifyPropertySetters extends GremlinRewriter

    Permalink

    Property setters where value is a constant can be simplified to avoid empty traversal checks and set or unset the property directly.

  11. object SimplifyRenamedAliases extends GremlinRewriter

    Permalink

    Match patterns that start with renaming an existing alias can simply select the existing alias from the traversal.

  12. object SimplifySingleProjections extends GremlinRewriter

    Permalink

    This rule removes workarounds from effectively-single projections and lifts projection traversals out of single aggregating projections.

Ungrouped