in asterix-graphix/src/main/java/org/apache/asterix/graphix/lang/struct/EdgeDescriptor.java [125:135]
public String toString() {
String labelsString = edgeLabels.stream().map(ElementLabel::toString).collect(Collectors.joining("|"));
String variableString = (variableExpr != null) ? variableExpr.getVar().toString() : "";
String minHopsString = ((minimumHops == null) ? "" : minimumHops.toString());
String maxHopsString = ((maximumHops == null) ? "" : maximumHops.toString());
String subPathString = (patternType != PatternType.PATH) ? "" : "{" + minHopsString + "," + maxHopsString + "}";
String filterString = (filterExpr == null) ? "" : (" WHERE " + filterExpr + " ");
return String.format("%s-[%s:(%s)%s%s]-%s", (edgeDirection == EdgeDirection.LEFT_TO_RIGHT) ? "" : "<",
variableString, labelsString, subPathString, filterString,
(edgeDirection == EdgeDirection.RIGHT_TO_LEFT) ? "" : ">");
}