@@ -3582,6 +3582,43 @@ public void testQueryOutEdgesOfVertexBySortkeyAndProps() {
35823582 Assert .assertEquals (0 , edges .size ());
35833583 }
35843584
3585+ @ Test
3586+ public void testQueryOutEdgesBySingleResolvedLabelAndSortKey () {
3587+ HugeGraph graph = graph ();
3588+ Vertex reader = initEdgeLabelQueryEdges ();
3589+
3590+ List <Edge > edges = graph .traversal ().V (reader .id ())
3591+ .outE ("reviewed" )
3592+ .has (T .label , P .within ("reviewed" ,
3593+ "recommended" ))
3594+ .has ("time" , "2026-1-1" )
3595+ .toList ();
3596+
3597+ Assert .assertEquals (1 , edges .size ());
3598+ Assert .assertEquals ("reviewed" , edges .get (0 ).label ());
3599+ Assert .assertEquals ("2026-1-1" , edges .get (0 ).value ("time" ));
3600+ }
3601+
3602+ @ Test
3603+ public void testQueryOutEdgesByMultiLabelsAndSortKey () {
3604+ HugeGraph graph = graph ();
3605+ Vertex reader = initEdgeLabelQueryEdges ();
3606+
3607+ List <Edge > edges = graph .traversal ().V (reader .id ())
3608+ .outE ("reviewed" , "recommended" )
3609+ .has ("time" , "2026-1-1" )
3610+ .toList ();
3611+
3612+ Set <String > labels = new HashSet <>();
3613+ for (Edge edge : edges ) {
3614+ labels .add (edge .label ());
3615+ Assert .assertEquals ("2026-1-1" , edge .value ("time" ));
3616+ }
3617+ Assert .assertEquals (2 , edges .size ());
3618+ Assert .assertEquals (ImmutableSet .of ("reviewed" , "recommended" ),
3619+ labels );
3620+ }
3621+
35853622 @ Test
35863623 public void testQueryOutEdgesOfVertexBySortkeyWithRange () {
35873624 // FIXME: skip this test for hstore
@@ -7691,6 +7728,40 @@ private void init18Edges(boolean commit) {
76917728 }
76927729 }
76937730
7731+ private Vertex initEdgeLabelQueryEdges () {
7732+ HugeGraph graph = graph ();
7733+ SchemaManager schema = graph .schema ();
7734+
7735+ schema .edgeLabel ("reviewed" ).properties ("time" , "score" )
7736+ .multiTimes ().sortKeys ("time" )
7737+ .link ("person" , "book" )
7738+ .enableLabelIndex (false )
7739+ .create ();
7740+ schema .edgeLabel ("recommended" ).properties ("time" , "score" )
7741+ .multiTimes ().sortKeys ("time" )
7742+ .link ("person" , "book" )
7743+ .enableLabelIndex (false )
7744+ .create ();
7745+
7746+ Vertex reader = graph .addVertex (T .label , "person" ,
7747+ "name" , "edge-label-reader" ,
7748+ "city" , "Beijing" ,
7749+ "age" , 29 );
7750+ Vertex book1 = graph .addVertex (T .label , "book" ,
7751+ "name" , "edge-label-book-1" );
7752+ Vertex book2 = graph .addVertex (T .label , "book" ,
7753+ "name" , "edge-label-book-2" );
7754+ Vertex book3 = graph .addVertex (T .label , "book" ,
7755+ "name" , "edge-label-book-3" );
7756+
7757+ reader .addEdge ("reviewed" , book1 , "time" , "2026-1-1" , "score" , 1 );
7758+ reader .addEdge ("recommended" , book2 , "time" , "2026-1-1" , "score" , 2 );
7759+ reader .addEdge ("reviewed" , book3 , "time" , "2026-1-2" , "score" , 3 );
7760+
7761+ graph .tx ().commit ();
7762+ return reader ;
7763+ }
7764+
76947765 private void init100LookEdges () {
76957766 HugeGraph graph = graph ();
76967767
0 commit comments