You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2016/09/07 22:36:40 UTC
[1/5] tinkerpop git commit: added missing method for anonymous
traversals
Repository: tinkerpop
Updated Branches:
refs/heads/master c82f66179 -> 08a780fd4
added missing method for anonymous traversals
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8c2cfb86
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8c2cfb86
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8c2cfb86
Branch: refs/heads/master
Commit: 8c2cfb8601b6baa0cbb462a78f5bcd3950739fac
Parents: a522bd5
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 10:48:31 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Sep 8 00:35:31 2016 +0200
----------------------------------------------------------------------
.../tinkerpop/gremlin/process/traversal/dsl/graph/__.java | 7 +++++++
1 file changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c2cfb86/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 9eac9ee..1349633 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
@@ -661,6 +661,13 @@ public class __ {
}
/**
+ * @see GraphTraversal#has(T, Object, Object...)
+ */
+ public static <A> GraphTraversal<A, A> has(final T accessor, final Object value, Object... values) {
+ return __.<A>start().has(accessor, value, values);
+ }
+
+ /**
* @see GraphTraversal#hasLabel(Object, Object...)
*/
public static <A> GraphTraversal<A, A> hasLabel(final Object value, Object... values) {
[5/5] tinkerpop git commit: Simplified the pre-processor's prettify
script.
Posted by dk...@apache.org.
Simplified the pre-processor's prettify script.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/08a780fd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/08a780fd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/08a780fd
Branch: refs/heads/master
Commit: 08a780fd496e1ef93d1b8ba9d2cd8a500cc201a1
Parents: 7c39c1c
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 23:54:50 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Sep 8 00:35:32 2016 +0200
----------------------------------------------------------------------
docs/preprocessor/awk/prettify.awk | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/08a780fd/docs/preprocessor/awk/prettify.awk
----------------------------------------------------------------------
diff --git a/docs/preprocessor/awk/prettify.awk b/docs/preprocessor/awk/prettify.awk
index f115ec5..cbaa12f 100644
--- a/docs/preprocessor/awk/prettify.awk
+++ b/docs/preprocessor/awk/prettify.awk
@@ -21,14 +21,8 @@
/^==>\/\/\/\/$/ { doPrint = 1 }
{
- lastLineStartedWithGremlin = lastLineStartedWithGremlin && inCodeSection
- if (inCodeSection) {
- if ($0 ~ /^gremlin> / && ($0 ~ /([.,({]|""")(\s*\/\/.*)?$/ || $0 ~ /^gremlin> /)) {
- if (lastLineStartedWithGremlin) gsub(/^gremlin> /, " ")
- lastLineStartedWithGremlin = 1
- } else {
- lastLineStartedWithGremlin = 0
- }
+ if (inCodeSection && $0 ~ /^\.*[0-9]+> /) {
+ gsub(/^.{8}/, " ")
}
if (doPrint) print
}
[2/5] tinkerpop git commit: Fixed `hasLabel`, `hasId`,
`hasKey` and `hasValue`.
Posted by dk...@apache.org.
Fixed `hasLabel`, `hasId`, `hasKey` and `hasValue`.
These steps a) were allowed to be called w/o arguments and b) were not able to handle `P`-predicates.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a522bd52
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a522bd52
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a522bd52
Branch: refs/heads/master
Commit: a522bd52c5c1637d9b907ac99b7fac4c019f5527
Parents: c82f661
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 10:28:52 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Sep 8 00:35:31 2016 +0200
----------------------------------------------------------------------
.../traversal/dsl/graph/GraphTraversal.java | 36 +++++++++-----------
.../gremlin/process/traversal/dsl/graph/__.java | 24 ++++++-------
2 files changed, 28 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a522bd52/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 4c08068..e0956c5 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
@@ -967,32 +967,28 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(new NotStep<>(this.asAdmin(), __.values(propertyKey)));
}
- public default GraphTraversal<S, E> hasLabel(final String... labels) {
- this.asAdmin().getBytecode().addStep(Symbols.hasLabel, labels);
- return 1 == labels.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.label.getAccessor(), P.eq(labels[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.label.getAccessor(), P.within(labels))));
+ public default GraphTraversal<S, E> has(final T accessor, final Object value, final Object... values) {
+ if (values.length == 0) return has(accessor, value);
+ final Object[] objects = new Object[values.length + 1];
+ objects[0] = value;
+ System.arraycopy(values, 0, objects, 1, values.length);
+ return has(accessor, P.within(objects));
}
- public default GraphTraversal<S, E> hasId(final Object... ids) {
- this.asAdmin().getBytecode().addStep(Symbols.hasId, ids);
- return 1 == ids.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.id.getAccessor(), P.eq(ids[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.id.getAccessor(), P.within(ids))));
+ public default GraphTraversal<S, E> hasLabel(final Object value, final Object... values) {
+ return has(T.label, value, values);
}
- public default GraphTraversal<S, E> hasKey(final String... keys) {
- this.asAdmin().getBytecode().addStep(Symbols.hasKey, keys);
- return 1 == keys.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.key.getAccessor(), P.eq(keys[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.key.getAccessor(), P.within(keys))));
+ public default GraphTraversal<S, E> hasId(final Object value, final Object... values) {
+ return has(T.id, value, values);
}
- public default GraphTraversal<S, E> hasValue(final Object... values) {
- this.asAdmin().getBytecode().addStep(Symbols.hasValue, values);
- return 1 == values.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.value.getAccessor(), P.eq(values[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.value.getAccessor(), P.within(values))));
+ public default GraphTraversal<S, E> hasKey(final Object value, final Object... values) {
+ return has(T.key, value, values);
+ }
+
+ public default GraphTraversal<S, E> hasValue(final Object value, final Object... values) {
+ return has(T.value, value, values);
}
public default GraphTraversal<S, E> is(final P<E> predicate) {
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a522bd52/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 6528eb3..9eac9ee 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
@@ -661,31 +661,31 @@ public class __ {
}
/**
- * @see GraphTraversal#hasLabel(String...)
+ * @see GraphTraversal#hasLabel(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasLabel(final String... labels) {
- return __.<A>start().hasLabel(labels);
+ public static <A> GraphTraversal<A, A> hasLabel(final Object value, Object... values) {
+ return __.<A>start().hasLabel(value, values);
}
/**
- * @see GraphTraversal#hasId(Object...)
+ * @see GraphTraversal#hasId(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasId(final Object... ids) {
- return __.<A>start().hasId(ids);
+ public static <A> GraphTraversal<A, A> hasId(final Object value, Object... values) {
+ return __.<A>start().hasId(value, values);
}
/**
- * @see GraphTraversal#hasKey(String...)
+ * @see GraphTraversal#hasKey(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasKey(final String... keys) {
- return __.<A>start().hasKey(keys);
+ public static <A> GraphTraversal<A, A> hasKey(final Object value, Object... values) {
+ return __.<A>start().hasKey(value, values);
}
/**
- * @see GraphTraversal#hasValue(Object...)
+ * @see GraphTraversal#hasValue(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasValue(final Object... values) {
- return __.<A>start().hasValue(values);
+ public static <A> GraphTraversal<A, A> hasValue(final Object value, Object... values) {
+ return __.<A>start().hasValue(value, values);
}
/**
[3/5] tinkerpop git commit: Added test cases for `hasId` with
predicates.
Posted by dk...@apache.org.
Added test cases for `hasId` with predicates.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/114b00b5
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/114b00b5
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/114b00b5
Branch: refs/heads/master
Commit: 114b00b5f5274aa4f6b20ea4d148670bd8f2c049
Parents: 8c2cfb8
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 12:33:17 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Sep 8 00:35:32 2016 +0200
----------------------------------------------------------------------
.../traversal/step/filter/GroovyHasTest.groovy | 10 +++++++
.../process/traversal/step/filter/HasTest.java | 31 ++++++++++++++++++++
2 files changed, 41 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/114b00b5/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
index de8d128..b5ca538 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
@@ -156,6 +156,16 @@ public abstract class GroovyHasTest {
}
@Override
+ public Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id) {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasId(within(v1Id, v2Id))", "v1Id", v1Id, "v2Id", v2Id)
+ }
+
+ @Override
+ public Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id) {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.in.hasId(neq(v1Id))", "v1Id", v1Id)
+ }
+
+ @Override
public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name() {
new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasLabel('person').has('age', P.not(lte(10).and(P.not(between(11,20)))).and(lt(29).or(eq(35)))).name")
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/114b00b5/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
index aaab647..0f160cd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
@@ -107,6 +107,10 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
public abstract Traversal<Vertex, Vertex> get_g_V_hasIdX1_2X(final Object v1Id, final Object v2Id);
+ public abstract Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id);
+
+ public abstract Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id);
+
public abstract Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name();
@Test
@@ -386,6 +390,7 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
final Traversal<Vertex, Vertex> traversala2 = get_g_V_hasIdX1X(convertToVertexId("marko"));
final Traversal<Vertex, Vertex> traversalb1 = get_g_VX1_2X(convertToVertexId("marko"), convertToVertexId("vadas"));
final Traversal<Vertex, Vertex> traversalb2 = get_g_V_hasIdX1_2X(convertToVertexId("marko"), convertToVertexId("vadas"));
+ final Traversal<Vertex, Vertex> traversalb3 = get_g_V_hasIdXwithinX1_2XX(convertToVertexId("marko"), convertToVertexId("vadas"));
printTraversalForm(traversala1);
printTraversalForm(traversala2);
printTraversalForm(traversalb1);
@@ -394,11 +399,13 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
checkResults(Collections.singletonList(convertToVertex(graph, "marko")), traversala2);
checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb1);
checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb2);
+ checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb3);
// if providers don't have their own custom GraphStep, then ignore validating compilation equality
if ((traversala1.asAdmin().getStartStep() instanceof GraphStep) &&
!traversala1.asAdmin().getStartStep().getClass().equals(GraphStep.class)) {
assertEquals(traversala1, traversala2);
assertEquals(traversalb1, traversalb2);
+ assertEquals(traversalb1, traversalb3);
assertNotEquals(traversala1, traversalb1);
assertNotEquals(traversala1, traversalb2);
assertNotEquals(traversala2, traversalb1);
@@ -414,6 +421,20 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
checkResults(Arrays.asList("peter", "vadas"), traversal);
}
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_in_hasIdXneqX1XX() {
+ final Traversal<Vertex, Vertex> traversal = get_g_V_in_hasIdXneqX1XX(convertToVertexId("marko"));
+ printTraversalForm(traversal);
+ int count = 0;
+ while (traversal.hasNext()) {
+ Vertex vertex = traversal.next();
+ assertTrue(vertex.value("name").equals("josh") || vertex.value("name").equals("peter"));
+ count++;
+ }
+ assertEquals(3, count);
+ }
+
private void assert_g_EX11X(final Object edgeId, final Traversal<Edge, Edge> traversal) {
printTraversalForm(traversal);
assertTrue(traversal.hasNext());
@@ -549,6 +570,16 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
}
@Override
+ public Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id) {
+ return g.V().hasId(P.within(v1Id, v2Id));
+ }
+
+ @Override
+ public Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id) {
+ return g.V().in().hasId(P.neq(v1Id));
+ }
+
+ @Override
public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name() {
return g.V().hasLabel("person").has("age", P.not(P.lte(10).and(P.not(P.between(11, 20)))).and(P.lt(29).or(P.eq(35)))).values("name");
}
[4/5] tinkerpop git commit: Allow tabs in docs (replace them with 4
spaces prior pre-processing).
Posted by dk...@apache.org.
Allow tabs in docs (replace them with 4 spaces prior pre-processing).
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7c39c1ca
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7c39c1ca
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7c39c1ca
Branch: refs/heads/master
Commit: 7c39c1ca2008c2b75247f8d568dba774169056a6
Parents: 114b00b
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 19:16:06 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Sep 8 00:35:32 2016 +0200
----------------------------------------------------------------------
docs/preprocessor/preprocess-file.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7c39c1ca/docs/preprocessor/preprocess-file.sh
----------------------------------------------------------------------
diff --git a/docs/preprocessor/preprocess-file.sh b/docs/preprocessor/preprocess-file.sh
index 9c9a095..1069928 100755
--- a/docs/preprocessor/preprocess-file.sh
+++ b/docs/preprocessor/preprocess-file.sh
@@ -131,7 +131,8 @@ if [ ! ${SKIP} ] && [ $(grep -c '^\[gremlin' ${input}) -gt 0 ]; then
mv .ext/plugins.txt ext/
fi
- awk -f ${AWK_SCRIPTS}/prepare.awk ${input} |
+ sed 's/\t/ /g' ${input} |
+ awk -f ${AWK_SCRIPTS}/prepare.awk |
awk -f ${AWK_SCRIPTS}/init-code-blocks.awk -v TP_HOME="${TP_HOME}" PYTHONPATH="." |
awk -f ${AWK_SCRIPTS}/progressbar.awk -v tpl=${AWK_SCRIPTS}/progressbar.groovy.template |
HADOOP_GREMLIN_LIBS="${CONSOLE_HOME}/ext/giraph-gremlin/lib:${CONSOLE_HOME}/ext/tinkergraph-gremlin/lib" bin/gremlin.sh |