Search in sources :

Example 1 with SqlgAndStepBarrier

use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.

the class TestAndStepBarrier method g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX.

@Test
public void g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX() {
    loadModern();
    final DefaultGraphTraversal<Vertex, Path> traversal = (DefaultGraphTraversal<Vertex, Path>) this.sqlgGraph.traversal().V(convertToVertexId("marko")).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name");
    printTraversalForm(traversal);
    Assert.assertTrue(traversal.hasNext());
    final Path path = traversal.next();
    Assert.assertEquals(4, path.size());
    Assert.assertEquals("marko", path.get(0));
    Assert.assertEquals("josh", path.get(1));
    Assert.assertEquals("lop", path.get(2));
    Assert.assertEquals("peter", path.get(3));
    Assert.assertFalse(traversal.hasNext());
    List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
    Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
Also used : Path(org.apache.tinkerpop.gremlin.process.traversal.Path) Vertex(org.apache.tinkerpop.gremlin.structure.Vertex) DefaultGraphTraversal(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal) SqlgAndStepBarrier(org.umlg.sqlg.step.barrier.SqlgAndStepBarrier) BaseTest(org.umlg.sqlg.test.BaseTest) Test(org.junit.Test)

Example 2 with SqlgAndStepBarrier

use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.

the class TestAndStepBarrier method testAndStepBarrier.

@Test
public void testAndStepBarrier() {
    Vertex a1 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b1 = this.sqlgGraph.addVertex(T.label, "B");
    a1.addEdge("ab", b1);
    a1.addEdge("abb", b1);
    Vertex a2 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b2 = this.sqlgGraph.addVertex(T.label, "B");
    a2.addEdge("abb", b2);
    Vertex a3 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b3 = this.sqlgGraph.addVertex(T.label, "B");
    a3.addEdge("abbb", b3);
    DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal().V().hasLabel("A").and(__.out("ab"), __.out("abb"));
    printTraversalForm(traversal);
    List<Vertex> vertices = traversal.toList();
    Assert.assertEquals(1, vertices.size());
    Assert.assertTrue(vertices.contains(a1));
    List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
    Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
Also used : Vertex(org.apache.tinkerpop.gremlin.structure.Vertex) DefaultGraphTraversal(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal) SqlgAndStepBarrier(org.umlg.sqlg.step.barrier.SqlgAndStepBarrier) BaseTest(org.umlg.sqlg.test.BaseTest) Test(org.junit.Test)

Example 3 with SqlgAndStepBarrier

use of org.umlg.sqlg.step.barrier.SqlgAndStepBarrier in project sqlg by pietermartin.

the class TestAndStepBarrier method testAndStepBarrierMultiple.

@Test
public void testAndStepBarrierMultiple() {
    Vertex a1 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b1 = this.sqlgGraph.addVertex(T.label, "B");
    a1.addEdge("ab", b1);
    a1.addEdge("abb", b1);
    a1.addEdge("abbb", b1);
    Vertex a2 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b2 = this.sqlgGraph.addVertex(T.label, "B");
    a2.addEdge("abb", b2);
    Vertex a3 = this.sqlgGraph.addVertex(T.label, "A");
    Vertex b3 = this.sqlgGraph.addVertex(T.label, "B");
    a3.addEdge("abbb", b3);
    DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal().V().hasLabel("A").and(__.out("ab"), __.out("abb"), __.out("abbb"));
    printTraversalForm(traversal);
    List<Vertex> vertices = traversal.toList();
    Assert.assertEquals(1, vertices.size());
    Assert.assertTrue(vertices.contains(a1));
    List<SqlgAndStepBarrier> sqlgAndStepBarriers = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgAndStepBarrier.class, traversal);
    Assert.assertEquals(1, sqlgAndStepBarriers.size());
}
Also used : Vertex(org.apache.tinkerpop.gremlin.structure.Vertex) DefaultGraphTraversal(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal) SqlgAndStepBarrier(org.umlg.sqlg.step.barrier.SqlgAndStepBarrier) BaseTest(org.umlg.sqlg.test.BaseTest) Test(org.junit.Test)

Aggregations

DefaultGraphTraversal (org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal)3 Vertex (org.apache.tinkerpop.gremlin.structure.Vertex)3 Test (org.junit.Test)3 SqlgAndStepBarrier (org.umlg.sqlg.step.barrier.SqlgAndStepBarrier)3 BaseTest (org.umlg.sqlg.test.BaseTest)3 Path (org.apache.tinkerpop.gremlin.process.traversal.Path)1