diff options
Diffstat (limited to 'aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4')
-rw-r--r-- | aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4 | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4 b/aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4 index 453c0fe..5d923e1 100644 --- a/aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4 +++ b/aai-traversal/src/main/resources/antlr4/org/onap/aai/dsl/v2/AAIDsl.g4 @@ -5,7 +5,7 @@ grammar AAIDsl; aaiquery: startStatement limit?; -startStatement: (vertex ) (traversal)* ; +startStatement: (vertex|unionVertex ) (traversal)* ; nestedStatement: (traversal)+ ; vertex: label store? (filter)?; @@ -13,14 +13,15 @@ vertex: label store? (filter)?; //traversal: ( vertex|unionVertex edge); traversal: (edge* (vertex|unionVertex)); -filter: (selectFilter)* (propertyFilter)* whereFilter?; +filter: (selectFilter)* (propertyFilter)* whereFilter*; propertyFilter: (not? '(' key (',' (key | num | bool))* ')'); -selectFilter: (not? '{' key (',' key)* '}'); +selectFilter: ( '{' key (',' key)* '}'); bool: BOOL; whereFilter: (not? '(' nestedStatement ')' ); -unionVertex: '[' ( nestedStatement ( comma (nestedStatement))*) ']' store?; +//unionVertex: '[' ( nestedStatement ( comma (nestedStatement))*) ']' store?; +unionVertex: '[' ( (edgeFilter)* nestedStatement ( comma ( (edgeFilter)* nestedStatement))*) ']' store?; comma: ','; edge: ( TRAVERSE|DIRTRAVERSE) (edgeFilter)?; |