Hi,
I made a ticket for this:
https://issues.apache.org/jira/browse/TINKERPOP-1553
<https://issues.apache.org/jira/browse/TINKERPOP-1553>
Marko.
http://markorodriguez.com
> On Sep 26, 2016, at 9:35 AM, Marko Rodriguez <[email protected]> wrote:
>
> Hello,
>
>> I imagine that .store('x').barrier() and .barrier().store('x') would have
>> the same end result while taking slightly different paths at least with how
>> I read the definitions as they are today in OLTP.
>
> Yes, they would.
>
>> .store('x').barrier() would lazily fill 'x' up to the barrier.
>> .barrier().store('x') would aggregate at the barrier then store all at once
>> in 'x'
>> After strategies are applied there may not be any real difference.
>
> Correct.
>
>> Although I'm a little confused by the local/global statement and how it
>> relates to lazy/eager collections. I definitely see .as() being 'local'
>> or per each entity whereas store() is a collection (not sure about scope).
>> So maybe the thought was that store(local) acts like as()? but then it
>> would have to take another parameter for the label or still use as() in
>> addition. .store(local, 'a'), or .store(local).as('a'),
>> .store(global).as('a'), .barrier().store(global).as('a’)?
>
> Scope.global and Scope.local are simply tokens that mean, in general:
> “for all traversers up to this step” — global
> “for the current traverser at this step” — local
>
> Thus,
>
> store(local) would “store the current traverser at this step.”
> store(global) would “store all traversers up to this step."
>
> Ah. I see your confusion now — yes, we would would still need a side-effect
> variable name:
>
> store(local, “x”)
> store(global, “x”)
>
> …and no, this is not as(“x”) as as(“x”) labels a step. Store requires the
> side-effect variable name.
>
> HTH,
> Marko.
>
>
>
>
>>
>>
>> On Wed, Sep 21, 2016 at 9:15 AM, Ted Wilmes <[email protected]> wrote:
>>
>>> I like the idea of deprecating aggregate and combining barrier with store
>>> to get the same behavior, but the flipped version makes more sense to me
>>> "store().barrier()" when running in OLTP mode.
>>>
>>> gremlin> g.V().out().aggregate('x').limit(1).cap('x')
>>> ==>[v[3],v[3],v[3],v[2],v[4],v[5]]
>>> gremlin> g.V().out().store('x').barrier().limit(1).cap('x')
>>> ==>[v[3],v[3],v[3],v[2],v[4],v[5]]
>>>
>>> With the barrier before the store in DFS, I would assume the store side
>>> effect would still be lazily populated. Having said that I know we could
>>> make it work that way just fine, it just reads a little unintuitively to
>>> me. Curious to see what you guys think of that though because I may have
>>> things turned around in my head.
>>>
>>> --Ted
>>>
>>> On Wed, Sep 21, 2016 at 4:59 AM, Jean-Baptiste Musso <[email protected]>
>>> wrote:
>>>
>>>> I also recall Daniel mentioning in a post that .store() in OLAP works
>>> like
>>>> .aggregate() in OLTP so this change could help users distinguish between
>>>> both worlds and BFS/DFS.
>>>>
>>>> On Wednesday, 21 September 2016, Dylan Millikin <
>>> [email protected]>
>>>> wrote:
>>>>
>>>>> yeah I like the barrier().store() best as well.
>>>>>
>>>>> On Wed, Sep 21, 2016 at 11:46 AM, Jean-Baptiste Musso <
>>> [email protected]
>>>>> <javascript:;>>
>>>>> wrote:
>>>>>
>>>>>> I think barrier().store() for .aggregate() is very appropriate and
>>>> fully
>>>>>> tells what is going on.
>>>>>>
>>>>>> I like both, +1 for one or the other.
>>>>>>
>>>>>> People also tend to confuse .as() and .store()/.aggregate().
>>>>>>
>>>>>> On Tuesday, 20 September 2016, Marko Rodriguez <[email protected]
>>>>> <javascript:;>>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I was thinking that store() and aggregate() should simply be
>>>> “store().”
>>>>>>>
>>>>>>> store() -> store(local)
>>>>>>> aggregate() -> store(global)
>>>>>>>
>>>>>>> Or:
>>>>>>>
>>>>>>> aggregate() -> barrier().store()
>>>>>>>
>>>>>>> Random thoughts…
>>>>>>>
>>>>>>> Marko.
>>>>>>>
>>>>>>> http://markorodriguez.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jean-Baptiste
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Jean-Baptiste
>>>>
>>>
>>
>>
>>
>> --
>> Robert Dale
>