You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Marko Rodriguez <ok...@gmail.com> on 2015/05/05 19:47:14 UTC
[TinkerPop3] TraversalStrategy Categories (previously known as Lifecycles)
Hello,
https://issues.apache.org/jira/browse/TINKERPOP3-593
Many TraversalStrategies fit into nice categories and these categories make sense to be executed in order. The categories we find useful are:
1. Decoration: EventStrategy, PartitionStrategy -- in short, add "application logic" to the traversal.
2. Optimization: IdentiityRemovalStrategy, RangeByIsCountStrategy -- in short, rewrite the traversal to be more efficient, but with the same semantics.
3. Finalization: EngineDependentStrategy, ProfileStrategy -- in short, do final behaviors that require a fully compiled traversal to work.
4. Verification: LambdaRestrictionStrategy, ReadOnlyStrategy -- in short, no more behavioral tweaking of the traversal, all you can do is analyze it an throw exceptions if the traversal is not correct for the execution context.
If a vendor/user has a strategy that does not fit nicely into one of these categories, they can still extend TraversalStrategy and do cross category post/prior sorting. However, all the strategies in TP3 fit nicely into these categories and best of all, we have removed so much post/prior declaration because of it.
I've updated the docs accordingly.
http://tinkerpop.incubator.apache.org/docs/3.0.0-SNAPSHOT/#traversalstrategy
Enjoy,
Marko.
http://markorodriguez.com