[
https://issues.apache.org/jira/browse/TINKERPOP-737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yang Xia closed TINKERPOP-737.
------------------------------
Resolution: Won't Do
Closing given
[discussion|https://lists.apache.org/thread/om2m0phg25s83529p9w0gldmcxz7578h] -
it can be reopened if there is expectation that there will be active work on
this item.
> Bidirectional Traversal Execution
> ---------------------------------
>
> Key: TINKERPOP-737
> URL: https://issues.apache.org/jira/browse/TINKERPOP-737
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.0.2-incubating
> Reporter: Matthias Broecheler
> Priority: Major
>
> If you have a traversal of the following form inside a MatchStep:
> {code}
> as('a').out('knows')...[a bunch of steps]..in('bought').as('b')
> {code}
> where you have bindings for both {{a}} and {{b}}, then the most efficient way
> to execute the traversal (in most cases) would be bi-directionally, in the
> sense of bi-directional search [1]. In other words, rather just execute the
> traversal from {{a}} to the right or inversely from {{b}} to the left, you
> execute the traversal from both ends and then the result set is the joining
> of paths that intersect in the middle. The linked Wikipedia article does a
> good job explaining why this greatly reduces the runtime complexity (and
> memory complexity).
> Now, this only works if the traversal is reversible but a lot of them are.
> It would be a great addition if TP3 would be able to execute traversals with
> end point bindings bi-directionally and for MatchStep/XMatchStep to utilize
> this feature to greatly improve performance.
> Note, that this feature alone would give TP3 a highly performant generic
> shortest path finder.
> [1] https://en.wikipedia.org/wiki/Bidirectional_search
--
This message was sent by Atlassian Jira
(v8.20.10#820010)