pgs:

pgs      ::= ( createType ';'? )+ EOF

no references


createType:

createType
         ::= createNodeType
           | createEdgeType
           | createGraphType

referenced by:


createNodeType:

createNodeType
         ::= CREATE SP NODE SP TYPE SP nodeType

referenced by:


createEdgeType:

createEdgeType
         ::= CREATE SP EDGE SP TYPE SP edgeType

referenced by:


createGraphType:

createGraphType
         ::= CREATE SP GRAPH SP TYPE SP graphType

referenced by:


graphType:

graphType
         ::= typeName STRICT? '{' elementTypes? '}'

referenced by:


elementTypes:

elementTypes
         ::= elementType ( ',' elementType )*

referenced by:


elementType:

elementType
         ::= typeName
           | nodeType
           | edgeType

referenced by:


nodeType:

nodeType ::= '(' typeName labelPropertySpec ')'

referenced by:


edgeType:

edgeType ::= endpointType '-[' typeName labelPropertySpec ']->' endpointType

referenced by:


endpointType:

endpointType
         ::= '(' labelPropertySpec ')'

referenced by:


labelPropertySpec:

labelPropertySpec
         ::= ( ':' labelSpec )? OPEN? propertySpec?

referenced by:


labelSpec:

labelSpec
         ::= '(' labelSpec ')'
           | '[' labelSpec ']'
           | labelSpec ( ( '|' | '&' ) labelSpec | '?' )
           | labelName
           | typeName

referenced by:


propertySpec:

propertySpec
         ::= '{' ( properties ( ',' OPEN )? | OPEN )? '}'

referenced by:


properties:

properties
         ::= property ( ( ',' property )* | ( '|' property )+ )

referenced by:


property:

property ::= key propertyType card

referenced by:


propertyType:

propertyType
         ::= ( typesSpec | ANY ) ( CHECK cond )?

referenced by:


typesSpec:

typesSpec
         ::= typeSpec ( ( '|' | '&' ) typeSpec )*

referenced by:


typeSpec:

typeSpec ::= simpleType
           | '[' value ( ',' value )* ']'

referenced by:


value:

value    ::= Literal

referenced by:


card:

card     ::= '?'
           | '+'
           | '*'
           | '{' number ',' max '}'

referenced by:


max:

max      ::= number
           | '*'

referenced by:


cond:

cond     ::= booleanExpr ( '||' | '&&' booleanExpr )*
           | NOT booleanExpr
           | true
           | false

referenced by:


booleanExpr:

booleanExpr
         ::= ( '>' | '<' ) expr
           | . . .
           | REGEX StringLiteral

referenced by:


key:

key      ::= StringLiteral

referenced by:


labelName:

labelName
         ::= StringLiteral

referenced by:


typeName:

typeName ::= StringLiteral

referenced by: