public FilterNode(Node parent) : base(parent) { }
public UnionNode(Node parent) : base(parent) { }
//Optional(n1,n2,e) => LeftJoin(n1,n2,e) public OptionalNode(Node parent, Node child, string joinCondition) : base(parent) { Children.Add(child); JoinCondition = joinCondition; }
public ProjectNode(Node parent, List<string> projectVariable) : base(parent) { this.ProjectionVariables = projectVariable; }
public JoinNode(Node parent) : base(parent) { }
public TerminalNode(Node parent, string subj, string pred, string obj) : base(parent) { this.Subj = subj; this.Pred = pred; this.Obj = obj; }