/** * Remove an arbitrary collection of {@link TraversalStrategy} classes from the traversal source. * * @param traversalStrategyClasses a collection of traversal strategy classes to remove * @return a new traversal source with updated strategies */ @SuppressWarnings({"unchecked", "varargs"}) public default TraversalSource withoutStrategies(final Class<? extends TraversalStrategy>... traversalStrategyClasses) { final TraversalSource clone = this.clone(); clone.getStrategies().removeStrategies(traversalStrategyClasses); clone.getBytecode().addSource(TraversalSource.Symbols.withoutStrategies, traversalStrategyClasses); return clone; }
traversal.removeStep(0); // remove GraphStep traversal.removeStep(traversal.getSteps().size() - 1); // remove ReducingBarrierStep traversal.setStrategies(traversal.clone().getStrategies().removeStrategies(ComputerVerificationStrategy.class, ComputerFinalizationStrategy.class)); // no longer a computer job, but parallel standard jobs
/** * Remove an arbitrary collection of {@link TraversalStrategy} classes from the traversal source. * * @param traversalStrategyClasses a collection of traversal strategy classes to remove * @return a new traversal source with updated strategies */ @SuppressWarnings({"unchecked", "varargs"}) public default TraversalSource withoutStrategies(final Class<? extends TraversalStrategy>... traversalStrategyClasses) { final TraversalSource clone = this.clone(); clone.getStrategies().removeStrategies(traversalStrategyClasses); clone.getBytecode().addSource(TraversalSource.Symbols.withoutStrategies, traversalStrategyClasses); return clone; }
private synchronized JanusGraph newJanusGraph(boolean batchLoading){ JanusGraph JanusGraph = configureGraph(batchLoading); buildJanusIndexes(JanusGraph); JanusGraph.tx().onClose(Transaction.CLOSE_BEHAVIOR.ROLLBACK); if (!strategiesApplied.getAndSet(true)) { TraversalStrategies strategies = TraversalStrategies.GlobalCache.getStrategies(StandardJanusGraph.class); strategies = strategies.clone().addStrategies(new JanusPreviousPropertyStepStrategy()); //TODO: find out why Tinkerpop added these strategies. They result in many NoOpBarrier steps which slowed down our queries so we had to remove them. strategies.removeStrategies(PathRetractionStrategy.class, LazyBarrierStrategy.class); TraversalStrategies.GlobalCache.registerStrategies(StandardJanusGraph.class, strategies); TraversalStrategies.GlobalCache.registerStrategies(StandardJanusGraphTx.class, strategies); } return JanusGraph; }
graphStrategies.removeStrategies(EventStrategy.class);
graphStrategies.removeStrategies(EventStrategy.class);
traversal.removeStep(0); // remove GraphStep traversal.removeStep(traversal.getSteps().size() - 1); // remove ReducingBarrierStep traversal.setStrategies(traversal.clone().getStrategies().removeStrategies(ComputerVerificationStrategy.class, ComputerFinalizationStrategy.class)); // no longer a computer job, but parallel standard jobs