Skip to content

Commit 495a6b9

Browse files
committed
Add two gremlin pattern matching tests
Committed-by: 有理 from Dev container
1 parent ec218cf commit 495a6b9

File tree

1 file changed

+63
-0
lines changed
  • interactive_engine/compiler/src/main/java/com/alibaba/graphscope/gremlin/integration/suite/standard

1 file changed

+63
-0
lines changed

interactive_engine/compiler/src/main/java/com/alibaba/graphscope/gremlin/integration/suite/standard/IrGremlinQueryTest.java

+63
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ public abstract class IrGremlinQueryTest extends AbstractGremlinProcessTest {
4949
public abstract Traversal<Vertex, Map<String, Vertex>>
5050
get_g_V_matchXa_in_b__b_out_c__not_c_out_aX();
5151

52+
public abstract Traversal<Vertex, Object>
53+
get_g_V_matchXa_knows_b__b_created_cX_select_c_values();
54+
55+
public abstract Traversal<Vertex, Object>
56+
get_g_V_matchXa_out_b__b_in_cX_select_c_out_dedup_values();
57+
5258
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
5359
@Test
5460
public void g_V_group_by_by_dedup_count_test() {
@@ -167,6 +173,44 @@ public void g_V_matchXa_in_b__b_out_c__not_c_out_aX() {
167173
traversal);
168174
}
169175

176+
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
177+
@Test
178+
public void g_V_matchXa_knows_b__b_created_cX_select_c_values() {
179+
final Traversal<Vertex, Object> traversal =
180+
get_g_V_matchXa_knows_b__b_created_cX_select_c_values();
181+
printTraversalForm(traversal);
182+
int counter = 0;
183+
184+
List<String> expected = Arrays.asList("josh", "vadas");
185+
186+
while (traversal.hasNext()) {
187+
Object result = traversal.next();
188+
Assert.assertTrue(expected.contains(result.toString()));
189+
++counter;
190+
}
191+
192+
Assert.assertEquals(2, counter);
193+
}
194+
195+
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
196+
@Test
197+
public void g_V_matchXa_out_b__b_in_cX_select_c_out_dedup_values() {
198+
final Traversal<Vertex, Object> traversal =
199+
get_g_V_matchXa_out_b__b_in_cX_select_c_out_dedup_values();
200+
printTraversalForm(traversal);
201+
int counter = 0;
202+
203+
List<String> expected = Arrays.asList("josh", "vadas");
204+
205+
while (traversal.hasNext()) {
206+
Object result = traversal.next();
207+
Assert.assertTrue(expected.contains(result.toString()));
208+
++counter;
209+
}
210+
211+
Assert.assertEquals(2, counter);
212+
}
213+
170214
public static class Traversals extends IrGremlinQueryTest {
171215

172216
@Override
@@ -208,5 +252,24 @@ public Traversal<Vertex, Object> get_g_V_out_as_a_in_select_a_as_b_select_b_by_v
208252
as("b").out("knows").as("c"),
209253
not(as("c").out("knows").as("a")));
210254
}
255+
256+
@Override
257+
public Traversal<Vertex, Object> get_g_V_matchXa_knows_b__b_created_cX_select_c_values() {
258+
return g.V().match(as("a").out("knows").as("b"), as("b").out("created").as("c"))
259+
.select("c")
260+
.values("name");
261+
}
262+
263+
@Override
264+
public Traversal<Vertex, Object>
265+
get_g_V_matchXa_out_b__b_in_cX_select_c_out_dedup_values() {
266+
return g.V().match(
267+
as("a").out("created").has("name", "lop").as("b"),
268+
as("b").in("created").has("age", 29).as("c"))
269+
.select("c")
270+
.out("knows")
271+
.dedup()
272+
.values("name");
273+
}
211274
}
212275
}

0 commit comments

Comments
 (0)