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/06/09 18:22:25 UTC
incubator-tinkerpop git commit: renamed KeyStep to PropertyKeyStep so
its consistent with PropertyValueStep. Started the arduous process of
JavaDocing GraphTraversal and __.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master f01f3c2da -> b4cc944e1
renamed KeyStep to PropertyKeyStep so its consistent with PropertyValueStep. Started the arduous process of JavaDocing GraphTraversal and __.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/b4cc944e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/b4cc944e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/b4cc944e
Branch: refs/heads/master
Commit: b4cc944e12b392eea48e5015c46ee095dc839042
Parents: f01f3c2
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Jun 9 10:22:19 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Jun 9 10:22:19 2015 -0600
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../traversal/dsl/graph/GraphTraversal.java | 220 ++++++++++++++++++-
.../gremlin/process/traversal/dsl/graph/__.java | 165 ++++++++++++++
.../process/traversal/step/map/KeyStep.java | 47 ----
.../traversal/step/map/PropertyKeyStep.java | 47 ++++
.../process/traversal/step/map/KeyStepTest.java | 40 ----
.../traversal/step/map/PropertyKeyStepTest.java | 40 ++++
7 files changed, 471 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e5aac08..a6ec7bf 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ image::http://www.tinkerpop.com/docs/current/images/gremlin-hindu.png[width=225]
TinkerPop 3.0.0.GA (NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Renamed `KeyStep` to `PropertyKeyStep` to be consistent with `PropertyValueStep`.
* The REST API in Gremlin Server now requires parameters to be defined with a "bindings." prefix.
* Modified the REST API in Gremlin Server to accept rebindings.
* Added `rebindings` optional argument to sessionless requests to allow global bindings to be rebound as needed.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 2dc03c7..f9771b7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -67,7 +67,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.map.FoldStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupCountStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.IdStep;
-import org.apache.tinkerpop.gremlin.process.traversal.step.map.KeyStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.LabelStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.LambdaFlatMapStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.LambdaMapStep;
@@ -81,6 +80,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderLocalStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertiesStep;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyKeyStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyMapStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyValueStep;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.RangeLocalStep;
@@ -167,114 +167,287 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
///////////////////// MAP STEPS /////////////////////
+ /**
+ * Map a traveser referencing an object of type <code>E</code> to an object of type <code>E2</code>.
+ *
+ * @param function the lambda expression that does the functional mapping
+ * @param <E2>the mapping end type
+ * @return the traversal with an appended {@link LambdaMapStep}.
+ */
public default <E2> GraphTraversal<S, E2> map(final Function<Traverser<E>, E2> function) {
return this.asAdmin().addStep(new LambdaMapStep<>(this.asAdmin(), function));
}
+ /**
+ * Map a traverser referencing an object of type <code>E</code> to an iterator of objects of type <code>E2</code>.
+ * The resultant iterator is drained one-by-one before a new <code>E</code> object is pulled in for processing.
+ *
+ * @param function the lambda expression that does the functional mapping
+ * @param <E2> the type of the returned iterator objects
+ * @return the traversal with an appended {@link LambdaFlatMapStep}.
+ */
public default <E2> GraphTraversal<S, E2> flatMap(final Function<Traverser<E>, Iterator<E2>> function) {
return this.asAdmin().addStep(new LambdaFlatMapStep<>(this.asAdmin(), function));
}
+ /**
+ * Map the {@link Element} to its {@link Element#id}.
+ *
+ * @return the traversal with an appended {@link IdStep}.
+ */
public default GraphTraversal<S, Object> id() {
return this.asAdmin().addStep(new IdStep<>(this.asAdmin()));
}
+ /**
+ * Map the {@link Element} to its {@link Element#label}.
+ *
+ * @return the traversal with an appended {@link LabelStep}.
+ */
public default GraphTraversal<S, String> label() {
return this.asAdmin().addStep(new LabelStep<>(this.asAdmin()));
}
+ /**
+ * Map the <code>E</code> object to itself. In other words, a "no op."
+ *
+ * @return the traversal with an appended {@link IdentityStep}.
+ */
public default GraphTraversal<S, E> identity() {
return this.asAdmin().addStep(new IdentityStep<>(this.asAdmin()));
}
+ /**
+ * Map the {@link Vertex} to its adjacent vertices given a direction and edge labels.
+ *
+ * @param direction the direction to traverse from the current vertex
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Vertex> to(final Direction direction, final String... edgeLabels) {
return this.asAdmin().addStep(new VertexStep<>(this.asAdmin(), Vertex.class, direction, edgeLabels));
}
+ /**
+ * Map the {@link Vertex} to its outgoing adjacent vertices given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Vertex> out(final String... edgeLabels) {
return this.to(Direction.OUT, edgeLabels);
}
+ /**
+ * Map the {@link Vertex} to its incoming adjacent vertices given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Vertex> in(final String... edgeLabels) {
return this.to(Direction.IN, edgeLabels);
}
+ /**
+ * Map the {@link Vertex} to its adjacent vertices given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Vertex> both(final String... edgeLabels) {
return this.to(Direction.BOTH, edgeLabels);
}
+ /**
+ * Map the {@link Vertex} to its incident edges given the direction and edge labels.
+ *
+ * @param direction the direction to traverse from the current vertex
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Edge> toE(final Direction direction, final String... edgeLabels) {
return this.asAdmin().addStep(new VertexStep<>(this.asAdmin(), Edge.class, direction, edgeLabels));
}
+ /**
+ * Map the {@link Vertex} to its outgoing incident edges given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Edge> outE(final String... edgeLabels) {
return this.toE(Direction.OUT, edgeLabels);
}
+ /**
+ * Map the {@link Vertex} to its incoming incident edges given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Edge> inE(final String... edgeLabels) {
return this.toE(Direction.IN, edgeLabels);
}
+ /**
+ * Map the {@link Vertex} to its incident edges given the edge labels.
+ *
+ * @param edgeLabels the edge labels to traverse
+ * @return the traversal with an appended {@link VertexStep}.
+ */
public default GraphTraversal<S, Edge> bothE(final String... edgeLabels) {
return this.toE(Direction.BOTH, edgeLabels);
}
+ /**
+ * Map the {@link Edge} to its incident vertices given the direction.
+ *
+ * @param direction the direction to traverser from the current edge
+ * @return the traversal with an appended {@link EdgeVertexStep}.
+ */
public default GraphTraversal<S, Vertex> toV(final Direction direction) {
return this.asAdmin().addStep(new EdgeVertexStep(this.asAdmin(), direction));
}
+ /**
+ * Map the {@link Edge} to its incoming/head incident {@link Vertex}.
+ *
+ * @return the traversal with an appended {@link EdgeVertexStep}.
+ */
public default GraphTraversal<S, Vertex> inV() {
return this.toV(Direction.IN);
}
+ /**
+ * Map the {@link Edge} to its outgoing/tail incident {@link Vertex}.
+ *
+ * @return the traversal with an appended {@link EdgeVertexStep}.
+ */
public default GraphTraversal<S, Vertex> outV() {
return this.toV(Direction.OUT);
}
+ /**
+ * Map the {@link Edge} to its incident vertices.
+ *
+ * @return the traversal with an appended {@link EdgeVertexStep}.
+ */
public default GraphTraversal<S, Vertex> bothV() {
return this.toV(Direction.BOTH);
}
+ /**
+ * Map the {@link Edge} to the incident vertex that was not just traversed from in the path history.
+ *
+ * @return the traversal with an appended {@link EdgeOtherVertexStep}.
+ */
public default GraphTraversal<S, Vertex> otherV() {
return this.asAdmin().addStep(new EdgeOtherVertexStep(this.asAdmin()));
}
+ /**
+ * Order all the objects in the traversal up to this point and then emit them one-by-one in their ordered sequence.
+ *
+ * @return the traversal with an appended {@link OrderGlobalStep}.
+ */
public default GraphTraversal<S, E> order() {
return this.order(Scope.global);
}
+ /**
+ * Order either the {@link Scope#local} object (e.g. a list, map, etc.) or the entire {@link Scope#global} traversal stream.
+ *
+ * @param scope whether the ordering is the current local object or the entire global stream.
+ * @return the traversal with an appended {@link OrderGlobalStep} or {@link OrderLocalStep}.
+ */
public default GraphTraversal<S, E> order(final Scope scope) {
return this.asAdmin().addStep(scope.equals(Scope.global) ? new OrderGlobalStep<>(this.asAdmin()) : new OrderLocalStep<>(this.asAdmin()));
}
+ /**
+ * Map the {@link Element} to its associated properties given the provide property keys.
+ * If no property keys are provided, then all properties are emitted.
+ *
+ * @param propertyKeys the properties to retrieve
+ * @param <E2> the value type of the returned properties
+ * @return the traversal with an appended {@link PropertiesStep}.
+ */
public default <E2> GraphTraversal<S, ? extends Property<E2>> properties(final String... propertyKeys) {
return this.asAdmin().addStep(new PropertiesStep<>(this.asAdmin(), PropertyType.PROPERTY, propertyKeys));
}
+ /**
+ * Map the {@link Element} to the values of the associated properties given the provide property keys.
+ * If no property keys are provided, then all property values are emitted.
+ *
+ * @param propertyKeys the properties to retrieve their value from
+ * @param <E2> the value type of the properties
+ * @return the traversal with an appended {@link PropertiesStep}.
+ */
public default <E2> GraphTraversal<S, E2> values(final String... propertyKeys) {
return this.asAdmin().addStep(new PropertiesStep<>(this.asAdmin(), PropertyType.VALUE, propertyKeys));
}
+ /**
+ * Map the {@link Element} to a {@link Map} of the properties key'd according to their {@link Property#key}.
+ * If no property keys are provided, then all properties are retrieved.
+ *
+ * @param propertyKeys the properties to retrieve
+ * @param <E2> the value type of the returned properties
+ * @return the traversal with an appended {@link PropertyMapStep}.
+ */
public default <E2> GraphTraversal<S, Map<String, E2>> propertyMap(final String... propertyKeys) {
return this.asAdmin().addStep(new PropertyMapStep<>(this.asAdmin(), false, PropertyType.PROPERTY, propertyKeys));
}
+ /**
+ * Map the {@link Element} to a {@link Map} of the property values key'd according to their {@link Property#key}.
+ * If no property keys are provided, then all property values are retrieved.
+ *
+ * @param propertyKeys the properties to retrieve
+ * @param <E2> the value type of the returned properties
+ * @return the traversal with an appended {@link PropertyMapStep}.
+ */
public default <E2> GraphTraversal<S, Map<String, E2>> valueMap(final String... propertyKeys) {
return this.asAdmin().addStep(new PropertyMapStep<>(this.asAdmin(), false, PropertyType.VALUE, propertyKeys));
}
+ /**
+ * Map the {@link Element} to a {@link Map} of the property values key'd according to their {@link Property#key}.
+ * If no property keys are provided, then all property values are retrieved.
+ *
+ * @param includeTokens whether to include {@link T} tokens in the emitted map.
+ * @param propertyKeys the properties to retrieve
+ * @param <E2> the value type of the returned properties
+ * @return the traversal with an appended {@link PropertyMapStep}.
+ */
public default <E2> GraphTraversal<S, Map<String, E2>> valueMap(final boolean includeTokens, final String... propertyKeys) {
return this.asAdmin().addStep(new PropertyMapStep<>(this.asAdmin(), includeTokens, PropertyType.VALUE, propertyKeys));
}
+ /**
+ * Map the {@link Property} to its {@link Property#key}.
+ *
+ * @return the traversal with an appended {@link PropertyKeyStep}.
+ */
public default GraphTraversal<S, String> key() {
- return this.asAdmin().addStep(new KeyStep(this.asAdmin()));
+ return this.asAdmin().addStep(new PropertyKeyStep(this.asAdmin()));
}
+ /**
+ * Map the {@link Property} to its {@link Property#value}.
+ *
+ * @return the traversal with an appended {@link PropertyValueStep}.
+ */
public default <E2> GraphTraversal<S, E2> value() {
return this.asAdmin().addStep(new PropertyValueStep<>(this.asAdmin()));
}
+ /**
+ * Map the {@link Traverser} to its {@link Path} history via {@link Traverser#path}.
+ *
+ * @return the traversal with an appended {@link PathStep}.
+ */
public default GraphTraversal<S, Path> path() {
return this.asAdmin().addStep(new PathStep<>(this.asAdmin()));
}
@@ -283,6 +456,12 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return (GraphTraversal) this.asAdmin().addStep(new MatchStep<E, Map<String, E2>>(this.asAdmin(), startLabel, traversals));
}
+ /**
+ * Map the {@link Traverser} to its {@link Traverser#sack} value.
+ *
+ * @param <E2> the sack value type
+ * @return the traversal with an appended {@link SackStep}.
+ */
public default <E2> GraphTraversal<S, E2> sack() {
return this.asAdmin().addStep(new SackStep<>(this.asAdmin()));
}
@@ -315,6 +494,11 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(new FoldStep<>(this.asAdmin(), new ConstantSupplier<>(seed), foldFunction)); // TODO: User should provide supplier?
}
+ /**
+ * Map the traversal stream to its reduction as a sum of the {@link Traverser#bulk} values (i.e. count the number of traversers up to this point).
+ *
+ * @return the traversal with an appended {@link CountGlobalStep}.
+ */
public default GraphTraversal<S, Long> count() {
return this.count(Scope.global);
}
@@ -323,6 +507,11 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(scope.equals(Scope.global) ? new CountGlobalStep<>(this.asAdmin()) : new CountLocalStep<>(this.asAdmin()));
}
+ /**
+ * Map the traversal stream to its reduction as a sum of the {@link Traverser#get} values multiplied by their {@link Traverser#bulk} (i.e. sum the traverser values up to this point).
+ *
+ * @return the traversal with an appended {@link SumGlobalStep}.
+ */
public default GraphTraversal<S, Double> sum() {
return this.sum(Scope.global);
}
@@ -412,6 +601,11 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(new InjectStep<>(this.asAdmin(), injections));
}
+ /**
+ * Remove all duplicates in the traversal stream up to this point.
+ *
+ * @return the traversal with an appended {@link DedupGlobalStep}.
+ */
public default GraphTraversal<S, E> dedup() {
return this.dedup(Scope.global);
}
@@ -500,10 +694,22 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(new IsStep<>(this.asAdmin(), predicate));
}
+ /**
+ * Filter the <code>E</code> object if it is not {@link P#eq} to the provided value.
+ *
+ * @param value the value that the object must equal.
+ * @return the traversal with an appended {@link IsStep}.
+ */
public default GraphTraversal<S, E> is(final Object value) {
return this.is(value instanceof P ? (P<E>) value : P.eq((E) value));
}
+ /**
+ * Filter the <code>E</code> object given a biased coin toss.
+ *
+ * @param probability the probability that the object will pass through
+ * @return the traversal with an appended {@link CoinStep}.
+ */
public default GraphTraversal<S, E> coin(final double probability) {
return this.asAdmin().addStep(new CoinStep<>(this.asAdmin(), probability));
}
@@ -544,10 +750,20 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
: new TailLocalStep<>(this.asAdmin(), limit));
}
+ /**
+ * Filter the <code>E</code> object if its {@link Traverser#path} is not {@link Path#isSimple}.
+ *
+ * @return the traversal with an appended {@link SimplePathStep}.
+ */
public default GraphTraversal<S, E> simplePath() {
return this.asAdmin().addStep(new SimplePathStep<>(this.asAdmin()));
}
+ /**
+ * Filter the <code>E</code> object if its {@link Traverser#path} is {@link Path#isSimple}.
+ *
+ * @return the traversal with an appended {@link CyclicPathStep}.
+ */
public default GraphTraversal<S, E> cyclicPath() {
return this.asAdmin().addStep(new CyclicPathStep<>(this.asAdmin()));
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
index f2d3dce..6c2825f 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
@@ -60,222 +60,387 @@ public class __ {
///////////////////// MAP STEPS /////////////////////
+ /**
+ * @see {@link GraphTraversal#map(Function)}.
+ */
public static <A, B> GraphTraversal<A, B> map(final Function<Traverser<A>, B> function) {
return __.<A>start().map(function);
}
+ /**
+ * @see {@link GraphTraversal#flatMap(Function)}.
+ */
public static <A, B> GraphTraversal<A, B> flatMap(final Function<Traverser<A>, Iterator<B>> function) {
return __.<A>start().flatMap(function);
}
+ /**
+ * @see {@link GraphTraversal#identity()}
+ */
public static <A> GraphTraversal<A, A> identity() {
return __.<A>start().identity();
}
+ /**
+ * @see {@link GraphTraversal#label()}
+ */
public static <A> GraphTraversal<A, String> label() {
return __.<A>start().label();
}
+ /**
+ * @see {@link GraphTraversal#id()}
+ */
public static <A> GraphTraversal<A, Object> id() {
return __.<A>start().id();
}
+ /**
+ * @see {@link GraphTraversal#to(Direction, String...)}
+ */
public static <A> GraphTraversal<A, Vertex> to(final Direction direction, final String... edgeLabels) {
return __.<A>start().to(direction, edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#out(String...)}
+ */
public static <A> GraphTraversal<A, Vertex> out(final String... edgeLabels) {
return __.<A>start().out(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#in(String...)}
+ */
public static <A> GraphTraversal<A, Vertex> in(final String... edgeLabels) {
return __.<A>start().in(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#both(String...)}
+ */
public static <A> GraphTraversal<A, Vertex> both(final String... edgeLabels) {
return __.<A>start().both(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#toE(Direction, String...)}
+ */
public static <A> GraphTraversal<A, Edge> toE(final Direction direction, final String... edgeLabels) {
return __.<A>start().toE(direction, edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#outE(String...)}
+ */
public static <A> GraphTraversal<A, Edge> outE(final String... edgeLabels) {
return __.<A>start().outE(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#inE(String...)}
+ */
public static <A> GraphTraversal<A, Edge> inE(final String... edgeLabels) {
return __.<A>start().inE(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#bothE(String...)}
+ */
public static <A> GraphTraversal<A, Edge> bothE(final String... edgeLabels) {
return __.<A>start().bothE(edgeLabels);
}
+ /**
+ * @see {@link GraphTraversal#toV(Direction)}
+ */
public static <A> GraphTraversal<A, Vertex> toV(final Direction direction) {
return __.<A>start().toV(direction);
}
+ /**
+ * @see {@link GraphTraversal#inV()}
+ */
public static <A> GraphTraversal<A, Vertex> inV() {
return __.<A>start().inV();
}
+ /**
+ * @see {@link GraphTraversal#outV()}
+ */
public static <A> GraphTraversal<A, Vertex> outV() {
return __.<A>start().outV();
}
+ /**
+ * @see {@link GraphTraversal#bothV()}
+ */
public static <A> GraphTraversal<A, Vertex> bothV() {
return __.<A>start().bothV();
}
+ /**
+ * @see {@link GraphTraversal#otherV()}
+ */
public static <A> GraphTraversal<A, Vertex> otherV() {
return __.<A>start().otherV();
}
+ /**
+ * @see {@link GraphTraversal#order()}
+ */
public static <A> GraphTraversal<A, A> order() {
return __.<A>start().order();
}
+ /**
+ * @see {@link GraphTraversal#order(Scope)}
+ */
public static <A> GraphTraversal<A, A> order(final Scope scope) {
return __.<A>start().order(scope);
}
+ /**
+ * @see {@link GraphTraversal#properties(String...)}
+ */
public static <A, B> GraphTraversal<A, ? extends Property<B>> properties(final String... propertyKeys) {
return __.<A>start().properties(propertyKeys);
}
+ /**
+ * @see {@link GraphTraversal#values(String...)}
+ */
public static <A, B> GraphTraversal<A, B> values(final String... propertyKeys) {
return __.<A>start().values(propertyKeys);
}
+ /**
+ * @see {@link GraphTraversal#propertyMap(String...)}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> propertyMap(final String... propertyKeys) {
return __.<A>start().propertyMap(propertyKeys);
}
+ /**
+ * @see {@link GraphTraversal#valueMap(String...)}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> valueMap(final String... propertyKeys) {
return __.<A>start().valueMap(propertyKeys);
}
+ /**
+ * @see {@link GraphTraversal#valueMap(boolean, String...)}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> valueMap(final boolean includeTokens, final String... propertyKeys) {
return __.<A>start().valueMap(includeTokens, propertyKeys);
}
+ /**
+ * @see {@link GraphTraversal#key()}
+ */
public static <A> GraphTraversal<A, String> key() {
return __.<A>start().key();
}
+ /**
+ * @see {@link GraphTraversal#value()}
+ */
public static <A, B> GraphTraversal<A, B> value() {
return __.<A>start().value();
}
+ /**
+ * @see {@link GraphTraversal#path()}
+ */
public static <A> GraphTraversal<A, Path> path() {
return __.<A>start().path();
}
+ /**
+ * @see {@link GraphTraversal#match(String, Traversal[])}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> match(final String startLabel, final Traversal<?, ?>... traversals) {
return __.<A>start().match(startLabel, traversals);
}
+ /**
+ * @see {@link GraphTraversal#sack()}
+ */
public static <A, B> GraphTraversal<A, B> sack() {
return __.<A>start().sack();
}
+ /**
+ * @see {@link GraphTraversal#select(Scope, String)}
+ */
public static <A, B> GraphTraversal<A, B> select(final Scope scope, final String stepLabel) {
return __.<A>start().select(scope, stepLabel);
}
+ /**
+ * @see {@link GraphTraversal#select(String)}
+ */
public static <A, B> GraphTraversal<A, B> select(final String stepLabel) {
return __.<A>start().select(stepLabel);
}
+ /**
+ * @see {@link GraphTraversal#select(Scope, String...)}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> select(final Scope scope, final String... stepLabels) {
return __.<A>start().select(scope, stepLabels);
}
+ /**
+ * @see {@link GraphTraversal#select(String...)}
+ */
public static <A, B> GraphTraversal<A, Map<String, B>> select(final String... stepLabels) {
return __.<A>start().select(stepLabels);
}
+ /**
+ * @see {@link GraphTraversal#unfold()}
+ */
public static <A> GraphTraversal<A, A> unfold() {
return __.<A>start().unfold();
}
+ /**
+ * @see {@link GraphTraversal#fold()}
+ */
public static <A> GraphTraversal<A, List<A>> fold() {
return __.<A>start().fold();
}
+ /**
+ * @see {@link GraphTraversal#fold(Object, BiFunction)}
+ */
public static <A, B> GraphTraversal<A, B> fold(final B seed, final BiFunction<B, A, B> foldFunction) {
return __.<A>start().fold(seed, foldFunction);
}
+ /**
+ * @see {@link GraphTraversal#count()}
+ */
public static <A> GraphTraversal<A, Long> count() {
return __.<A>start().count();
}
+ /**
+ * @see {@link GraphTraversal#count(Scope)}
+ */
public static <A> GraphTraversal<A, Long> count(final Scope scope) {
return __.<A>start().count(scope);
}
+ /**
+ * @see {@link GraphTraversal#sum()}
+ */
public static <A> GraphTraversal<A, Double> sum() {
return __.<A>start().sum();
}
+ /**
+ * @see {@link GraphTraversal#sum(Scope)}
+ */
public static <A> GraphTraversal<A, Double> sum(final Scope scope) {
return __.<A>start().sum(scope);
}
+ /**
+ * @see {@link GraphTraversal#min()}
+ */
public static <A, B extends Number> GraphTraversal<A, B> min() {
return __.<A>start().min();
}
+ /**
+ * @see {@link GraphTraversal#min(Scope)}
+ */
public static <A, B extends Number> GraphTraversal<A, B> min(final Scope scope) {
return __.<A>start().min(scope);
}
+ /**
+ * @see {@link GraphTraversal#max()}
+ */
public static <A, B extends Number> GraphTraversal<A, B> max() {
return __.<A>start().max();
}
+ /**
+ * @see {@link GraphTraversal#max(Scope)}
+ */
public static <A, B extends Number> GraphTraversal<A, B> max(final Scope scope) {
return __.<A>start().max(scope);
}
+ /**
+ * @see {@link GraphTraversal#mean()}
+ */
public static <A> GraphTraversal<A, Double> mean() {
return __.<A>start().mean();
}
+ /**
+ * @see {@link GraphTraversal#mean(Scope)}
+ */
public static <A> GraphTraversal<A, Double> mean(final Scope scope) {
return __.<A>start().mean(scope);
}
+ /**
+ * @see {@link GraphTraversal#group()}
+ */
public static <A, K, R> GraphTraversal<A, Map<K, R>> group() {
return __.<A>start().group();
}
+ /**
+ * @see {@link GraphTraversal#groupCount()}
+ */
public static <A, B> GraphTraversal<A, Map<B, Long>> groupCount() {
return __.<A>start().<B>groupCount();
}
+ /**
+ * @see {@link GraphTraversal#tree()}
+ */
public static <A> GraphTraversal<A, Tree> tree() {
return __.<A>start().tree();
}
+ /**
+ * @see {@link GraphTraversal#addV(Object...)}
+ */
public static <A> GraphTraversal<A, Vertex> addV(final Object... propertyKeyValues) {
return __.<A>start().addV(propertyKeyValues);
}
+ /**
+ * @see {@link GraphTraversal#addE(Scope, Direction, String, String, Object...)} (Scope, String)}
+ */
public static <A> GraphTraversal<A, Edge> addE(final Scope scope, final Direction direction, final String firstVertexKeyOrEdgeLabel, final String edgeLabelOrSecondVertexKey, final Object... propertyKeyValues) {
return __.<A>start().addE(scope, direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues);
}
+ /**
+ * @see {@link GraphTraversal#addE(Direction, String, String, Object...)}
+ */
public static <A> GraphTraversal<A, Edge> addE(final Direction direction, final String firstVertexKeyOrEdgeLabel, final String edgeLabelOrSecondVertexKey, final Object... propertyKeyValues) {
return __.<A>start().addE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues);
}
+ /**
+ * @see {@link GraphTraversal#addOutE(String, String, Object...)}
+ */
public static <A> GraphTraversal<A, Edge> addOutE(final String firstVertexKeyOrEdgeLabel, final String edgeLabelOrSecondVertexKey, final Object... propertyKeyValues) {
return __.<A>start().addOutE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues);
}
+ /**
+ * @see {@link GraphTraversal#addInE(String, String, Object...)}
+ */
public static <A> GraphTraversal<A, Edge> addInE(final String firstVertexKeyOrEdgeLabel, final String edgeLabelOrSecondVertexKey, final Object... propertyKeyValues) {
return __.<A>start().addInE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues);
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStep.java
deleted file mode 100644
index 1666c6c..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStep.java
+++ /dev/null
@@ -1,47 +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.traversal.step.map;
-
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
-import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
-import org.apache.tinkerpop.gremlin.structure.Property;
-
-import java.util.Collections;
-import java.util.Set;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public final class KeyStep extends MapStep<Property, String> {
-
- public KeyStep(final Traversal.Admin traversal) {
- super(traversal);
- }
-
- @Override
- protected String map(final Traverser.Admin<Property> traverser) {
- return traverser.get().key();
- }
-
- @Override
- public Set<TraverserRequirement> getRequirements() {
- return Collections.singleton(TraverserRequirement.OBJECT);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStep.java
new file mode 100644
index 0000000..ea1db27
--- /dev/null
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStep.java
@@ -0,0 +1,47 @@
+/*
+ * 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.traversal.step.map;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
+import org.apache.tinkerpop.gremlin.structure.Property;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public final class PropertyKeyStep extends MapStep<Property, String> {
+
+ public PropertyKeyStep(final Traversal.Admin traversal) {
+ super(traversal);
+ }
+
+ @Override
+ protected String map(final Traverser.Admin<Property> traverser) {
+ return traverser.get().key();
+ }
+
+ @Override
+ public Set<TraverserRequirement> getRequirements() {
+ return Collections.singleton(TraverserRequirement.OBJECT);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStepTest.java
deleted file mode 100644
index 885e9fc..0000000
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/KeyStepTest.java
+++ /dev/null
@@ -1,40 +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.traversal.step.map;
-
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import org.apache.tinkerpop.gremlin.process.traversal.step.StepTest;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author Daniel Kuppitz (http://gremlin.guru)
- */
-public class KeyStepTest extends StepTest {
-
- @Override
- protected List<Traversal> getTraversals() {
- return Collections.singletonList(__.key());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b4cc944e/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStepTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStepTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStepTest.java
new file mode 100644
index 0000000..8c4f520
--- /dev/null
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertyKeyStepTest.java
@@ -0,0 +1,40 @@
+/*
+ *
+ * * 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.traversal.step.map;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.process.traversal.step.StepTest;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Daniel Kuppitz (http://gremlin.guru)
+ */
+public class PropertyKeyStepTest extends StepTest {
+
+ @Override
+ protected List<Traversal> getTraversals() {
+ return Collections.singletonList(__.key());
+ }
+}