[ 
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)

Reply via email to