You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/03/10 18:02:00 UTC

incubator-tinkerpop git commit: No more EdgeTraversal, VertexTraversal, etc. Also, remove strategies that are element dependenant.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/newapi dedf5f608 -> a589160a2


No more EdgeTraversal, VertexTraversal, etc. Also, remove strategies that are element dependenant.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/a589160a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/a589160a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/a589160a

Branch: refs/heads/newapi
Commit: a589160a2fc2cd9d1d7385cb5e0e762511e2bd66
Parents: dedf5f6
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Mar 10 11:01:58 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Mar 10 11:01:58 2015 -0600

----------------------------------------------------------------------
 .../process/graph/traversal/EdgeTraversal.java  |  59 --
 .../graph/traversal/ElementTraversal.java       | 560 -------------------
 .../traversal/VertexPropertyTraversal.java      |  54 --
 .../graph/traversal/VertexTraversal.java        |  61 --
 .../tinkerpop/gremlin/structure/Vertex.java     |   1 -
 .../strategy/HadoopElementStepStrategy.java     |  65 ---
 .../gremlin/hadoop/structure/HadoopGraph.java   |  11 -
 .../strategy/TinkerElementStepStrategy.java     |  65 ---
 .../tinkergraph/structure/TinkerGraph.java      |   6 +-
 9 files changed, 1 insertion(+), 881 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/EdgeTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/EdgeTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/EdgeTraversal.java
deleted file mode 100644
index fe677b8..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/EdgeTraversal.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.process.graph.traversal;
-
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.StartStep;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Property;
-
-import java.util.Map;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public interface EdgeTraversal extends ElementTraversal<Edge> {
-
-    @Override
-    default GraphTraversal<Edge, Edge> start() {
-        final GraphTraversal.Admin<Edge, Edge> traversal = new DefaultGraphTraversal<>(this);
-        return traversal.addStep(new StartStep<>(traversal, this));
-    }
-
-    /*@Override
-    public default <E2> GraphTraversal<Edge, Property<E2>> properties(final String... propertyKeys) {
-        return (GraphTraversal) this.start().properties(propertyKeys);
-    }*/
-
-    public default <E2> GraphTraversal<Edge, Map<String, Property<E2>>> propertyMap(final String... propertyKeys) {
-        return this.start().propertyMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<Edge, Map<String, E2>> valueMap(final String... propertyKeys) {
-        return this.start().valueMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<Edge, Map<String, E2>> valueMap(final boolean includeTokens, final String... propertyKeys) {
-        return this.start().valueMap(includeTokens, propertyKeys);
-    }
-
-    // necessary so VertexProperty.value() as a non-traversal method works
-    public default <E2> GraphTraversal<Edge, E2> value() {
-        return this.start().value();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/ElementTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/ElementTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/ElementTraversal.java
deleted file mode 100644
index b4544f4..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/ElementTraversal.java
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.process.graph.traversal;
-
-import org.apache.tinkerpop.gremlin.process.Path;
-import org.apache.tinkerpop.gremlin.process.Scope;
-import org.apache.tinkerpop.gremlin.process.T;
-import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.Traverser;
-import org.apache.tinkerpop.gremlin.process.graph.util.Tree;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Property;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.function.BiFunction;
-import java.util.function.BiPredicate;
-import java.util.function.BinaryOperator;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.function.Supplier;
-import java.util.function.UnaryOperator;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public abstract interface ElementTraversal<A extends Element> {
-
-    //////////////////////////////////////////////////////////////////////
-
-    default GraphTraversal<A, A> start() {
-        throw new UnsupportedOperationException("This method must be implemented by the element");
-    }
-
-    ///////////////////// MAP STEPS /////////////////////
-
-    public default <E2> GraphTraversal<A, E2> map(final Function<Traverser<A>, E2> function) {
-        return this.start().map(function);
-    }
-
-    public default <E2> GraphTraversal<A, E2> flatMap(final Function<Traverser<A>, Iterator<E2>> function) {
-        return this.start().flatMap(function);
-    }
-
-    public default GraphTraversal<A, A> identity() {
-        return this.start().identity();
-    }
-
-    public default GraphTraversal<A, Vertex> to(final Direction direction, final String... edgeLabels) {
-        return this.start().to(direction, edgeLabels);
-    }
-
-    public default GraphTraversal<A, Vertex> out(final String... edgeLabels) {
-        return this.start().out(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Vertex> in(final String... edgeLabels) {
-        return this.start().in(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Vertex> both(final String... edgeLabels) {
-        return this.start().both(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Edge> toE(final Direction direction, final String... edgeLabels) {
-        return this.start().toE(direction, edgeLabels);
-    }
-
-    public default GraphTraversal<A, Edge> outE(final String... edgeLabels) {
-        return this.start().outE(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Edge> inE(final String... edgeLabels) {
-        return this.start().inE(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Edge> bothE(final String... edgeLabels) {
-        return this.start().bothE(edgeLabels);
-    }
-
-    public default GraphTraversal<A, Vertex> toV(final Direction direction) {
-        return this.start().toV(direction);
-    }
-
-    public default GraphTraversal<A, Vertex> inV() {
-        return this.start().inV();
-    }
-
-    public default GraphTraversal<A, Vertex> outV() {
-        return this.start().outV();
-    }
-
-    public default GraphTraversal<A, Vertex> bothV() {
-        return this.start().bothV();
-    }
-
-    public default GraphTraversal<A, Vertex> otherV() {
-        return this.start().otherV();
-    }
-
-    public default GraphTraversal<A, A> order() {
-        return this.start().order();
-    }
-
-    public default GraphTraversal<A, A> order(final Scope scope) {
-        return this.start().order(scope);
-    }
-
-    /*public default <E2> GraphTraversal<A, ? extends Property<E2>> properties(final String... propertyKeys) {
-        return this.start().properties(propertyKeys);
-    }*/
-
-    /*public default <E2> GraphTraversal<A, E2> values(final String... propertyKeys) {
-        return this.start().values(propertyKeys);
-    }*/
-
-    public default GraphTraversal<A, Path> path() {
-        return this.start().path();
-    }
-
-    public default <E2> GraphTraversal<A, E2> back(final String stepLabel) {
-        return this.start().back(stepLabel);
-    }
-
-    public default <E2> GraphTraversal<A, Map<String, E2>> match(final String startLabel, final Traversal... traversals) {
-        return this.start().match(startLabel, traversals);
-    }
-
-    public default <E2> GraphTraversal<A, E2> sack() {
-        return this.start().sack();
-    }
-
-    public default <E2> GraphTraversal<A, E2> select(final String stepLabel) {
-        return this.start().select(stepLabel);
-    }
-
-    public default <E2> GraphTraversal<A, Map<String, E2>> select(final String... stepLabels) {
-        return this.start().select(stepLabels);
-    }
-
-    public default GraphTraversal<A, A> unfold() {
-        return this.start().unfold();
-    }
-
-    public default GraphTraversal<A, List<A>> fold() {
-        return this.start().fold();
-    }
-
-    public default <E2> GraphTraversal<A, E2> fold(final E2 seed, final BiFunction<E2, A, E2> foldFunction) {
-        return this.start().fold(seed, foldFunction);
-    }
-
-    public default GraphTraversal<A, Long> count() {
-        return this.start().count();
-    }
-
-    public default GraphTraversal<A, Long> count(final Scope scope) {
-        return this.start().count(scope);
-    }
-
-    public default GraphTraversal<A, Double> sum() {
-        return this.start().sum();
-    }
-
-    public default GraphTraversal<A, Double> sum(final Scope scope) {
-        return this.start().sum(scope);
-    }
-
-    public default <E2 extends Number> GraphTraversal<A, E2> min() {
-        return this.start().min();
-    }
-
-    public default <E2 extends Number> GraphTraversal<A, E2> min(final Scope scope) {
-        return this.start().min(scope);
-    }
-
-    public default <E2 extends Number> GraphTraversal<A, E2> max() {
-        return this.start().max();
-    }
-
-    public default <E2 extends Number> GraphTraversal<A, E2> max(final Scope scope) {
-        return this.start().max(scope);
-    }
-
-    public default GraphTraversal<A, Double> mean() {
-        return this.start().mean();
-    }
-
-    public default GraphTraversal<A, Double> mean(final Scope scope) {
-        return this.start().mean(scope);
-    }
-
-    public default <K, R> GraphTraversal<A, Map<K, R>> group() {
-        return this.start().group();
-    }
-
-    public default <B> GraphTraversal<A, Map<B, Long>> groupCount() {
-        return this.start().<B>groupCount();
-    }
-
-    public default GraphTraversal<A, Tree> tree() {
-        return this.start().tree();
-    }
-
-    ///////////////////// FILTER STEPS /////////////////////
-
-    public default GraphTraversal<A, A> filter(final Predicate<Traverser<A>> predicate) {
-        return this.start().filter(predicate);
-    }
-
-    public default GraphTraversal<A, A> and(final Traversal<?, ?>... andTraversals) {
-        return this.start().and(andTraversals);
-    }
-
-    public default GraphTraversal<A, A> or(final Traversal<?, ?>... orTraversals) {
-        return this.start().or(orTraversals);
-    }
-
-    public default GraphTraversal<A, A> inject(final Object... injections) {
-        return this.start().inject((A[]) injections);
-    }
-
-    public default GraphTraversal<A, A> dedup() {
-        return this.start().dedup();
-    }
-
-    public default GraphTraversal<A, A> dedup(final Scope scope) {
-        return this.start().dedup(scope);
-    }
-
-    public default GraphTraversal<A, A> except(final String sideEffectKeyOrPathLabel) {
-        return this.start().except(sideEffectKeyOrPathLabel);
-    }
-
-    public default GraphTraversal<A, A> except(final Object exceptObject) {
-        return this.start().except((A) exceptObject);
-    }
-
-    public default GraphTraversal<A, A> except(final Collection<A> exceptCollection) {
-        return this.start().except(exceptCollection);
-    }
-
-    public default GraphTraversal<A, A> has(final Traversal<?, ?> hasNextTraversal) {
-        return this.start().has(hasNextTraversal);
-    }
-
-    public default GraphTraversal<A, A> hasNot(final Traversal<?, ?> hasNotNextTraversal) {
-        return this.start().hasNot(hasNotNextTraversal);
-    }
-
-    public default GraphTraversal<A, A> has(final String key) {
-        return this.start().has(key);
-    }
-
-    public default GraphTraversal<A, A> has(final String key, final Object value) {
-        return this.start().has(key, value);
-    }
-
-    public default GraphTraversal<A, A> has(final T accessor, final Object value) {
-        return this.start().has(accessor, value);
-    }
-
-    public default GraphTraversal<A, A> has(final String key, final BiPredicate predicate, final Object value) {
-        return this.start().has(key, predicate, value);
-    }
-
-    public default GraphTraversal<A, A> has(final T accessor, final BiPredicate predicate, final Object value) {
-        return this.start().has(accessor, predicate, value);
-    }
-
-    public default GraphTraversal<A, A> has(final String label, final String key, final Object value) {
-        return this.start().has(label, key, value);
-    }
-
-    public default GraphTraversal<A, A> has(final String label, final String key, final BiPredicate predicate, final Object value) {
-        return this.start().has(label, key, predicate, value);
-    }
-
-    public default GraphTraversal<A, A> hasNot(final String key) {
-        return this.start().hasNot(key);
-    }
-
-    public default GraphTraversal<A, A> hasLabel(final String... labels) {
-        return this.start().hasLabel(labels);
-    }
-
-    public default GraphTraversal<A, A> hasId(final Object... ids) {
-        return this.start().hasId(ids);
-    }
-
-    public default GraphTraversal<A, A> hasKey(final String... keys) {
-        return this.start().hasKey(keys);
-    }
-
-    public default GraphTraversal<A, A> hasValue(final Object... values) {
-        return this.start().hasValue(values);
-    }
-
-    public default <E2> GraphTraversal<A, Map<String, E2>> where(final String firstKey, final String secondKey, final BiPredicate predicate) {
-        return this.start().where(firstKey, secondKey, predicate);
-    }
-
-    public default <E2> GraphTraversal<A, Map<String, E2>> where(final String firstKey, final BiPredicate predicate, final String secondKey) {
-        return this.start().where(firstKey, predicate, secondKey);
-    }
-
-    public default <E2> GraphTraversal<A, Map<String, E2>> where(final Traversal constraint) {
-        return this.start().where(constraint);
-    }
-
-    public default GraphTraversal<A, A> is(final Object value) {
-        return this.start().is(value);
-    }
-
-    public default GraphTraversal<A, A> is(final BiPredicate predicate, final Object value) {
-        return this.start().is(predicate, value);
-    }
-
-    public default GraphTraversal<A, A> coin(final double probability) {
-        return this.start().coin(probability);
-    }
-
-    public default GraphTraversal<A, A> range(final long low, final long high) {
-        return this.start().range(low, high);
-    }
-
-    public default GraphTraversal<A, A> range(final Scope scope, final long low, final long high) {
-        return this.start().range(scope, low, high);
-    }
-
-    public default GraphTraversal<A, A> limit(final long limit) {
-        return this.start().limit(limit);
-    }
-
-    public default GraphTraversal<A, A> limit(final Scope scope, final long limit) {
-        return this.start().limit(scope, limit);
-    }
-
-    public default GraphTraversal<A, A> retain(final String sideEffectKeyOrPathLabel) {
-        return this.start().retain(sideEffectKeyOrPathLabel);
-    }
-
-    public default GraphTraversal<A, A> retain(final Object retainObject) {
-        return this.start().retain((A) retainObject);
-    }
-
-    public default GraphTraversal<A, A> retain(final Collection<A> retainCollection) {
-        return this.start().retain(retainCollection);
-    }
-
-    public default GraphTraversal<A, A> simplePath() {
-        return this.start().simplePath();
-    }
-
-    public default GraphTraversal<A, A> cyclicPath() {
-        return this.start().cyclicPath();
-    }
-
-    public default GraphTraversal<A, A> sample(final int amountToSample) {
-        return this.start().sample(amountToSample);
-    }
-
-    public default GraphTraversal<A, A> sample(final Scope scope, final int amountToSample) {
-        return this.start().sample(scope, amountToSample);
-    }
-
-    ///////////////////// SIDE-EFFECT STEPS /////////////////////
-
-    public default GraphTraversal<A, A> sideEffect(final Consumer<Traverser<A>> consumer) {
-        return this.start().sideEffect(consumer);
-    }
-
-    public default <E2> GraphTraversal<A, E2> cap(final String... sideEffectKeys) {
-        return this.start().cap(sideEffectKeys);
-    }
-
-    public default GraphTraversal<A, Edge> subgraph(final String sideEffectKey) {
-        return this.start().subgraph(sideEffectKey);
-    }
-
-    public default GraphTraversal<A, A> aggregate(final String sideEffectKey) {
-        return this.start().aggregate(sideEffectKey);
-    }
-
-    public default GraphTraversal<A, A> group(final String sideEffectKey) {
-        return this.start().group(sideEffectKey);
-    }
-
-    public default GraphTraversal<A, A> groupCount(final String sideEffectKey) {
-        return this.start().groupCount(sideEffectKey);
-    }
-
-    public default GraphTraversal<A, Vertex> addE(final Direction direction, final String edgeLabel, final String stepLabel, final Object... propertyKeyValues) {
-        return this.start().addE(direction, edgeLabel, stepLabel, propertyKeyValues);
-    }
-
-    public default GraphTraversal<A, Vertex> addInE(final String edgeLabel, final String setLabel, final Object... propertyKeyValues) {
-        return this.start().addInE(edgeLabel, setLabel, propertyKeyValues);
-    }
-
-    public default GraphTraversal<A, Vertex> addOutE(final String edgeLabel, final String stepLabel, final Object... propertyKeyValues) {
-        return this.start().addOutE(edgeLabel, stepLabel, propertyKeyValues);
-    }
-
-    public default GraphTraversal<A, Vertex> addBothE(final String edgeLabel, final String stepLabel, final Object... propertyKeyValues) {
-        return this.start().addBothE(edgeLabel, stepLabel, propertyKeyValues);
-    }
-
-    public default GraphTraversal<A, A> timeLimit(final long timeLimit) {
-        return this.start().timeLimit(timeLimit);
-    }
-
-    public default GraphTraversal<A, A> tree(final String sideEffectKey) {
-        return this.start().tree(sideEffectKey);
-    }
-
-    public default <V> GraphTraversal<A, A> sack(final BiFunction<V, A, V> sackFunction) {
-        return this.start().sack(sackFunction);
-    }
-
-    public default <V> GraphTraversal<A, A> sack(final BinaryOperator<V> sackOperator, final String elementPropertyKey) {
-        return this.start().sack(sackOperator, elementPropertyKey);
-    }
-
-    public default GraphTraversal<A, A> store(final String sideEffectKey) {
-        return this.start().store(sideEffectKey);
-    }
-
-    ///////////////////// BRANCH STEPS /////////////////////
-
-    public default <M, E2> GraphTraversal<A, E2> branch(final Function<Traverser<A>, M> function) {
-        return this.start().branch(function);
-    }
-
-    public default <M, E2> GraphTraversal<A, E2> branch(final Traversal<?, M> traversalFunction) {
-        return this.start().branch(traversalFunction);
-    }
-
-    public default <E2> GraphTraversal<A, E2> choose(final Predicate<A> choosePredicate, final Traversal<?, E2> trueChoice, final Traversal<?, E2> falseChoice) {
-        return this.start().choose(choosePredicate, trueChoice, falseChoice);
-    }
-
-    public default <M, E2> GraphTraversal<A, E2> choose(final Function<A, M> choiceFunction) {
-        return this.start().choose(choiceFunction);
-    }
-
-    public default <M, E2> GraphTraversal<A, E2> choose(final Traversal<?, M> traversalFunction) {
-        return this.start().choose(traversalFunction);
-    }
-
-    public default <M, E2> GraphTraversal<A, E2> choose(final Traversal<?, M> traversalPredicate, final Traversal<?, E2> trueChoice, final Traversal<?, E2> falseChoice) {
-        return this.start().choose(traversalPredicate, trueChoice, falseChoice);
-    }
-
-    public default <E2> GraphTraversal<A, E2> union(final Traversal<?, E2>... traversals) {
-        return this.start().union(traversals);
-    }
-
-    public default <E2> GraphTraversal<A, E2> coalesce(final Traversal<?, E2>... traversals) {
-        return this.start().coalesce(traversals);
-    }
-
-    public default GraphTraversal<A, A> repeat(final Traversal<?, A> traversal) {
-        return this.start().repeat(traversal);
-    }
-
-    public default GraphTraversal<A, A> emit(final Predicate<Traverser<A>> emitPredicate) {
-        return this.start().emit(emitPredicate);
-    }
-
-    public default GraphTraversal<A, A> emit(final Traversal<?, ?> emitTraversal) {
-        return this.start().emit(emitTraversal);
-    }
-
-    public default GraphTraversal<A, A> emit() {
-        return this.start().emit();
-    }
-
-    public default GraphTraversal<A, A> until(final Predicate<Traverser<A>> untilPredicate) {
-        return this.start().until(untilPredicate);
-    }
-
-    public default GraphTraversal<A, A> until(final Traversal<?, ?> untilTraversal) {
-        return this.start().until(untilTraversal);
-    }
-
-    public default GraphTraversal<A, A> times(final int maxLoops) {
-        return this.start().times(maxLoops);
-    }
-
-    public default <E2> GraphTraversal<A, E2> local(final Traversal<?, E2> localTraversal) {
-        return this.start().local(localTraversal);
-    }
-
-    ///////////////////// UTILITY STEPS /////////////////////
-
-    public default GraphTraversal<A, A> as(final String label) {
-        return this.start().as(label);
-    }
-
-    public default GraphTraversal<A, A> profile() {
-        return this.start().profile();
-    }
-
-    public default GraphTraversal<A, A> withSideEffect(final String key, final Supplier supplier) {
-        return this.start().withSideEffect(key, supplier);
-    }
-
-    public default <B> GraphTraversal<A, A> withSack(final Supplier<B> initialValue, final UnaryOperator<B> splitOperator) {
-        return this.start().withSack(initialValue, splitOperator);
-    }
-
-    public default <B> GraphTraversal<A, A> withSack(final Supplier<B> initialValue) {
-        return this.start().withSack(initialValue);
-    }
-
-    public default <B> GraphTraversal<A, A> withSack(final B initialValue, final UnaryOperator<B> splitOperator) {
-        return this.start().withSack(initialValue, splitOperator);
-    }
-
-    public default <B> GraphTraversal<A, A> withSack(B initialValue) {
-        return this.start().withSack(initialValue);
-    }
-
-    public default GraphTraversal<A, A> withPath() {
-        return this.start().withPath();
-    }
-
-    public default GraphTraversal<A, A> barrier() {
-        return this.start().barrier();
-    }
-
-    ////
-
-    public default GraphTraversal<A, A> iterate() {
-        return this.start().iterate();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexPropertyTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexPropertyTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexPropertyTraversal.java
deleted file mode 100644
index 2210ef3..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexPropertyTraversal.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.process.graph.traversal;
-
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.StartStep;
-import org.apache.tinkerpop.gremlin.structure.Property;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-
-import java.util.Map;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public interface VertexPropertyTraversal extends ElementTraversal<VertexProperty> {
-
-    @Override
-    default GraphTraversal<VertexProperty, VertexProperty> start() {
-        final GraphTraversal.Admin<VertexProperty, VertexProperty> traversal = new DefaultGraphTraversal<>(this);
-        return traversal.addStep(new StartStep<>(traversal, this));
-    }
-
-    /*@Override
-    public default <E2> GraphTraversal<VertexProperty, Property<E2>> properties(final String... propertyKeys) {
-        return (GraphTraversal) this.start().properties(propertyKeys);
-    }*/
-
-    public default <E2> GraphTraversal<VertexProperty, Map<String, Property<E2>>> propertyMap(final String... propertyKeys) {
-        return this.start().propertyMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<VertexProperty, Map<String, E2>> valueMap(final String... propertyKeys) {
-        return this.start().valueMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<VertexProperty, Map<String, E2>> valueMap(final boolean includeTokens, final String... propertyKeys) {
-        return this.start().valueMap(includeTokens, propertyKeys);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexTraversal.java
deleted file mode 100644
index 08a4a8f..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/VertexTraversal.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.process.graph.traversal;
-
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.StartStep;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public interface VertexTraversal extends ElementTraversal<Vertex> {
-
-    @Override
-    default GraphTraversal<Vertex, Vertex> start() {
-        final GraphTraversal.Admin<Vertex, Vertex> traversal = new DefaultGraphTraversal<>(this);
-        return traversal.addStep(new StartStep<>(traversal, this));
-    }
-
-    /*@Override
-    public default <E2> GraphTraversal<Vertex, VertexProperty<E2>> properties(final String... propertyKeys) {
-        return (GraphTraversal) this.start().properties(propertyKeys);
-    }*/
-
-    public default <E2> GraphTraversal<Vertex, Map<String, List<VertexProperty<E2>>>> propertyMap(final String... propertyKeys) {
-        return this.start().propertyMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<Vertex, Map<String, List<E2>>> valueMap(final String... propertyKeys) {
-        return this.start().valueMap(propertyKeys);
-    }
-
-    public default <E2> GraphTraversal<Vertex, Map<String, List<E2>>> valueMap(final boolean includeTokens, final String... propertyKeys) {
-        return this.start().valueMap(includeTokens, propertyKeys);
-    }
-
-    // necessary so VertexProperty.value() as a non-traversal method works
-    public default <E2> GraphTraversal<Vertex, E2> value() {
-        return this.start().value();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
index e2cc6b2..c719b05 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.structure;
 
-import org.apache.tinkerpop.gremlin.process.graph.traversal.VertexTraversal;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
 
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/graph/traversal/strategy/HadoopElementStepStrategy.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/graph/traversal/strategy/HadoopElementStepStrategy.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/graph/traversal/strategy/HadoopElementStepStrategy.java
deleted file mode 100644
index c3e15e1..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/graph/traversal/strategy/HadoopElementStepStrategy.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.hadoop.process.graph.traversal.strategy;
-
-import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopElement;
-import org.apache.tinkerpop.gremlin.process.Step;
-import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GraphStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.IdentityStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.StartStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.AbstractTraversalStrategy;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class HadoopElementStepStrategy extends AbstractTraversalStrategy {
-
-    private static final HadoopElementStepStrategy INSTANCE = new HadoopElementStepStrategy();
-
-    private HadoopElementStepStrategy() {
-    }
-
-    @Override
-    public void apply(final Traversal.Admin<?, ?> traversal) {
-        if (traversal.getEngine().isStandard())
-            return;
-
-        final StartStep<Element> startStep = (StartStep<Element>) traversal.getStartStep();
-        if (startStep.startAssignableTo(Vertex.class, Edge.class)) {
-            final HadoopElement element = ((StartStep<?>) startStep).getStart();
-            traversal.removeStep(0);
-            traversal.getStartStep().getLabel().ifPresent(label -> {
-                final Step identityStep = new IdentityStep(traversal);
-                identityStep.setLabel(label);
-                traversal.addStep(0, identityStep);
-            });
-            traversal.addStep(0, new GraphStep<>(traversal, EmptyGraph.instance(), element.getClass(), element.id()));
-        }
-    }
-
-    public static HadoopElementStepStrategy instance() {
-        return INSTANCE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
index c1a244f..775877b 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
@@ -25,11 +25,9 @@ import org.apache.hadoop.mapreduce.InputFormat;
 import org.apache.tinkerpop.gremlin.hadoop.Constants;
 import org.apache.tinkerpop.gremlin.hadoop.process.computer.giraph.GiraphGraphComputer;
 import org.apache.tinkerpop.gremlin.hadoop.process.computer.spark.SparkGraphComputer;
-import org.apache.tinkerpop.gremlin.hadoop.process.graph.traversal.strategy.HadoopElementStepStrategy;
 import org.apache.tinkerpop.gremlin.hadoop.structure.hdfs.HadoopEdgeIterator;
 import org.apache.tinkerpop.gremlin.hadoop.structure.hdfs.HadoopVertexIterator;
 import org.apache.tinkerpop.gremlin.hadoop.structure.util.ConfUtil;
-import org.apache.tinkerpop.gremlin.process.TraversalStrategies;
 import org.apache.tinkerpop.gremlin.process.computer.GraphComputer;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Graph;
@@ -123,15 +121,6 @@ import java.util.Optional;
         reason = "Hadoop-Gremlin is OLAP-oriented and for OLTP operations, linear-scan joins are required. This particular tests takes many minutes to execute.")
 public class HadoopGraph implements Graph {
 
-    static {
-        try {
-            TraversalStrategies.GlobalCache.registerStrategies(HadoopVertex.class, TraversalStrategies.GlobalCache.getStrategies(Vertex.class).clone().addStrategies(HadoopElementStepStrategy.instance()));
-            TraversalStrategies.GlobalCache.registerStrategies(HadoopEdge.class, TraversalStrategies.GlobalCache.getStrategies(Edge.class).clone().addStrategies(HadoopElementStepStrategy.instance()));
-        } catch (final CloneNotSupportedException e) {
-            throw new IllegalStateException(e.getMessage(), e);
-        }
-    }
-
     public static final Logger LOGGER = LoggerFactory.getLogger(HadoopGraph.class);
 
     private static final Configuration EMPTY_CONFIGURATION = new BaseConfiguration() {{

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/graph/traversal/strategy/TinkerElementStepStrategy.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/graph/traversal/strategy/TinkerElementStepStrategy.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/graph/traversal/strategy/TinkerElementStepStrategy.java
deleted file mode 100644
index cf02adf..0000000
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/graph/traversal/strategy/TinkerElementStepStrategy.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.tinkergraph.process.graph.traversal.strategy;
-
-import org.apache.tinkerpop.gremlin.process.Step;
-import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.GraphStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.IdentityStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.StartStep;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.AbstractTraversalStrategy;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class TinkerElementStepStrategy extends AbstractTraversalStrategy {
-
-    private static final TinkerElementStepStrategy INSTANCE = new TinkerElementStepStrategy();
-
-    private TinkerElementStepStrategy() {
-    }
-
-    @Override
-    public void apply(final Traversal.Admin<?, ?> traversal) {
-        if (traversal.getEngine().isStandard())
-            return;
-
-        final StartStep<Element> startStep = (StartStep<Element>) traversal.getStartStep();
-        if (startStep.startAssignableTo(Vertex.class, Edge.class)) {
-            final Element element = ((StartStep<?>) startStep).getStart();
-            traversal.removeStep(startStep);
-            startStep.getLabel().ifPresent(label -> {
-                final Step identityStep = new IdentityStep(traversal);
-                identityStep.setLabel(label);
-                traversal.addStep(0, identityStep);
-            });
-            traversal.addStep(0, new GraphStep<>(traversal, EmptyGraph.instance(), element.getClass(), element.id()));
-        }
-    }
-
-    public static TinkerElementStepStrategy instance() {
-        return INSTANCE;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a589160a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
index 4c0d594..3ed92cd 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
@@ -33,7 +33,6 @@ import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.tinkergraph.process.computer.TinkerGraphComputer;
 import org.apache.tinkerpop.gremlin.tinkergraph.process.computer.TinkerGraphView;
-import org.apache.tinkerpop.gremlin.tinkergraph.process.graph.traversal.strategy.TinkerElementStepStrategy;
 import org.apache.tinkerpop.gremlin.tinkergraph.process.graph.traversal.strategy.TinkerGraphStepStrategy;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
@@ -66,8 +65,6 @@ public class TinkerGraph implements Graph {
     static {
         try {
             TraversalStrategies.GlobalCache.registerStrategies(TinkerGraph.class, TraversalStrategies.GlobalCache.getStrategies(Graph.class).clone().addStrategies(TinkerGraphStepStrategy.instance()));
-            TraversalStrategies.GlobalCache.registerStrategies(TinkerVertex.class, TraversalStrategies.GlobalCache.getStrategies(Vertex.class).clone().addStrategies(TinkerElementStepStrategy.instance()));
-            TraversalStrategies.GlobalCache.registerStrategies(TinkerEdge.class, TraversalStrategies.GlobalCache.getStrategies(Edge.class).clone().addStrategies(TinkerElementStepStrategy.instance()));
         } catch (final CloneNotSupportedException e) {
             throw new IllegalStateException(e.getMessage(), e);
         }
@@ -89,8 +86,7 @@ public class TinkerGraph implements Graph {
     protected TraversalEngine engine = StandardTraversalEngine.instance();
 
     /**
-     * An empty private constructor that initializes {@link TinkerGraph} with no {@link org.apache.tinkerpop.gremlin.structure.strategy.GraphStrategy}.  Primarily
-     * used for purposes of serialization issues.
+     * An empty private constructor that initializes {@link TinkerGraph} with no {@link org.apache.tinkerpop.gremlin.structure.strategy.GraphStrategy}.
      */
     private TinkerGraph() {
     }