Skip to content

Commit 94408b7

Browse files
committed
test(core): cover edge label query semantics
1 parent 2e82f83 commit 94408b7

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
@@ -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

Comments
 (0)