[07/11] tinkerpop git commit: added a test for iterations break, epsilon break, and for energy conservation.
added a test for iterations break, epsilon break, and for energy conservation. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d551c18 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d551c18 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d551c18 Branch: refs/heads/master Commit: 2d551c18a80f528d3fe296144a2d7a68467b0fff Parents: 87a7391 Author: Marko A. RodriguezAuthored: Wed Sep 20 08:55:52 2017 -0600 Committer: Marko A. Rodriguez Committed: Wed Sep 20 08:55:52 2017 -0600 -- .../pagerank/PageRankVertexProgramTest.java | 50 1 file changed, 41 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d551c18/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java -- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java index 6fb3cb7..8b4f977 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java @@ -36,7 +36,7 @@ public class PageRankVertexProgramTest extends AbstractGremlinProcessTest { @Test @LoadGraphWith(MODERN) -public void shouldExecutePageRank() throws Exception { +public void shouldExecutePageRankWithIterationsBreak() throws Exception { if (graphProvider.getGraphComputer(graph).features().supportsResultGraphPersistCombination(GraphComputer.ResultGraph.NEW, GraphComputer.Persist.VERTEX_PROPERTIES)) { final ComputerResult result = graph.compute(graphProvider.getGraphComputer(graph).getClass()). program(PageRankVertexProgram.build().epsilon(0.0d).iterations(30).create(graph)).submit().get(); // by using epsilon 0.0, we guarantee iterations 30 @@ -69,14 +69,46 @@ public class PageRankVertexProgramTest extends AbstractGremlinProcessTest { } } -/*@Test +@Test @LoadGraphWith(MODERN) -public void shouldExecutePageRankWithNormalizedValues() throws Exception { -final ComputerResult result = graph.compute().program(PageRankVertexProgram.build().vertexCount(6).create()).submit().get(); -final double sum = result.graph().traversal().V().values(PageRankVertexProgram.PAGE_RANK).sum().next(); -System.out.println(sum); -assertEquals(1.0d,sum,0.01); -}*/ - +public void shouldExecutePageRankWithEpsilonBreak() throws Exception { +if (graphProvider.getGraphComputer(graph).features().supportsResultGraphPersistCombination(GraphComputer.ResultGraph.NEW, GraphComputer.Persist.VERTEX_PROPERTIES)) { +final ComputerResult result = graph.compute(graphProvider.getGraphComputer(graph).getClass()). + program(PageRankVertexProgram.build().epsilon(0.1d).iterations(30).create(graph)).submit().get(); // by using epsilon 0.1, we should get iterations 11 +result.graph().traversal().V().forEachRemaining(v -> { +assertEquals(3, v.keys().size()); // name, age/lang, pageRank +assertTrue(v.keys().contains("name")); +assertTrue(v.keys().contains(PageRankVertexProgram.PAGE_RANK)); +assertEquals(1, IteratorUtils.count(v.values("name"))); +assertEquals(1, IteratorUtils.count(v.values(PageRankVertexProgram.PAGE_RANK))); +final String name = v.value("name"); +final Double pageRank = v.value(PageRankVertexProgram.PAGE_RANK); +//System.out.println(name + "-" + pageRank); +if (name.equals("marko")) +assertTrue(pageRank > 0.10 && pageRank < 0.12); +else if (name.equals("vadas")) +assertTrue(pageRank > 0.13 && pageRank < 0.15); +else if (name.equals("lop")) +assertTrue(pageRank > 0.29 && pageRank < 0.31); +else if (name.equals("josh")) +assertTrue(pageRank > 0.13 && pageRank < 0.15); +else if (name.equals("ripple")) +assertTrue(pageRank > 0.16 && pageRank < 0.18); +else if (name.equals("peter")) +assertTrue(pageRank > 0.10 && pageRank < 0.12); +else +throw new IllegalStateException("The
tinkerpop git commit: added a test for iterations break, epsilon break, and for energy conservation.
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1783 87a739172 -> 2d551c18a added a test for iterations break, epsilon break, and for energy conservation. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d551c18 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d551c18 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d551c18 Branch: refs/heads/TINKERPOP-1783 Commit: 2d551c18a80f528d3fe296144a2d7a68467b0fff Parents: 87a7391 Author: Marko A. RodriguezAuthored: Wed Sep 20 08:55:52 2017 -0600 Committer: Marko A. Rodriguez Committed: Wed Sep 20 08:55:52 2017 -0600 -- .../pagerank/PageRankVertexProgramTest.java | 50 1 file changed, 41 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d551c18/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java -- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java index 6fb3cb7..8b4f977 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgramTest.java @@ -36,7 +36,7 @@ public class PageRankVertexProgramTest extends AbstractGremlinProcessTest { @Test @LoadGraphWith(MODERN) -public void shouldExecutePageRank() throws Exception { +public void shouldExecutePageRankWithIterationsBreak() throws Exception { if (graphProvider.getGraphComputer(graph).features().supportsResultGraphPersistCombination(GraphComputer.ResultGraph.NEW, GraphComputer.Persist.VERTEX_PROPERTIES)) { final ComputerResult result = graph.compute(graphProvider.getGraphComputer(graph).getClass()). program(PageRankVertexProgram.build().epsilon(0.0d).iterations(30).create(graph)).submit().get(); // by using epsilon 0.0, we guarantee iterations 30 @@ -69,14 +69,46 @@ public class PageRankVertexProgramTest extends AbstractGremlinProcessTest { } } -/*@Test +@Test @LoadGraphWith(MODERN) -public void shouldExecutePageRankWithNormalizedValues() throws Exception { -final ComputerResult result = graph.compute().program(PageRankVertexProgram.build().vertexCount(6).create()).submit().get(); -final double sum = result.graph().traversal().V().values(PageRankVertexProgram.PAGE_RANK).sum().next(); -System.out.println(sum); -assertEquals(1.0d,sum,0.01); -}*/ - +public void shouldExecutePageRankWithEpsilonBreak() throws Exception { +if (graphProvider.getGraphComputer(graph).features().supportsResultGraphPersistCombination(GraphComputer.ResultGraph.NEW, GraphComputer.Persist.VERTEX_PROPERTIES)) { +final ComputerResult result = graph.compute(graphProvider.getGraphComputer(graph).getClass()). + program(PageRankVertexProgram.build().epsilon(0.1d).iterations(30).create(graph)).submit().get(); // by using epsilon 0.1, we should get iterations 11 +result.graph().traversal().V().forEachRemaining(v -> { +assertEquals(3, v.keys().size()); // name, age/lang, pageRank +assertTrue(v.keys().contains("name")); +assertTrue(v.keys().contains(PageRankVertexProgram.PAGE_RANK)); +assertEquals(1, IteratorUtils.count(v.values("name"))); +assertEquals(1, IteratorUtils.count(v.values(PageRankVertexProgram.PAGE_RANK))); +final String name = v.value("name"); +final Double pageRank = v.value(PageRankVertexProgram.PAGE_RANK); +//System.out.println(name + "-" + pageRank); +if (name.equals("marko")) +assertTrue(pageRank > 0.10 && pageRank < 0.12); +else if (name.equals("vadas")) +assertTrue(pageRank > 0.13 && pageRank < 0.15); +else if (name.equals("lop")) +assertTrue(pageRank > 0.29 && pageRank < 0.31); +else if (name.equals("josh")) +assertTrue(pageRank > 0.13 && pageRank < 0.15); +else if (name.equals("ripple")) +assertTrue(pageRank > 0.16 && pageRank < 0.18); +else if (name.equals("peter")) +assertTrue(pageRank > 0.10