@@ -3563,6 +3563,43 @@ public void testQueryOutEdgesOfVertexBySortkeyAndProps() {
35633563 Assert .assertEquals (0 , edges .size ());
35643564 }
35653565
3566+ @ Test
3567+ public void testQueryOutEdgesBySingleResolvedLabelAndSortKey () {
3568+ HugeGraph graph = graph ();
3569+ Vertex reader = initEdgeLabelQueryEdges ();
3570+
3571+ List <Edge > edges = graph .traversal ().V (reader .id ())
3572+ .outE ("reviewed" )
3573+ .has (T .label , P .within ("reviewed" ,
3574+ "recommended" ))
3575+ .has ("time" , "2026-1-1" )
3576+ .toList ();
3577+
3578+ Assert .assertEquals (1 , edges .size ());
3579+ Assert .assertEquals ("reviewed" , edges .get (0 ).label ());
3580+ Assert .assertEquals ("2026-1-1" , edges .get (0 ).value ("time" ));
3581+ }
3582+
3583+ @ Test
3584+ public void testQueryOutEdgesByMultiLabelsAndSortKey () {
3585+ HugeGraph graph = graph ();
3586+ Vertex reader = initEdgeLabelQueryEdges ();
3587+
3588+ List <Edge > edges = graph .traversal ().V (reader .id ())
3589+ .outE ("reviewed" , "recommended" )
3590+ .has ("time" , "2026-1-1" )
3591+ .toList ();
3592+
3593+ Set <String > labels = new HashSet <>();
3594+ for (Edge edge : edges ) {
3595+ labels .add (edge .label ());
3596+ Assert .assertEquals ("2026-1-1" , edge .value ("time" ));
3597+ }
3598+ Assert .assertEquals (2 , edges .size ());
3599+ Assert .assertEquals (ImmutableSet .of ("reviewed" , "recommended" ),
3600+ labels );
3601+ }
3602+
35663603 @ Test
35673604 public void testQueryOutEdgesOfVertexBySortkeyWithRange () {
35683605 // FIXME: skip this test for hstore
@@ -7672,6 +7709,40 @@ private void init18Edges(boolean commit) {
76727709 }
76737710 }
76747711
7712+ private Vertex initEdgeLabelQueryEdges () {
7713+ HugeGraph graph = graph ();
7714+ SchemaManager schema = graph .schema ();
7715+
7716+ schema .edgeLabel ("reviewed" ).properties ("time" , "score" )
7717+ .multiTimes ().sortKeys ("time" )
7718+ .link ("person" , "book" )
7719+ .enableLabelIndex (false )
7720+ .create ();
7721+ schema .edgeLabel ("recommended" ).properties ("time" , "score" )
7722+ .multiTimes ().sortKeys ("time" )
7723+ .link ("person" , "book" )
7724+ .enableLabelIndex (false )
7725+ .create ();
7726+
7727+ Vertex reader = graph .addVertex (T .label , "person" ,
7728+ "name" , "edge-label-reader" ,
7729+ "city" , "Beijing" ,
7730+ "age" , 29 );
7731+ Vertex book1 = graph .addVertex (T .label , "book" ,
7732+ "name" , "edge-label-book-1" );
7733+ Vertex book2 = graph .addVertex (T .label , "book" ,
7734+ "name" , "edge-label-book-2" );
7735+ Vertex book3 = graph .addVertex (T .label , "book" ,
7736+ "name" , "edge-label-book-3" );
7737+
7738+ reader .addEdge ("reviewed" , book1 , "time" , "2026-1-1" , "score" , 1 );
7739+ reader .addEdge ("recommended" , book2 , "time" , "2026-1-1" , "score" , 2 );
7740+ reader .addEdge ("reviewed" , book3 , "time" , "2026-1-2" , "score" , 3 );
7741+
7742+ graph .tx ().commit ();
7743+ return reader ;
7744+ }
7745+
76757746 private void init100LookEdges () {
76767747 HugeGraph graph = graph ();
76777748
0 commit comments