GitHub user okram opened a pull request:

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

    TINKERPOP3-1013: Traverser tags as a safer way of using path labels

    https://issues.apache.org/jira/browse/TINKERPOP3-1013
    
    We have had a hack in `MatchStep` this whole time where we use path labels 
to store branch history. This is not only semantically awkward (as labels are 
added that were not provided via `as()`), it also means we will not be able to 
do https://issues.apache.org/jira/browse/TINKERPOP3-736. Also, this will allow 
us to cleanly implement `IntersectStep` and `SymetricDifferenceStep` (down the 
road).
    
    The implementation is really simple. `Traverser.getTags()`. This method 
returns a mutable set and thus, we can remove, add, size, contains, etc. tags 
associated with a traverser.
    
    Ran `mvn clean install` and all is golden.
    
    VOTE +1.

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

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

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

    https://github.com/apache/incubator-tinkerpop/pull/165.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 #165
    
----
commit e6a1141a0515f8adc7e51adb2a84495349b06c6a
Author: Marko A. Rodriguez <[email protected]>
Date:   2015-12-01T20:16:26Z

    Added Traverser.getTags(). This gives us more flexbility in how we handle 
branch-history. This improves MatchStep, future IntersectStep, future 
SymmetricDifferenceStep, and will allow us to do traversal rewriting in 
MatchStep (TINKERPOP3-736). No more awkward hack of 
traverser.path().extend(step.getId())... the stepID is NOT a path label, its a 
tag.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to