AWS Security ChangesHomeSearch

AWS neptune documentation change

Service: neptune · 2025-05-01 · Documentation low

File: neptune/latest/userguide/gremlin-with-dfe.md

Summary

Removed detailed tables listing supported Gremlin steps and their availability versions, simplified section headers, and deleted example queries showing DFE limitations. Added 'Gremlin step coverage in DFE' header.

Security assessment

The changes involve documentation restructuring and removal of technical implementation details about Gremlin steps. There is no evidence of security vulnerability fixes, security feature additions, or security-related content modifications. The changes appear focused on simplifying documentation structure rather than addressing security concerns.

Diff

diff --git a/neptune/latest/userguide/gremlin-with-dfe.md b/neptune/latest/userguide/gremlin-with-dfe.md
index 32107bfe6..c7ca15ffa 100644
--- a//neptune/latest/userguide/gremlin-with-dfe.md
+++ b//neptune/latest/userguide/gremlin-with-dfe.md
@@ -5 +5 @@
-LimitationsInterleavingexplain and profile differences
+Interleavingexplain and profile differences
@@ -17,130 +16,0 @@ Beginning with [engine release 1.0.5.0](./engine-releases-1.0.5.0.html), when th
-Path and traversal steps Step name | Description | Available from release #  
----|---|---  
-[AsDate](https://tinkerpop.apache.org/docs/current/reference/#asDate-step) |  The asDate()-step (map) converts string or numeric input to Date. |  1.4.5.0  
-[Call](https://tinkerpop.apache.org/docs/current/reference/#call-step) |  The call() step enables access to provider-specific custom services and operations not built into Gremlin's core language, allowing both static and dynamic parameter passing. |  1.4.5.0  
-[DateAdd](https://tinkerpop.apache.org/docs/current/reference/#dateadd-step) |  The dateAdd() step adds a specified number of time units (like days, minutes) to a Date object in the traversal. |  1.4.5.0  
-[DateDiff](https://tinkerpop.apache.org/docs/current/reference/#datediff-step) |  The dateDiff() step calculates the time difference between two Date objects in epoch time (seconds). |  1.4.5.0  
-[Fail](https://tinkerpop.apache.org/docs/current/reference/#fail-step) |  The fail() step forces a traversal to halt with an exception, commonly used for debugging and validation checks within traversals. |  1.4.5.0  
-[Id](https://tinkerpop.apache.org/docs/current/reference/#id-step) |  The id() step extracts and returns the unique identifier of graph elements (vertices, edges, or properties) in a traversal. |  Pre 1.4.5.0  
-[Inject](https://tinkerpop.apache.org/docs/current/reference/#inject-step) |  The inject() step allows arbitrary insertion of objects into a traversal stream at any point, enabling values to be added to the traversal pipeline that didn't originate from the graph. |  1.4.5.0  
-[Label](https://tinkerpop.apache.org/docs/current/reference/#label-step) |  The label()-step (*map*) takes an Element and extracts its label from it. |  1.4.5.0  
-[Path](https://tinkerpop.apache.org/docs/current/reference/#path-step) |  The path() step reveals the full history of a traverser's movement through a traversal, showing the elements and labels encountered along the way. |  1.4.5.0  
-[Project](https://tinkerpop.apache.org/docs/current/reference/#project-step) |  The project() step transforms the current object into a Map with custom keys and values, allowing flexible restructuring of data using specified labels and transformations. |  1.4.5.0  
-[Repeat](https://tinkerpop.apache.org/docs/current/reference/#repeat-step) |  The repeat() step enables looping in a traversal using do-while or while-do semantics, with optional emit() and until() modulators to control iteration behavior and result emission. |  1.4.5.0  
-[Sack](https://tinkerpop.apache.org/docs/current/reference/#sack-step) |  The sack() step enables traversers to carry local data structures (sacks) that can be manipulated during traversal, with options for initial values, split operations for traverser branching, and merge operations when traversers combine. |  1.4.5.0  
-[Select](https://tinkerpop.apache.org/docs/current/reference/#select-step) |  The select() step allows for selective retrieval of labeled steps or objects from a traversal, enabling backward movement in the computation and extraction of specific elements from complex data structures. |  1.4.5.0  
-[Unfold](https://tinkerpop.apache.org/docs/current/reference/#unfold-step) |  The unfold() step flattens iterables, iterators, or maps into a linear stream of individual elements, simplifying complex data structures within a traversal. |  1.4.5.0  
-[Disjunct](https://tinkerpop.apache.org/docs/current/reference/#disjunct-step) |  The disjunct() step calculates the unique elements between an incoming list and a provided list, returning elements that appear in either list but not both. |  1.4.5.0  
-[Drop](https://tinkerpop.apache.org/docs/current/reference/#drop-step) |  The drop() step removes elements (vertices, edges, or properties) from the graph, yielding no output as it acts as both a filter and side effect operation. |  1.4.5.0  
-[Identity](https://tinkerpop.apache.org/docs/current/reference/#identity-step) |  The identity()-step (*map*) is an identity function which maps the current object to itself. |  1.4.5.0  
-[Intersect](https://tinkerpop.apache.org/docs/current/reference/#intersect-step) |  The intersect() step finds common elements between an incoming list traverser and a provided list argument, returning only elements that appear in both lists. |  1.4.5.0  
-[Length](https://tinkerpop.apache.org/docs/current/reference/#length-step) |  The length() step calculates the length of incoming strings or lists, with options to process individual elements using local scope. |  1.4.5.0  
-[Loops](https://tinkerpop.apache.org/docs/current/reference/#loops-step) |  The loops()-step (*map*) extracts the number of times the Traverser has gone through the current loop. |  1.4.5.0  
-[MergeEdge](https://tinkerpop.apache.org/docs/current/reference/#merge-step) |  The merge() step combines collections (lists or maps) while eliminating duplicates, requiring both the incoming traverser and argument to be of matching collection types. |  1.4.5.0  
-[MergeVertex](https://tinkerpop.apache.org/docs/current/reference/#mergevertex-step) |  The mergeV() step provides "create if not exist" functionality for vertices, allowing conditional vertex creation and property updates through onCreate and onMatch options, with support for both single properties and multi-properties. |  1.4.5.0  
-[Barrier](https://tinkerpop.apache.org/docs/current/reference/#barrier-step) |  The barrier() step transforms a lazy traversal pipeline into a bulk-synchronous pipeline, useful for enforcing execution order and enabling bulking optimizations to improve performance when processing large numbers of similar elements. |  1.4.5.0  
-[Order (global scope)](https://tinkerpop.apache.org/docs/current/reference/#order-step) |  The order() step sorts traversers in a traversal stream using specified comparison criteria and ordering directions. |  1.4.5.0  
-[Range](https://tinkerpop.apache.org/docs/current/reference/#range-step) |  The range() step filters traversers to allow only those within a specified numeric range to pass through the traversal. |  1.4.5.0  
-[Reverse](https://tinkerpop.apache.org/docs/current/reference/#reverse-step) |  The reverse() step flips the order of elements in a list or characters in a string traverser. |  1.4.5.0  
-[Sample](https://tinkerpop.apache.org/docs/current/reference/#sample-step) |  The sample() step randomly selects a specified number of traversers from the traversal stream, optionally using weights to influence selection probability. |  1.4.5.0  
-[Cap](https://tinkerpop.apache.org/docs/current/reference/#cap-step) |  The cap() step emits named side-effects from a traversal, either individually or as a map of multiple side-effects, acting as a barrier step that processes all previous steps first. |  1.4.5.0  
-[Split](https://tinkerpop.apache.org/docs/current/reference/#split-step) |  The split() step divides strings into lists of substrings based on a specified separator or whitespace. |  1.4.5.0  
-[Filter](https://tinkerpop.apache.org/docs/current/reference/#filter-step) |  The filter() step selectively allows traversers to pass based on a boolean condition, removing those that evaluate to false. |  Pre 1.4.5.0  
-[FlatMap](https://tinkerpop.apache.org/docs/current/reference/#flatmap-step) |  The flatMap() step transforms each traverser into multiple traversers by converting objects into iterators that are then flattened into the traversal stream. |  1.4.5.0  
-[Map](https://tinkerpop.apache.org/docs/current/reference/#map-step) |  The map() step transforms each traverser from one object to another in a one-to-one mapping operation. |  1.4.5.0  
-[SideEffect](https://tinkerpop.apache.org/docs/current/reference/#sideeffect-step) |  The sideEffect() step performs an operation on traversers without modifying them, allowing the original traversers to continue through the traversal. |  1.4.5.0  
-[Union](https://tinkerpop.apache.org/docs/current/reference/#union-step) |  The union() step merges results from multiple traversals, allowing parallel execution of different paths and combining their outputs into a single stream. |  1.4.5.0  
-  
-Aggregate and collection steps Step name | Description | Available from release #  
----|---|---  
-[Aggregate (global scope)](https://tinkerpop.apache.org/docs/current/reference/#aggregate-step) |  The aggregate() step collects objects at a specific point in the traversal into a side-effect collection, with options for global (eager) or local (lazy) evaluation, and the ability to apply transformations using by(). |  1.4.5.0  
-[Combine](https://tinkerpop.apache.org/docs/current/reference/#combine-step) |  The combine() step merges two lists into one while preserving duplicates, concatenating the incoming list traverser with a provided list. |  1.4.5.0  
-[Count (local scope)](https://tinkerpop.apache.org/docs/current/reference/#count-step) |  The count() step tallies the number of traversers in the stream, with options for local counting of collection or map elements when used with local scope. |  1.4.5.0  
-[Dedup (global scope)](https://tinkerpop.apache.org/docs/current/reference/#dedup-step) |  The dedup() step removes duplicate traversers from the stream, with options to deduplicate based on specific labels or properties in the traversal path. |  Pre 1.4.5.0  
-[Fold](https://tinkerpop.apache.org/docs/current/reference/#fold-step) |  The fold() step collects all traversers into a single list or aggregates them using a reduce function, creating a barrier that processes all objects before emitting a result. |  1.4.5.0  
-[Group](https://tinkerpop.apache.org/docs/current/reference/#group-step) |  The group() step organizes traversers into groups based on specified key and value criteria, creating a map where keys are grouping values and values are lists of matching elements. |  1.4.5.0  
-[GroupCount](https://tinkerpop.apache.org/docs/current/reference/#groupcount-step) |  The groupCount() step counts occurrences of objects in a traversal, creating a map where keys are the objects and values are their counts, with options for custom grouping criteria. |  1.4.5.0  
-  
-Mathematical steps Step name | Description | Available from release #  
----|---|---  
-[Max](https://tinkerpop.apache.org/docs/current/reference/#max-step) |  The max() step finds the highest value in a stream of comparable objects, ignoring null values and offering local scope for collection evaluation. |  1.4.5.0  
-[Mean](https://tinkerpop.apache.org/docs/current/reference/#mean-step) |  The mean() step calculates the average of numeric values in a traversal stream, ignoring null values and providing local scope option for collection averaging. |  1.4.5.0  
-[Min](https://tinkerpop.apache.org/docs/current/reference/#min-step) |  The min() step finds the lowest value in a stream of comparable objects, ignoring null values and offering local scope for collection evaluation. |  1.4.5.0  
-[Sum](https://tinkerpop.apache.org/docs/current/reference/#sum-step) |  The sum() step calculates the total of numeric values in a traversal stream, accounting for traverser bulk, ignoring null values, and offering local scope for collection summing. |  1.4.5.0  
-  
-Element steps Step name | Description | Available from release #  
----|---|---  
-[EdgeOtherVertex](https://tinkerpop.apache.org/docs/current/reference/#otherv-steps) |  Move to the vertex that was not the vertex that was moved from. |  Pre 1.4.5.0  
-[EdgeVertex](https://tinkerpop.apache.org/docs/current/reference/#vertex-steps) |  Move to incoming or outgoing vertex from an edge. |  1.4.5.0  
-[ElementMap](https://tinkerpop.apache.org/docs/current/reference/#elementmap-step) |  The elementMap() step converts graph elements (vertices or edges) into map representations containing their properties, IDs, labels, and connectivity information. |  1.4.5.0  
-[Element](https://tinkerpop.apache.org/docs/current/reference/#element-step) |  The element() step moves from a Property to its parent Element (Vertex, Edge, or VertexProperty) in the graph structure. |  1.4.5.0  
-[Graph(V-Step)](https://tinkerpop.apache.org/docs/current/reference/#graph-step) |  The V()-step is meant to read vertices from the graph and is usually used to start a GraphTraversal, but can also be used mid-traversal. |  Pre 1.4.5.0  
-[Vertex](https://tinkerpop.apache.org/docs/current/reference/#vertex-steps) |  Move to the outgoing or incoming or both outgoing and incoming vertices connected to a vertex. |  Pre 1.4.5.0  
-  
-Property steps Step name | Description | Available from release #  
----|---|---  
-[Properties](https://tinkerpop.apache.org/docs/current/reference/#properties-step) |  The properties() step extracts property objects from elements in the traversal, allowing access to both property values and their metadata. |  Pre 1.4.5.0  
-[PropertyKey](https://tinkerpop.apache.org/docs/current/reference/#key-step) |  The key()-step (*map*) takes a Property and extracts the key from it. |  1.4.5.0  
-[PropertyMap](https://tinkerpop.apache.org/docs/current/reference/#propertymap-step) |  The propertiesMap()-step yields a Map representation of the properties of an element. |  1.4.5.0  
-[Property](https://tinkerpop.apache.org/docs/current/reference/#property-step) |  The property() step adds or modifies properties on graph elements, supporting single and multi-valued properties, property maps, cardinality specifications, and meta-properties for vertices. |  1.4.5.0  
-[PropertyValue](https://tinkerpop.apache.org/docs/current/reference/#value-step) |  The value()-step (*map*) takes a Property and extracts the value from it. |  1.4.5.0  
-  
-Filter and control steps Step name | Description | Available from release #  
----|---|---  
-[And](https://tinkerpop.apache.org/docs/current/reference/#and-step) |  The and()-step ensures that all provided traversals yield a result (*filter*). |  1.4.5.0  
-[Coalesce](https://tinkerpop.apache.org/docs/current/reference/#coalesce-step) |  The coalesce()-step evaluates the provided traversals in order and returns the first traversal that emits at least one element. |  1.4.5.0  
-[Coin](https://tinkerpop.apache.org/docs/current/reference/#coin-step) |  To randomly filter out a traverser, use the coin()-step (*filter*). The provided double argument biases the "coin toss." |  1.4.5.0  
-[Has](https://tinkerpop.apache.org/docs/current/reference/#has-step) |  The has() step filters traversers based on element properties, labels, and IDs, supporting various comparison predicates and allowing complex filtering conditions using property existence, values, and labels. |  Pre 1.4.5.0  
-[Index](https://tinkerpop.apache.org/docs/current/reference/#index-step) |  The index() step assigns numeric indices to elements in a collection, with options to output results as either lists (element, index) or maps (index:element). |  1.4.5.0  
-[Is](https://tinkerpop.apache.org/docs/current/reference/#is-step) |  The is() step filters scalar values in a traversal based on equality or predicate comparisons, supporting both direct value matches and complex conditions. |  1.4.5.0  
-[Local](https://tinkerpop.apache.org/docs/current/reference/#local-step) |  The local() step performs traversal operations on individual objects in the stream rather than the stream as a whole, enabling object-specific processing but requiring careful use with reducing steps. |  1.4.5.0  
-[None](https://tinkerpop.apache.org/docs/current/reference/#none-step) |  The none() step filters out all objects from a traversal stream, useful for traversals that only generate side-effects and don't need to return results, especially in remote execution scenarios. |  1.4.5.0  
-[Not](https://tinkerpop.apache.org/docs/current/reference/#not-step) |  The not() step filters out traversers where the provided traversal argument returns a result, effectively implementing a logical NOT operation in the traversal. |  1.4.5.0  
-[Or](https://tinkerpop.apache.org/docs/current/reference/#or-step) |  The or() step allows traversers to pass if at least one of its provided traversal arguments yields a result, implementing logical OR operations in filtering. |  1.4.5.0  
-[Where](https://tinkerpop.apache.org/docs/current/reference/#where-step) |  The where() step filters traversers based on their current state or path history, commonly used with match() or select() steps, and supporting both predicate-based and traversal-based filtering conditions. |  Pre 1.4.5.0  
-  
-String manipulation steps Step name | Description | Available from release #  
----|---|---  
-[Concat](https://tinkerpop.apache.org/docs/current/reference/#concat-step) |  The concat() step concatenates strings or results of traversals to the incoming string traverser, allowing flexible string composition within a traversal. |  1.4.5.0  
-[LTrim (local scope)](https://tinkerpop.apache.org/docs/current/reference/#lTrim-step) |  The lTrim() step removes leading whitespace from string values in a traversal, with options for local scope on collections and preserving null values. |  1.4.5.0  
-[RTrim](https://tinkerpop.apache.org/docs/current/reference/#rtrim-step) |  The rTrim() step removes trailing whitespace from string values in a traversal, with options for local scope on collections and preserving null values. |  1.4.5.0  
-[Substring](https://tinkerpop.apache.org/docs/current/reference/#substring-step) |  The substring() step extracts a portion of a string using start and optional end indices, supporting both positive and negative indices, with options for local scope on collections. |  1.4.5.0  
-[ToLower](https://tinkerpop.apache.org/docs/current/reference/#toLower-step) |  The toLower() step converts string values to lowercase in a traversal, with options for local scope on collections and preserving null values. |  1.4.5.0  
-[ToUpper](https://tinkerpop.apache.org/docs/current/reference/#toUpper-step) |  The toUpper() step converts string values to uppercase in a traversal, with options for local scope on collections and preserving null values. |  1.4.5.0  
-[Trim](https://tinkerpop.apache.org/docs/current/reference/#trim-step) |  The trim() step removes leading and trailing whitespace from string values in a traversal, preserving null values and throwing exceptions for non-string inputs. |  1.4.5.0  
-  
-Predicates Step name | Description | Released in engine version  
----|---|---  
-[ Compare: eq, neq, lt, lte, gt, gte](https://tinkerpop.apache.org/docs/current/reference/#a-note-on-predicates) |  Compare predicates provide comparison operators (eq, neq, lt, lte, gt, gte) for filtering traversals based on equality and numeric comparisons. |  1.4.5.0  
-[ Contains: within, without](https://tinkerpop.apache.org/docs/current/reference/#a-note-on-predicates) |  The within() and without() predicates check if a value is present or absent from a given collection of objects, respectively. |  1.4.5.0  
-[ TextP: endingWith, containing, notStartingWith, notEndingWith, notContaining](https://tinkerpop.apache.org/docs/current/reference/#a-note-on-predicates) |  TextP predicates provide string matching operations (endingWith, containing, notStartingWith, notEndingWith, notContaining) for comparing text patterns in traversals. |  1.4.5.0  
-[ P: and, or, between, outside, inside](https://tinkerpop.apache.org/docs/current/reference/#a-note-on-predicates) |  P provides logical operators (and, or) and range predicates (between, outside, inside) for complex condition combining and interval checking in traversals. |  1.4.5.0  
-  
-###### Note
-
-Beginning with engine release 1.0.5.0, when the DFE encounters a step it doesn't support natively, it falls back on the base TinkerPop engine rather than the Neptune Gremlin engine as it did previously. 
-
-## Limitations
-
-Repeat with Limit, Labels inside repeat traversal and dedup are not supported in DFE yet. 
-    
-    
-    // With Limit inside the repeat traversal
-    g.V().has('code','AGR').repeat(out().limit(5)).until(has('code','FRA'))
-    
-    // With Labels inside the repeat traversal
-    g.V().has('code','AGR').repeat(out().as('a')).until(has('code','FRA'))
-    
-    // With Dedup inside the repeat traversal
-    g.V().has('code','AGR').repeat(out().dedup()).until(has('code','FRA'))
-
-Path with nested repeats, or branching steps are not supported yet. 
-    
-    
-    // Path with branching steps
-    g.V().has('code','AGR').union(identity, outE().inV()).path().by('code')
-    
-    
-    // With nested repeat
-    g.V().has('code','AGR').repeat(out().union(identity(), out())).path().by('code')
-
@@ -179 +49 @@ Gremlin step support
-openCypher
+Gremlin step coverage in DFE