Marko A. Rodriguez created TINKERPOP-1236:
---------------------------------------------
Summary: 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)