Conditional Forwarding¶
After processing the data, conditional forwarding is doable based on the Tags
returned in the result.
Below is list of different logic operations that can be done on tags.
- and - forwards the message if all the tags specified are present in Message's tags.
- or - forwards the message if one of the tags specified is present in Message's tags.
- not - forwards the message if all the tags specified are not present in Message's tags.
For example, there's a UDF used to process numbers, and forward the result to different vertices based on the number is even or odd. In this case, you can set the tag
to even-tag
or odd-tag
in each of the returned messages,
and define the edges as below:
edges:
- from: p1
to: even-vertex
conditions:
tags:
operator: or # Optional, defaults to "or".
values:
- even-tag
- from: p1
to: odd-vertex
conditions:
tags:
operator: not
values:
- odd-tag
- from: p1
to: all
conditions:
tags:
operator: and
values:
- odd-tag
- even-tag