You guys are ruining the language with your approach to string manipulation. 
Look to math()-step to see how you should handle non-graph data structure 
manipulations.

Marko.

> On Aug 16, 2023, at 4:35 AM, Stephen Mallette <[email protected]> wrote:
> 
> I think the syntax should just be changed from concat(Traversal) to
> concat(Traversal...) which would let you work around this issue by using
> constant():
> 
> g.V(3).as('a').values('code').concat(constant(' is in '),
> select('a').values('city'))
> 
> This would address the symmetry problem with concat(String...) without
> having to open up concat(Object...) (at least not yet). I think format()
> could be a neat step and there was an open issue for it at one point:
> 
> https://issues.apache.org/jira/browse/TINKERPOP-2334
> 
> i'd closed it once i saw that dave had suggested these lower level string
> functions. i'd like to see the lower level functions added first and then
> talk about bringing back to the format() idea.
> 
> On Tue, Aug 15, 2023 at 7:54 PM Valentyn Kahamlyk
> <[email protected]> wrote:
> 
>> Maybe for such situations it is more organic to add a new  `format` step?
>> It will also be very useful in many other situations and be able to replace
>> the asString step.
>> ```
>> g.V(3).format("%s is in %s", values("code", "city")))
>> ```
>> 
>> or other example for modern graph
>> ```
>> g.V().hasLabel("person").format("Person %s is %s years old", values("name",
>> "age"))
>> ```
>> 
>> On Tue, Aug 15, 2023 at 8:24 AM Kelvin Lawrence <
>> [email protected]>
>> wrote:
>> 
>>> Playing with Gremlin 3.7, and looking at concat() I kind of wish this
>>> worked
>>> 
>>> g.V(3).as('a').values('code').concat(' is in ',
>> select('a').values('city'))
>>> 
>>> rather than having to do
>>> 
>>> g.V(3).as('a').values('code').concat(' is in
>>> ').concat(select('a').values('city'))
>>> 
>>> 2:58 <https://amzn-aws.slack.com/archives/D019DRT9KKN/p1691611095325259>
>>> we do allow
>>> 
>>> g.V(3).as('a').values('code').concat(' is in ', 'Austin')  //String...
>>> 
>>> so it feels a little unbalanced. I wish I had noticed this before
>>> but I guess the type signature would have to be object... almost for that
>>> to work. Perhaps there is a possible compromise where we could do
>> something
>>> using Traversal... and String...
>>> 
>>> --
>>> Cheers, Kelvin
>>> 
>> 

Reply via email to