This is an automated email from the ASF dual-hosted git repository.
vgalaxies pushed a commit to branch pd-store
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
The following commit(s) were added to refs/heads/pd-store by this push:
new 74cf3109e chore: unify to call SchemaLabel.getLabelId() (#2458)
74cf3109e is described below
commit 74cf3109ec5b6a806c2a0d7fc318b7bf99325443
Author: Jermy Li <[email protected]>
AuthorDate: Sat Feb 24 22:45:23 2024 +0800
chore: unify to call SchemaLabel.getLabelId() (#2458)
Change-Id: I31bcc0d1ee99f3c443f8f4f0d458e06ca89977ef
---
.../main/java/org/apache/hugegraph/api/traversers/Vertices.java | 7 ++++++-
.../org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java | 2 +-
.../job/algorithm/cent/BetweennessCentralityAlgorithmV2.java | 6 ++----
.../job/algorithm/cent/ClosenessCentralityAlgorithmV2.java | 5 +----
.../hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java | 2 +-
.../hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java | 7 ++-----
.../org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java | 2 +-
.../src/main/java/org/apache/hugegraph/schema/SchemaLabel.java | 8 ++++++++
.../traversal/algorithm/FusiformSimilarityTraverser.java | 2 +-
.../org/apache/hugegraph/traversal/algorithm/HugeTraverser.java | 8 ++++----
.../hugegraph/traversal/algorithm/JaccardSimilarTraverser.java | 2 +-
.../apache/hugegraph/traversal/algorithm/KneighborTraverser.java | 2 +-
.../org/apache/hugegraph/traversal/algorithm/KoutTraverser.java | 2 +-
.../org/apache/hugegraph/traversal/algorithm/PathsTraverser.java | 2 +-
.../hugegraph/traversal/algorithm/PersonalRankTraverser.java | 2 +-
.../hugegraph/traversal/algorithm/SameNeighborTraverser.java | 4 ++--
.../hugegraph/traversal/algorithm/ShortestPathTraverser.java | 4 ++--
.../traversal/algorithm/SingleSourceShortestPathTraverser.java | 4 ++--
.../apache/hugegraph/traversal/algorithm/SubGraphTraverser.java | 2 +-
19 files changed, 39 insertions(+), 34 deletions(-)
diff --git
a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
index bf231ca90..d5be69489 100644
---
a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
+++
b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/traversers/Vertices.java
@@ -26,6 +26,7 @@ import java.util.Set;
import org.apache.hugegraph.HugeGraph;
import org.apache.hugegraph.backend.id.Id;
import org.apache.hugegraph.backend.query.ConditionQuery;
+import org.apache.hugegraph.schema.SchemaLabel;
import org.apache.hugegraph.structure.HugeVertex;
import org.apache.hugegraph.traversal.optimize.TraversalUtil;
import org.apache.hugegraph.type.HugeType;
@@ -51,6 +52,10 @@ public class Vertices {
this.label == null), "No source vertices provided");
Iterator<Vertex> iterator;
if (this.ids != null && !this.ids.isEmpty()) {
+ E.checkArgument(this.label == null,
+ "Just provide one of ids or label of source
vertices");
+ E.checkArgument(props == null || props.isEmpty(),
+ "Just provide one of ids or properties of source
vertices");
List<Id> sourceIds = new ArrayList<>(this.ids.size());
for (Object id : this.ids) {
sourceIds.add(HugeVertex.getIdValue(id));
@@ -62,7 +67,7 @@ public class Vertices {
} else {
ConditionQuery query = new ConditionQuery(HugeType.VERTEX);
if (this.label != null) {
- Id label = g.vertexLabel(this.label).id();
+ Id label = SchemaLabel.getVertexLabelId(g, this.label);
query.eq(HugeKeys.LABEL, label);
}
if (props != null && !props.isEmpty()) {
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
index 0e249ebe2..b30d3ac83 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/AbstractAlgorithm.java
@@ -379,7 +379,7 @@ public abstract class AbstractAlgorithm implements
Algorithm {
ConditionQuery query = new ConditionQuery(HugeType.VERTEX);
query.capacity(Query.NO_CAPACITY);
query.limit(limit);
- query.eq(HugeKeys.LABEL, this.getVertexLabelId(label));
+ query.eq(HugeKeys.LABEL, this.getVertexLabelIdOrNull(label));
return this.graph().vertices(query);
}
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
index d33dc54eb..bc4c3ae37 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
@@ -26,6 +26,7 @@ import org.apache.hugegraph.backend.id.Id;
import org.apache.hugegraph.backend.query.Query;
import org.apache.hugegraph.job.UserJob;
import org.apache.hugegraph.job.algorithm.BfsTraverser;
+import org.apache.hugegraph.schema.SchemaLabel;
import org.apache.hugegraph.structure.HugeVertex;
import org.apache.hugegraph.traversal.algorithm.HugeTraverser;
import org.apache.hugegraph.type.define.Directions;
@@ -80,10 +81,7 @@ public class BetweennessCentralityAlgorithmV2 extends
AbstractCentAlgorithm {
assert topN >= 0L || topN == NO_LIMIT;
this.globalBetweennesses = new HashMap<>();
- Id edgeLabelId = null;
- if (label != null) {
- edgeLabelId = this.graph().edgeLabel(label).id();
- }
+ Id edgeLabelId = this.getEdgeLabelIdOrNull(label);
// TODO: sample the startVertices
Iterator<Vertex> startVertices = this.vertices(sourceLabel,
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
index e95eae587..1519a2a45 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/ClosenessCentralityAlgorithmV2.java
@@ -81,10 +81,7 @@ public class ClosenessCentralityAlgorithmV2 extends
AbstractCentAlgorithm {
assert degree > 0L || degree == NO_LIMIT;
assert topN >= 0L || topN == NO_LIMIT;
- Id edgeLabelId = null;
- if (label != null) {
- edgeLabelId = this.graph().edgeLabel(label).id();
- }
+ Id edgeLabelId = this.getEdgeLabelIdOrNull(label);
// TODO: sample the startVertices
Iterator<Vertex> startVertices = this.vertices(sourceLabel,
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
index 5a995d6dd..19e68c053 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/DegreeCentralityAlgorithm.java
@@ -73,7 +73,7 @@ public class DegreeCentralityAlgorithm extends
AbstractCentAlgorithm {
JsonMap degrees = new JsonMap();
TopMap<Id> tops = new TopMap<>(topN);
Id vertex = null;
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
long degree = 0L;
long totalEdges = 0L;
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
index 5817e0386..d1c3da6d8 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/StressCentralityAlgorithmV2.java
@@ -60,7 +60,7 @@ public class StressCentralityAlgorithmV2 extends
AbstractCentAlgorithm {
private static class Traverser extends BfsTraverser<StressNode> {
- private Map<Id, MutableLong> globalStresses;
+ private final Map<Id, MutableLong> globalStresses;
private Traverser(UserJob<Object> job) {
super(job);
@@ -80,10 +80,7 @@ public class StressCentralityAlgorithmV2 extends
AbstractCentAlgorithm {
assert degree > 0L || degree == NO_LIMIT;
assert topN >= 0L || topN == NO_LIMIT;
- Id edgeLabelId = null;
- if (label != null) {
- edgeLabelId = this.graph().edgeLabel(label).id();
- }
+ Id edgeLabelId = this.getEdgeLabelIdOrNull(label);
// TODO: sample the startVertices
Iterator<Vertex> startVertices = this.vertices(sourceLabel,
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
index 289ebca04..4b2e30db3 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/comm/LpaAlgorithm.java
@@ -178,7 +178,7 @@ public class LpaAlgorithm extends AbstractCommAlgorithm {
Directions dir, long degree) {
// neighbors of source vertex v
Id source = (Id) vertex.id();
- Id labelId = this.getEdgeLabelId(edgeLabel);
+ Id labelId = this.getEdgeLabelIdOrNull(edgeLabel);
Iterator<Id> neighbors = this.adjacentVertices(source, dir,
labelId, degree);
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
index e20a3f89d..09de43e2d 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/SchemaLabel.java
@@ -177,4 +177,12 @@ public abstract class SchemaLabel extends SchemaElement
label.getClass());
}
}
+
+ public static Id getVertexLabelId(HugeGraph graph, Object label) {
+ return SchemaLabel.getLabelId(graph, HugeType.VERTEX, label);
+ }
+
+ public static Id getEdgeLabelId(HugeGraph graph, Object label) {
+ return SchemaLabel.getLabelId(graph, HugeType.EDGE, label);
+ }
}
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
index 55ee91b56..741a6ef6f 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/FusiformSimilarityTraverser.java
@@ -112,7 +112,7 @@ public class FusiformSimilarityTraverser extends
HugeTraverser {
// Ignore current vertex if its neighbors number is not enough
return ImmutableSet.of();
}
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
// Get similar nodes and counts
Iterator<Edge> edges = this.edgesOfVertex(vertex.id(), direction,
labelId, degree);
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
index e75d01635..57c7c0a31 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/HugeTraverser.java
@@ -620,18 +620,18 @@ public class HugeTraverser {
}
}
- protected Object getVertexLabelId(Object label) {
+ protected Object getVertexLabelIdOrNull(Object label) {
if (label == null) {
return null;
}
- return SchemaLabel.getLabelId(this.graph, HugeType.VERTEX, label);
+ return SchemaLabel.getVertexLabelId(this.graph, label);
}
- protected Id getEdgeLabelId(Object label) {
+ protected Id getEdgeLabelIdOrNull(Object label) {
if (label == null) {
return null;
}
- return SchemaLabel.getLabelId(this.graph, HugeType.EDGE, label);
+ return SchemaLabel.getEdgeLabelId(this.graph, label);
}
protected void checkVertexExist(Id vertexId, String name) {
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
index 51c81b9e1..296e89ad4 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/JaccardSimilarTraverser.java
@@ -54,7 +54,7 @@ public class JaccardSimilarTraverser extends OltpTraverser {
E.checkNotNull(dir, "direction");
checkDegree(degree);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Set<Id> sourceNeighbors = IteratorUtils.set(this.adjacentVertices(
vertex, dir, labelId, degree));
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
index cc2a3990a..2b284b26a 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KneighborTraverser.java
@@ -46,7 +46,7 @@ public class KneighborTraverser extends OltpTraverser {
checkDegree(degree);
checkLimit(limit);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
KneighborRecords records = new KneighborRecords(true, sourceV, true);
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
index 61ec0a4b6..8cf3c15b7 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/KoutTraverser.java
@@ -58,7 +58,7 @@ public class KoutTraverser extends OltpTraverser {
capacity, limit);
}
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Set<Id> sources = newIdSet();
Set<Id> neighbors = newIdSet();
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
index 76c2fa6a9..5746533a5 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PathsTraverser.java
@@ -59,7 +59,7 @@ public class PathsTraverser extends HugeTraverser {
return PathSet.EMPTY;
}
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Traverser traverser = new Traverser(sourceV, targetV, labelId,
degree, capacity, limit);
// We should stop early if walk backtrace or reach limit
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
index 972eff7c7..2c3bafa23 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/PersonalRankTraverser.java
@@ -55,7 +55,7 @@ public class PersonalRankTraverser extends HugeTraverser {
Map<Id, Double> ranks = newMap();
ranks.put(source, 1.0);
- Id labelId = this.graph().edgeLabel(label).id();
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Directions dir = this.getStartDirection(source, label);
Set<Id> outSeeds = newIdSet();
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
index 036ec551c..af1623101 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SameNeighborTraverser.java
@@ -45,7 +45,7 @@ public class SameNeighborTraverser extends HugeTraverser {
checkDegree(degree);
checkLimit(limit);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Set<Id> sourceNeighbors = IteratorUtils.set(this.adjacentVertices(
vertex, direction, labelId, degree));
@@ -80,7 +80,7 @@ public class SameNeighborTraverser extends HugeTraverser {
List<Id> labelsId = new ArrayList<>();
if (labels != null) {
for (String label : labels) {
- labelsId.add(this.getEdgeLabelId(label));
+ labelsId.add(this.getEdgeLabelIdOrNull(label));
}
}
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
index a34f87289..4a2f3259d 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/ShortestPathTraverser.java
@@ -61,7 +61,7 @@ public class ShortestPathTraverser extends HugeTraverser {
Map<Id, String> labelMap = newMap(labels.size());
for (String label : labels) {
- labelMap.put(this.getEdgeLabelId(label), label);
+ labelMap.put(this.getEdgeLabelIdOrNull(label), label);
}
Traverser traverser = new Traverser(sourceV, targetV, dir, labelMap,
degree, skipDegree, capacity);
@@ -122,7 +122,7 @@ public class ShortestPathTraverser extends HugeTraverser {
Map<Id, String> labelMap = newMap(labels.size());
for (String label : labels) {
- labelMap.put(this.getEdgeLabelId(label), label);
+ labelMap.put(this.getEdgeLabelIdOrNull(label), label);
}
Traverser traverser = new Traverser(sourceV, targetV, dir, labelMap,
degree, skipDegree, capacity);
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
index ead4365a9..0c67228ab 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SingleSourceShortestPathTraverser.java
@@ -58,7 +58,7 @@ public class SingleSourceShortestPathTraverser extends
HugeTraverser {
checkSkipDegree(skipDegree, degree, capacity);
checkLimit(limit);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Traverser traverser = new Traverser(sourceV, dir, labelId, weight,
degree, skipDegree, capacity,
limit);
while (true) {
@@ -94,7 +94,7 @@ public class SingleSourceShortestPathTraverser extends
HugeTraverser {
checkCapacity(capacity);
checkSkipDegree(skipDegree, degree, capacity);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Traverser traverser = new Traverser(sourceV, dir, labelId, weight,
degree, skipDegree, capacity,
NO_LIMIT);
diff --git
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
index d5c49eacd..f76f3e377 100644
---
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
+++
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/algorithm/SubGraphTraverser.java
@@ -81,7 +81,7 @@ public class SubGraphTraverser extends HugeTraverser {
checkCapacity(capacity);
checkLimit(limit);
- Id labelId = this.getEdgeLabelId(label);
+ Id labelId = this.getEdgeLabelIdOrNull(label);
Traverser traverser = new Traverser(sourceV, labelId, depth, degree,
capacity, limit, rings,
sourceInRing);