public final class EarlyLimitStrategy extends AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy> implements TraversalStrategy.OptimizationStrategy
RangeGlobalStep's that can be moved further left in the traversal and thus be applied
applied earlier. It will also try to merge multiple RangeGlobalStep's into one.
If the logical consequence of one or multiple RangeGlobalStep's is an empty result, the strategy will remove
as many steps as possible and add a NoneStep instead.
__.out().valueMap().limit(5) // becomes __.out().limit(5).valueMap()
__.outE().range(2, 10).valueMap().limit(5) // becomes __.outE().range(2, 7).valueMap()
__.outE().limit(5).valueMap().range(2, -1) // becomes __.outE().range(2, 5).valueMap()
__.outE().limit(5).valueMap().range(5, 10) // becomes __.outE().none()
__.outE().limit(5).valueMap().range(5, 10).cap("a") // becomes __.outE().none().cap("a")
TraversalStrategy.DecorationStrategy, TraversalStrategy.FinalizationStrategy, TraversalStrategy.OptimizationStrategy, TraversalStrategy.ProviderOptimizationStrategy, TraversalStrategy.VerificationStrategySTRATEGY| Modifier and Type | Method and Description |
|---|---|
void |
apply(Traversal.Admin<?,?> traversal) |
static EarlyLimitStrategy |
instance() |
equals, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitcompareTo, getTraversalCategoryapplyPost, applyPrior, getConfigurationpublic void apply(Traversal.Admin<?,?> traversal)
apply in interface TraversalStrategy<TraversalStrategy.OptimizationStrategy>public static EarlyLimitStrategy instance()
Copyright © 2013–2019 Apache Software Foundation. All rights reserved.