internal static WEdgeColumnReferenceExpression GetEdgeColumnReferenceExpr(GremlinEdgeTableVariable edgeTable) { return(new WEdgeColumnReferenceExpression() { MultiPartIdentifier = GetMultiPartIdentifier("Edge"), Alias = edgeTable.GetVariableName(), MinLength = 1, MaxLength = 1, EdgeType = edgeTable.EdgeType }); }
internal void AddLabelPredicateForEdge(GremlinEdgeTableVariable edgeTable, List <string> edgeLabels) { if (edgeLabels.Count == 0) { return; } List <WBooleanExpression> booleanExprList = new List <WBooleanExpression>(); foreach (var edgeLabel in edgeLabels) { var firstExpr = edgeTable.GetVariableProperty(GremlinKeyword.Label).ToScalarExpression(); var secondExpr = SqlUtil.GetValueExpr(edgeLabel); booleanExprList.Add(SqlUtil.GetEqualBooleanComparisonExpr(firstExpr, secondExpr)); } AddPredicate(SqlUtil.GetBooleanParenthesisExpr(SqlUtil.ConcatBooleanExprWithOr(booleanExprList))); }