tinkerpop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stephen mallette (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (TINKERPOP-1540) Create a set of marker interfaces that define step behavior
Date Wed, 07 Aug 2019 15:16:00 GMT

     [ https://issues.apache.org/jira/browse/TINKERPOP-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

stephen mallette closed TINKERPOP-1540.
---------------------------------------
    Resolution: Won't Do

The idea here is to simplify strategy writing, but I'm not sure adding more interfaces helps
with that. Often, it's complex patterns that make strategies "hard" and not so much the finding
of steps by their general behavior. Closing for now....

> Create a set of marker interfaces that define step behavior
> -----------------------------------------------------------
>
>                 Key: TINKERPOP-1540
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1540
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.3
>            Reporter: Marko A. Rodriguez
>            Priority: Major
>
> We have steps like {{SideEffectStep}}, {{MapStep}}, {{FlatMapStep}}, etc., but unfortunately,
these are classes and not all side-effect, map, flatmap, etc. behaving steps extend them.
As such, if you have strategies that need to reason on step behavior, you have to really know
the Gremlin step library well.
> To make it easier to write strategies, we should come up with a set of "marker" interfaces.
> * {{Mapping}} (one-to-one)
> * {{FlatMapping}} (one-to-many)
> * {{Reducing}} (many-to-one)
> * {{Filtering}} (one-to-oneOrNone)
> * {{SideEffecting}} (one-to-one w/ side-effect)
> * {{Barriering}} (many-to-many)
> From here, we tag all the steps with their respective behavior marker and then go through
and clean up strategies.
> Also note that both {{DedupGlobalStep}} and {{TimeLimitStep}} are "stateful steps" and
because of this, shouldn't be decomposed by strategies such as {{RepeatUnrollStrategy}}. Make
a generalizing interface so search traversals for such stateful steps is easy an not error
prone.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Mime
View raw message