1using System.Collections.Generic;
2using System.Threading.Tasks;
51 if (!this.left.ForAll(Callback, State, Order))
54 if (!this.right.ForAll(Callback, State, Order))
69 if (!this.left.ForAllChildNodes(Callback, State, Order))
72 if (!this.right.ForAllChildNodes(Callback, State, Order))
87 IEnumerable<Possibility> ExistingMatches,
SparqlQuery Query);
95 this.left.SetParent(Parent);
96 this.right.SetParent(Parent);
103 this.GetType() != obj.GetType())
108 return this.left.Equals(Typed.left) &&
109 this.right.Equals(Typed.right);
115 int Result = this.GetType().GetHashCode();
116 Result ^= Result << 5 ^ this.left.GetHashCode();
117 Result ^= Result << 5 ^ this.right.GetHashCode();
Base class for all nodes in a parsed script tree.
Intersection of two patterns.
abstract Task< IEnumerable< Possibility > > Search(ISemanticCube Cube, Variables Variables, IEnumerable< Possibility > ExistingMatches, SparqlQuery Query)
Searches for the pattern on information in a semantic cube.
void SetParent(ScriptNode Parent)
Sets the parent node. Can only be used when expression is being parsed.
override bool Equals(object obj)
bool ForAll(ScriptNodeEventHandler Callback, object State, SearchMethod Order)
Calls the callback method for all child nodes.
BinaryOperatorPattern(ISparqlPattern Left, ISparqlPattern Right)
Intersection of two patterns.
bool IsEmpty
If pattern is empty.
override int GetHashCode()
ISparqlPattern Left
Left pattern
bool ForAllChildNodes(ScriptNodeEventHandler Callback, object State, SearchMethod Order)
Calls the callback method for all child nodes.
ISparqlPattern Right
Right pattern
Interface for semantic cubes.
Interface for SPARQL patterns.
delegate bool ScriptNodeEventHandler(ScriptNode Node, out ScriptNode NewNode, object State)
Delegate for ScriptNode callback methods.
SearchMethod
Method to traverse the expression structure