Thanks Mahesh. Answers to your questions are as follows:
Q: Can you please elaborate on what would filter type, value and operator be? Is it something like filter_type:"Population", value:1Billion, operator:"Less than"?
A: Yes, that is exactly what it means. I had specified an example in my original question as well. E.g. Country IN ['China', 'India'], Region = 'Primary', Load > 40. Here the filter types (nodes) are: "Country", "Region", "Load". Operators would be: "IN", "=", ">". Value would be: ['China', 'India'], Primary, 40.
My input criteria could be: {Country = 'India', Load = 70}. This should match the example defined above (even though the Region filter is missing). You had mentioned that I need to model filtering as a traversal. Could you provide an example of this? Should I traverse the graph first, get all the filters and then apply the criteria as queries?
Q: Can you give and example of this (how nested criteria should be modeled) to help the community understand this better?
We could have a filter defined as: Type - "OS Version", Value - "10.3.4.5", Operator - ">"
An input criteria of "10.4" should match the above and so should "10.3.4.5.1"
I was thinking about defining this filter as four separate "nested" nodes (and hence the question). 10 -> 3 -> 4 -> 5
Ranga