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

ASF GitHub Bot commented on TINKERPOP3-762:
-------------------------------------------

GitHub user dkuppitz opened a pull request:

    https://github.com/apache/incubator-tinkerpop/pull/125

    TINKERPOP3-762: Allow mid-traversal V() (and E())

    * @okram added `V()` as a valid mid-traversal step
    * added traversal test cases
    * added integration tests to verify that indexes will be used in 
`TinkerGraph` and `Neo4jGraph`
    * added a new `GraphStep` section in the docs

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP3-762

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-tinkerpop/pull/125.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #125
    
----
commit 5c5bd06ebbd4ad6781ba46349ebb638f93b4f469
Author: Marko A. Rodriguez <[email protected]>
Date:   2015-10-20T20:09:03Z

    GraphStep no longer extends StartStep. It now takes a boolean isStart in 
its constructor. Moreover, it is no longer a SideEffectStep but a FlatMapStep 
so it moved to the map/ package. TinkerGraphStepStrateagy and 
Neo4jGRaphStepStrategy had to be updated to look for ALL GraphStep instances in 
the traversal and optimize them. Note that @spmallette work in 
ElementIdStrategy, PartitionStrategy, etc. already did 'for all graph steps' so 
that didnt need updating. Updated __ and GraphTraversal with V(). I added a new 
test class called GraphTest with one simple test. I'm passing this off to 
@dkuppitz to populate GraphTest with compliacated examples. Also, we need to 
decided if we want mid-traversal E().

commit 0841bbdc009e4af20fb8bff7899b296eaad3c4da
Author: Marko A. Rodriguez <[email protected]>
Date:   2015-10-20T20:26:50Z

    added a reset() step.

commit 7dd62126c67ade1b59016ab017e6bec7b8e70cc1
Author: Marko A. Rodriguez <[email protected]>
Date:   2015-10-20T21:34:06Z

    Merge branch 'master' into TINKERPOP3-762

commit 6c0e0bd9d0ade9ca62cf1f2a6bdb7a5a3ad0293e
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-25T15:15:09Z

    added a more complex mid-traversal V() traversal test

commit 7b18447d3641811c291c309180d5688642a8a053
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-27T14:47:02Z

    added another GraphStep traversal test

commit c35d08f255f4cdd4d498765291a08748423db460
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-27T14:47:42Z

    implemented GraphStep::hashCode()

commit d83bf71b6ace35f3f0cdf582ba95a67b595fac27
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-27T14:48:44Z

    added a GraphStep core test (hashCode() verification)

commit a976ca672456590999dfd8d26c7ee27ed558e572
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-27T16:33:01Z

    verified that TinkerGraph and Neo4jGraph fold HasContainers into GraphStep

commit df443cc5f71904c167ce86149d4275fc8ea6aa67
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-28T11:39:23Z

    added a docs section for GraphStep

commit 402e57d94fd71f2d652aded37becfe566d4ddad4
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-28T14:32:26Z

    added a srategy test suite for Neo4j

commit 15d6e7a47bac6609dd890635b568ca05e7862bf0
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-28T14:33:05Z

    Revert "verified that TinkerGraph and Neo4jGraph fold HasContainers into 
GraphStep"
    
    This reverts commit a976ca672456590999dfd8d26c7ee27ed558e572.

commit a71a17983d389be2261a2cf12398c485a25813a7
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-28T15:06:30Z

    mirrored approach to test strategies from neo4j-gremlin into 
tinkergraph-gremlin

commit 0900d5f6875ef278a20e6512c1b0f7b77d8586b2
Author: Daniel Kuppitz <[email protected]>
Date:   2015-10-28T15:16:22Z

    updated CHANGELOG and release doc

----


> 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.1-incubating
>            Reporter: Daniel Kuppitz
>            Assignee: Daniel Kuppitz
>             Fix For: 3.1.0-incubating
>
>
> 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
(v6.3.4#6332)

Reply via email to