You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Daniel Kuppitz (JIRA)" <ji...@apache.org> on 2015/06/29 18:12:05 UTC
[jira] [Created] (TINKERPOP3-754) MergeStep
Daniel Kuppitz created TINKERPOP3-754:
-----------------------------------------
Summary: MergeStep
Key: TINKERPOP3-754
URL: https://issues.apache.org/jira/browse/TINKERPOP3-754
Project: TinkerPop 3
Issue Type: Improvement
Components: process
Reporter: Daniel Kuppitz
Assignee: Marko A. Rodriguez
Given the traversal in https://issues.apache.org/jira/browse/TINKERPOP3-753 I thought it would be nice to have a step that lets us modify a {{sideEffect}} map - basically {{store()}} for maps. For example:
{code}
g.V().match(
__.as("v").outE().count().as("outDegree"),
__.as("v").inE().count().as("inDegree")).
select("v").by(valueMap()).merge("outDegree","inDegree")
{code}
**Expected result:**
{noformat}
==>[name=[marko], age=[29], inDegree=0, outDegree=3]
==>[name=[vadas], age=[27], inDegree=1, outDegree=0]
==>[name=[lop], lang=[java], inDegree=3, outDegree=0]
==>[name=[josh], age=[32], inDegree=1, outDegree=2]
==>[name=[ripple], lang=[java], inDegree=1, outDegree=0]
==>[name=[peter], age=[35], inDegree=0, outDegree=1]
{noformat}
Instead of {{.merge(keys...)}} we could also make it {{.merge(mapKey, keys...)}} (which is probably better as it allows more flexible traversals).
[~okram] already mentioned that {{merge()}} might not be the best name (and I agree), so both - the name and the functionality - are still open for discussions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)