internal override void Populate(string property)
 {
     if (ProjectedProperties.Contains(property))
     {
         return;
     }
     VertexProperties.Add(new GremlinProperty(GremlinKeyword.PropertyCardinality.list, property, null, null));
     base.Populate(property);
 }
Esempio n. 2
0
 internal void Populate(string property)
 {
     if (ProjectedProperties.Contains(property))
     {
         return;
     }
     ProjectedProperties.Add(property);
     PivotVariable.Populate(property);
 }
 internal override void PopulateLocalPath()
 {
     if (ProjectedProperties.Contains(GremlinKeyword.Path))
     {
         return;
     }
     ProjectedProperties.Add(GremlinKeyword.Path);
     RepeatContext.PopulateLocalPath();
 }
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            MapContext.Populate(property);
        }
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            UnfoldVariable.Populate(property);
        }
Esempio n. 6
0
 internal override void Populate(string property)
 {
     if (ProjectedProperties.Contains(property))
     {
         return;
     }
     VertexProperties.Add(property);
     VertexProperties.Add(null);
     base.Populate(property);
 }
Esempio n. 7
0
 internal override void PopulateLocalPath()
 {
     if (ProjectedProperties.Contains(GremlinKeyword.Path))
     {
         return;
     }
     ProjectedProperties.Add(GremlinKeyword.Path);
     this.LocalContext.PopulateLocalPath();
     this.LocalPathLengthLowerBound = this.LocalContext.MinPathLength;
 }
Esempio n. 8
0
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            InputVariable.Populate(property);
            OptionalContext.Populate(property);
        }
Esempio n. 9
0
 internal override void PopulateLocalPath()
 {
     if (ProjectedProperties.Contains(GremlinKeyword.Path))
     {
         return;
     }
     ProjectedProperties.Add(GremlinKeyword.Path);
     foreach (var context in UnionContextList)
     {
         context.PopulateLocalPath();
     }
 }
Esempio n. 10
0
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            foreach (var variable in GremlinVariableList)
            {
                variable.Populate(property);
            }
        }
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            foreach (var context in CoalesceContextList)
            {
                context.Populate(property);
            }
        }
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            foreach (var variableList in BrachVariableList)
            {
                foreach (var variable in variableList)
                {
                    variable.BottomUpPopulate(ParentVariable, property, Label + "_" + property);
                }
            }
        }
Esempio n. 13
0
        internal override void Populate(string property)
        {
            RealVariable.Populate(property);

            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            switch (GetVariableType())
            {
            case GremlinVariableType.Vertex:
                if (GremlinUtil.IsEdgeProperty(property))
                {
                    return;
                }
                break;

            case GremlinVariableType.Edge:
                if (GremlinUtil.IsVertexProperty(property))
                {
                    return;
                }
                break;

            case GremlinVariableType.Scalar:
                if (property != GremlinKeyword.ScalarValue)
                {
                    return;
                }
                break;

            case GremlinVariableType.Property:
                if (property != GremlinKeyword.PropertyValue)
                {
                    return;
                }
                break;
            }
            base.Populate(property);

            if (!PropertiesMap.ContainsKey(property))
            {
                string columnName = SelectKey + "_" + property;
                RealVariable.BottomUpPopulate(AttachedVariable, property, columnName);
                PropertiesMap[property] = columnName;
            }
        }
Esempio n. 14
0
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            base.Populate(property);

            InputVariable.Populate(property);
            if (SelectedVariableList.Exists(p => p.Item1 != property))
            {
                RepeatContext.Populate(property);
            }
            else
            {
                RepeatContext.Populate(property);
            }
        }
Esempio n. 15
0
 internal override void PopulateLocalPath()
 {
     if (ProjectedProperties.Contains(GremlinKeyword.Path))
     {
         return;
     }
     ProjectedProperties.Add(GremlinKeyword.Path);
     if (PredicateContext != null)
     {
         TrueChoiceContext.PopulateLocalPath();
         FalseChocieContext.PopulateLocalPath();
     }
     else
     {
         foreach (var option in Options)
         {
             option.Value.PopulateLocalPath();
         }
     }
 }
Esempio n. 16
0
        internal override void Populate(string property)
        {
            if (ProjectedProperties.Contains(property))
            {
                return;
            }
            switch (GetVariableType())
            {
            case GremlinVariableType.Vertex:
                if (GremlinUtil.IsEdgeProperty(property))
                {
                    return;
                }
                break;

            case GremlinVariableType.Edge:
                if (GremlinUtil.IsVertexProperty(property))
                {
                    return;
                }
                break;

            case GremlinVariableType.VertexProperty:
                if (GremlinUtil.IsVertexProperty(property) || GremlinUtil.IsEdgeProperty(property))
                {
                    return;
                }
                break;

            case GremlinVariableType.Scalar:
            case GremlinVariableType.Property:
                if (property != GremlinKeyword.TableDefaultColumnName)
                {
                    return;
                }
                break;
            }
            base.Populate(property);
        }
Esempio n. 17
0
 internal override void PopulateLocalPath()
 {
     if (ProjectedProperties.Contains(GremlinKeyword.Path))
     {
         return;
     }
     ProjectedProperties.Add(GremlinKeyword.Path);
     if (this.PredicateContext != null)
     {
         this.TrueChoiceContext.PopulateLocalPath();
         this.FalseChocieContext.PopulateLocalPath();
         this.LocalPathLengthLowerBound = Math.Min(this.TrueChoiceContext.MinPathLength,
                                                   this.FalseChocieContext.MinPathLength);
     }
     else
     {
         this.LocalPathLengthLowerBound = Int32.MaxValue;
         foreach (var option in this.Options)
         {
             option.Value.PopulateLocalPath();
             this.LocalPathLengthLowerBound = Math.Min(this.LocalPathLengthLowerBound, option.Value.MinPathLength);
         }
     }
 }