Dave Bechberger created TINKERPOP-2672:
------------------------------------------

             Summary: 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


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.1#820001)

Reply via email to