Skip to content

Commit a326f44

Browse files
committed
test(core): cover edge label query semantics
1 parent ed3b788 commit a326f44

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

  • hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core

hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/core/EdgeCoreTest.java

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)