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