Node predicates represent patterns applied on the Nodes in the graph. They are the base of XL queries, as it is required to have at least one node predicate in a query.
Query nodes from their type. E.g. the predicate Sphere within a query is a pattern that matches instances of Sphere.
Parametrized pattern enables to bound query variables to parameters of the node pattern. E.g. Sphere(5) Sphere(r) both 5 and r are declared query variables, yet they are used differently:
r, making it available to use.Expression patterns provide a way to fix the value which has to be bound to the pattern. The expression can either:
The most common expression pattern is the root operator ^, which return the root of the current data graph.
An unary predicate enables the use of boolean methods as patterns. The methods needs to:
Wrapper nodes can be included in query. When used as predicate, the wrapper node can either be used to fetch the wrapped value, or the wrapper node.
The XL query syntax uses the square brackets ([ and ]) as symbol for sub trees in the path pattern. Thus, there is a conflict between the syntax for element access in an array, and sub-tree predicate.