[ 
https://issues.apache.org/jira/browse/TINKERPOP-1236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15212111#comment-15212111
 ] 

Daniel Kuppitz commented on TINKERPOP-1236:
-------------------------------------------

{quote}
Until we can mutate paths, this is the problem we introduce...
{quote}

{code}
g.V().as("a").out().as("b").
  disablePathTracking().
  select("a").map(values("age")).as("a").
  select("b").map(values("name")).as("b").
  enablePathTracking().
    select(last,"a","b")
{code}

These new steps could become handy in many other situations.

> SelectDenormalizationStrategy for select().by(starGraph) in OLAP.
> -----------------------------------------------------------------
>
>                 Key: TINKERPOP-1236
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1236
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.1.1-incubating
>            Reporter: Marko A. Rodriguez
>
> Right now, if you do anything beyond {{select().by(id)}} in OLAP, you get a 
> {{PathProcessor can't go beyond ElementRequirements.ID}}-style exception. 
> This is TOTALLY unacceptable (like totally... I know right.) because 
> {{select()}} is so heavily used that it makes the OLAP experience not so 
> bueno.
> Enter -- {{SelectDenomalizationStrategy}} which will only be used in OLAP 
> compilations.
> {code}
> select("a").by("name") // not allowed in OLAP right now. (1)
> select("a").map(values("name")) // allowed in OLAP. (2)
> {code}
> Thus, compile (1) into (2). However, in a {{while(true)}}-loop until 
> {{boolean fullyDenormalized}} you also check on this pattern:
> {code}
> select("a","b").by(outE().count()).by("name") // not allowed in OLAP right 
> now (1)
> select("a").by(outE().count()).as("a").select("b").by("name").as("b").select("a","b",Pop.last)
>  // not allowed in OLAP right now, but this denormalizes again given the 
> first SelectOne pattern
> {code}
> The only problem with this is that future {{select()}} will {{Pop}} a list. 
> We need to really make it so we can drop path labels. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to