[ https://issues.apache.org/jira/browse/TINKERPOP-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17751224#comment-17751224 ]
Cole Greer commented on TINKERPOP-2672: --------------------------------------- These 3 JIRA's collectively represent all currently proposed data manipulation functions to greatly reduce users dependencies on lambdas. (Outlined in https://github.com/apache/tinkerpop/blob/3.7.0/docs/src/dev/future/proposal-3-remove-closures.asciidoc) > Add String Manipulation Steps to Gremlin > ---------------------------------------- > > Key: TINKERPOP-2672 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2672 > Project: TinkerPop > Issue Type: Improvement > Components: language > Reporter: Dave Bechberger > Priority: Major > > Today Gremlin requires that users fall back to closures to handle many common > string manipulation options that users want to do on data in the graph. This > is a problem for many users as many of the providers prevent the use of > closures due to the security risks so for these users there is no way to > manipulate strings directly. > The proposal here is to add a set of steps to handle common string > manipulation requests from users including: > * `concat(String)` - concatenates the String to the value of the traverser > * 'length()` - returns the length of the string > * `split(String)` - returns an array of strings based on the split char > passed in > * `substring(beginIndex, endIndex)` - returns a substring based on the start > and end index values passed in > * `substring(beginIndex)` - returns a substring beginning at the start index > * `rtrim()` - remove spaces at the beginning of a string > * `ltrim()` - remove spaces at the end of a string > * `trim()` - remove spaces at the beginning and end of a string > * `replace(old, new)` - replaces all occurences of the `old` string with the > `new` string > * `reverse()` - reverses the string > * `tostring()` - turns the incoming item into a string > * `toupper()` - upper cases the incoming string > * `tolower()` - lower cases the incoming string > > All the above functions except `tostring()` will throw an error if a > non-string value is passed in -- This message was sent by Atlassian Jira (v8.20.10#820010)