tinkerpop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Frantz (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TINKERPOP3-762) Allow mid-traversal V() (and E())
Date Mon, 03 Aug 2015 17:50:04 GMT

    [ https://issues.apache.org/jira/browse/TINKERPOP3-762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14652184#comment-14652184

Matt Frantz commented on TINKERPOP3-762:

I was thinking that the {{match}} step logic would allow the merge of multiple sources to
be dynamically optimized, and would properly capture the symmetry of a multi-source traversal.
 If written as a mid-traversal step, the author must decide which traversal is the "outer
loop" and which the "inner loop", or else we rely on a strategy that splits and rewrites the
traversal using the {{match}} step logic.

So perhaps we can start with the imperative mid-traversal step (this JIRA issue), and then
work toward allowing {{match}} to optimize multiple sources (a separate JIRA issue).

> Allow mid-traversal V() (and E())
> ---------------------------------
>                 Key: TINKERPOP3-762
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-762
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.0.0-incubating
>            Reporter: Daniel Kuppitz
>            Assignee: Marko A. Rodriguez
> We should allow mid-traversal {{V()}} and {{E()}}. It shouldn't be a technical problem,
since we always know the traversal source, thus it's just a simple {{flatMap}}. Vendors could
then implement mid-traversal global index lookups.
> *Example*:
> {code}
> g.V().hasLabel("company").has("name", "DataStax").in("worksFor").as("dse").
>   V().hasLabel("company").has("name", "Aurelius").in("worksFor").as("ae").
>       addOutE("dse", "knows", "ae", "since", "02/2015")
> {code}

This message was sent by Atlassian JIRA

View raw message