...
...
...
...
...
Query data node using cps-path
...
Table of Contents |
---|
References
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
In order to search across given json the Json data here with multiple attributes under different lists OR condition support this implementationis used.
we can combine two leaf elements using “OR” condition this would give result. Below are the examples:
- Here cps-path //books[@pub_year=1994 or @price=1099]]
- Since, pub_year=1994 and price=1099 are under different list it gives the required response
...
- Here cps-path //books[@pub_year=1994 or @price=895 or @title="Far Horizons"]
- multiple attributes pub_year=1994 and price=895 and title=Far Horizons are under different list it gives the required response
...
- Also cps-path //books[@price=895 or @title="xyz"]
- price attribute has non-json value price=895 and title=xyz which non-json value "
//books[@pub_year=1994 or @price=895 or @title="Far Horizons"]
Implementation of OR Operator
1.Update antlr parser to recognize OR in leaf-condition
2.Implement required (native) query
3.Add Integration tests for
a.filter on mix of string and integer leaf-values
b.filter on non-json data
c.filter on combination of multiple AND's as well as OR's
4.Update documentation
5.demo to team
Query used : SELECT * FROM FRAGMENT WHERE anchor_id = :anchorId AND xpath ~ :xpathRegex AND ( attributes @> '{"price":895}' or attributes @> '{"title":"Far Horizons"}')
Limitations
...
1.Since leaf are stored in Hashmap same keys are not supported, unique keys only supports.
2.Only leaves can be used, leaf-list are not supported
3.Only string and integer values are supported, boolean and float values are not supported.
...