parser SPARQL: token IT_BASE: 'BASE' token IT_PREFIX: 'PREFIX' token IT_SELECT: 'SELECT' token IT_DISTINCT: 'DISTINCT' token IT_REDUCED: 'REDUCED' token GT_TIMES: '\\*' token IT_CONSTRUCT: 'CONSTRUCT' token IT_DESCRIBE: 'DESCRIBE' token IT_ASK: 'ASK' token IT_FROM: 'FROM' token IT_NAMED: 'NAMED' token IT_WHERE: 'WHERE' token IT_ORDER: 'ORDER' token IT_BY: 'BY' token IT_ASC: 'ASC' token IT_DESC: 'DESC' token IT_LIMIT: 'LIMIT' token IT_OFFSET: 'OFFSET' token GT_LCURLEY: '\\{' token GT_DOT: '\\.' token GT_RCURLEY: '\\}' token IT_OPTIONAL: 'OPTIONAL' token IT_GRAPH: 'GRAPH' token IT_UNION: 'UNION' token IT_FILTER: 'FILTER' token GT_LPAREN: '\\(' token GT_COMMA: ',' token GT_RPAREN: '\\)' token GT_SEMI: ';' token IT_a: 'a' token GT_LBRACKET: '\\[' token GT_RBRACKET: '\\]' token GT_OR: '\\|\\|' token GT_AND: '&&' token GT_EQUAL: '=' token GT_NEQUAL: '!=' token GT_LT: '<' token GT_GT: '>' token GT_LE: '<=' token GT_GE: '>=' token GT_PLUS: '\\+' token GT_MINUS: '-' token GT_DIVIDE: '/' token GT_NOT: '!' token IT_STR: 'STR' token IT_LANG: 'LANG' token IT_LANGMATCHES: 'LANGMATCHES' token IT_DATATYPE: 'DATATYPE' token IT_BOUND: 'BOUND' token IT_sameTerm: 'sameTerm' token IT_isIRI: 'isIRI' token IT_isURI: 'isURI' token IT_isBLANK: 'isBLANK' token IT_isLITERAL: 'isLITERAL' token IT_REGEX: 'REGEX' token GT_DTYPE: '\\^\\^' token IT_true: 'true' token IT_false: 'false' token IRI_REF: '<((?:[#-;=\\?-\\[\\]_a-z~-\u10FFFD]))*>' token PNAME_NS: '((?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF]))))))))))))))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?))?:' token PNAME_LN: '(?:((?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF]))))))))))))))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?))?:)(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?)' token BLANK_NODE_LABEL: '_:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?)' token VAR1: '\\?(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))*)' token VAR2: '\\$(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))*)' token LANGTAG: '@([A-Za-z])+((?:-([0-9A-Za-z])+))*' token INTEGER: '([0-9])+' token DECIMAL: '(?:([0-9])+\\.([0-9])*)|(?:\\.([0-9])+)' token DOUBLE: '(?:([0-9])+\\.([0-9])*(?:[Ee]([\\+-])?([0-9])+))|(?:(?:\\.((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+))|(?:((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+)))' token INTEGER_POSITIVE: '\\+(?:([0-9])+)' token DECIMAL_POSITIVE: '\\+(?:(?:([0-9])+\\.([0-9])*)|(?:\\.([0-9])+))' token DOUBLE_POSITIVE: '\\+(?:(?:([0-9])+\\.([0-9])*(?:[Ee]([\\+-])?([0-9])+))|(?:(?:\\.((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+))|(?:((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+))))' token INTEGER_NEGATIVE: '-(?:([0-9])+)' token DECIMAL_NEGATIVE: '-(?:(?:([0-9])+\\.([0-9])*)|(?:\\.([0-9])+))' token DOUBLE_NEGATIVE: '-(?:(?:([0-9])+\\.([0-9])*(?:[Ee]([\\+-])?([0-9])+))|(?:(?:\\.((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+))|(?:((?:[0-9]))+(?:[Ee]([\\+-])?([0-9])+))))' token EXPONENT: '[Ee]([\\+-])?([0-9])+' token STRING_LITERAL1: '\'((?:(?:(?:[\u0000-\\t\u000B-\u000C\u000E-&\\(-\\[\\]-\u10FFFD]))|(?:(?:\\\\["\'\\\\bfnrt]))))*\'' token STRING_LITERAL2: '"((?:(?:(?:[\u0000-\\t\u000B-\u000C\u000E-!#-\\[\\]-\u10FFFD]))|(?:(?:\\\\["\'\\\\bfnrt]))))*"' token STRING_LITERAL_LONG1: '\'\'\'((?:((?:(?:\')|(?:\'\')))?(?:(?:[\u0000-&\\(-\\[\\]-\u10FFFD])|(?:(?:\\\\["\'\\\\bfnrt])))))*\'\'\'' token STRING_LITERAL_LONG2: '"""((?:((?:(?:")|(?:"")))?(?:(?:[\u0000-!#-\\[\\]-\u10FFFD])|(?:(?:\\\\["\'\\\\bfnrt])))))*"""' token ECHAR: '\\\\["\'\\\\bfnrt]' token NIL: '\\(((?:(?: )|(?:(?:\\t)|(?:(?:\\r)|(?:\\n)))))*\\)' token WS: '(?: )|(?:(?:\\t)|(?:(?:\\r)|(?:\\n)))' token ANON: '\\[((?:(?: )|(?:(?:\\t)|(?:(?:\\r)|(?:\\n)))))*\\]' token PN_CHARS_BASE: '(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))' token PN_CHARS_U: '(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)' token VARNAME: '(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))*' token PN_CHARS: '(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))' token PN_PREFIX: '(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF]))))))))))))))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?' token PN_LOCAL: '(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:[0-9]))((?:((?:(?:(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040])))))))|(?:\\.)))*(?:(?:(?:(?:(?:(?:[A-Z])|(?:(?:[a-z])|(?:(?:[\u00C0-\u00D6])|(?:(?:[\u00D8-\u00F6])|(?:(?:[\u00F8-\u02FF])|(?:(?:[\u0370-\u037D])|(?:(?:[\u037F-\u1FFF])|(?:(?:[\u200C-\u200D])|(?:(?:[\u2070-\u218F])|(?:(?:[\u2C00-\u2FEF])|(?:(?:[\u3001-\uD7FF])|(?:(?:[\uF900-\uFDCF])|(?:(?:[\uFDF0-\uFFFD])|(?:[\u10000-\uEFFFF])))))))))))))))|(?:_)))|(?:(?:-)|(?:(?:[0-9])|(?:(?:\u00B7)|(?:(?:[\u0300-\u036F])|(?:[\u203F-\u2040]))))))))?' ignore: '([\\t\\n\\r ])+' rule Query:Prologue ((SelectQuery)|((ConstructQuery)|((DescribeQuery)|(AskQuery)))) rule Prologue:(BaseDecl)? (PrefixDecl)* rule BaseDecl:IT_BASE IRI_REF rule PrefixDecl:IT_PREFIX PNAME_NS IRI_REF rule SelectQuery:IT_SELECT (((IT_DISTINCT)|(IT_REDUCED)))? (((Var)+)|(GT_TIMES)) (DatasetClause)* WhereClause SolutionModifier rule ConstructQuery:IT_CONSTRUCT ConstructTemplate (DatasetClause)* WhereClause SolutionModifier rule DescribeQuery:IT_DESCRIBE (((VarOrIRIref)+)|(GT_TIMES)) (DatasetClause)* (WhereClause)? SolutionModifier rule AskQuery:IT_ASK (DatasetClause)* WhereClause rule DatasetClause:IT_FROM ((DefaultGraphClause)|(NamedGraphClause)) rule DefaultGraphClause:SourceSelector rule NamedGraphClause:IT_NAMED SourceSelector rule SourceSelector:IRIref rule WhereClause:(IT_WHERE)? GroupGraphPattern rule SolutionModifier:(OrderClause)? (LimitOffsetClauses)? rule LimitOffsetClauses:((LimitClause (OffsetClause)?)|(OffsetClause (LimitClause)?)) rule OrderClause:IT_ORDER IT_BY (OrderCondition)+ rule OrderCondition:((((IT_ASC)|(IT_DESC)) BrackettedExpression))|(((Constraint)|(Var))) rule LimitClause:IT_LIMIT INTEGER rule OffsetClause:IT_OFFSET INTEGER rule GroupGraphPattern:GT_LCURLEY (TriplesBlock)? ((((GraphPatternNotTriples)|(Filter)) (GT_DOT)? (TriplesBlock)?))* GT_RCURLEY rule TriplesBlock:TriplesSameSubject ((GT_DOT (TriplesBlock)?))? rule GraphPatternNotTriples:(OptionalGraphPattern)|((GroupOrUnionGraphPattern)|(GraphGraphPattern)) rule OptionalGraphPattern:IT_OPTIONAL GroupGraphPattern rule GraphGraphPattern:IT_GRAPH VarOrIRIref GroupGraphPattern rule GroupOrUnionGraphPattern:GroupGraphPattern ((IT_UNION GroupGraphPattern))* rule Filter:IT_FILTER Constraint rule Constraint:(BrackettedExpression)|((BuiltInCall)|(FunctionCall)) rule FunctionCall:IRIref ArgList rule ArgList:((NIL)|(GT_LPAREN Expression ((GT_COMMA Expression))* GT_RPAREN)) rule ConstructTemplate:GT_LCURLEY (ConstructTriples)? GT_RCURLEY rule ConstructTriples:TriplesSameSubject ((GT_DOT (ConstructTriples)?))? rule TriplesSameSubject:(VarOrTerm PropertyListNotEmpty)|(TriplesNode PropertyList) rule PropertyListNotEmpty:Verb ObjectList ((GT_SEMI ((Verb ObjectList))?))* rule PropertyList:(PropertyListNotEmpty)? rule ObjectList:Object ((GT_COMMA Object))* rule Object:GraphNode rule Verb:(VarOrIRIref)|(IT_a) rule TriplesNode:(Collection)|(BlankNodePropertyList) rule BlankNodePropertyList:GT_LBRACKET PropertyListNotEmpty GT_RBRACKET rule Collection:GT_LPAREN (GraphNode)+ GT_RPAREN rule GraphNode:(VarOrTerm)|(TriplesNode) rule VarOrTerm:(Var)|(GraphTerm) rule VarOrIRIref:(Var)|(IRIref) rule Var:(VAR1)|(VAR2) rule GraphTerm:(IRIref)|((RDFLiteral)|((NumericLiteral)|((BooleanLiteral)|((BlankNode)|(NIL))))) rule Expression:ConditionalOrExpression rule ConditionalOrExpression:ConditionalAndExpression ((GT_OR ConditionalAndExpression))* rule ConditionalAndExpression:ValueLogical ((GT_AND ValueLogical))* rule ValueLogical:RelationalExpression rule RelationalExpression:NumericExpression (((GT_EQUAL NumericExpression)|((GT_NEQUAL NumericExpression)|((GT_LT NumericExpression)|((GT_GT NumericExpression)|((GT_LE NumericExpression)|(GT_GE NumericExpression)))))))? rule NumericExpression:AdditiveExpression rule AdditiveExpression:MultiplicativeExpression (((GT_PLUS MultiplicativeExpression)|((GT_MINUS MultiplicativeExpression)|((NumericLiteralPositive)|(NumericLiteralNegative)))))* rule MultiplicativeExpression:UnaryExpression (((GT_TIMES UnaryExpression)|(GT_DIVIDE UnaryExpression)))* rule UnaryExpression:(GT_NOT PrimaryExpression)|((GT_PLUS PrimaryExpression)|((GT_MINUS PrimaryExpression)|(PrimaryExpression))) rule PrimaryExpression:(BrackettedExpression)|((BuiltInCall)|((IRIrefOrFunction)|((RDFLiteral)|((NumericLiteral)|((BooleanLiteral)|(Var)))))) rule BrackettedExpression:GT_LPAREN Expression GT_RPAREN rule BuiltInCall:(IT_STR GT_LPAREN Expression GT_RPAREN)|((IT_LANG GT_LPAREN Expression GT_RPAREN)|((IT_LANGMATCHES GT_LPAREN Expression GT_COMMA Expression GT_RPAREN)|((IT_DATATYPE GT_LPAREN Expression GT_RPAREN)|((IT_BOUND GT_LPAREN Var GT_RPAREN)|((IT_sameTerm GT_LPAREN Expression GT_COMMA Expression GT_RPAREN)|((IT_isIRI GT_LPAREN Expression GT_RPAREN)|((IT_isURI GT_LPAREN Expression GT_RPAREN)|((IT_isBLANK GT_LPAREN Expression GT_RPAREN)|((IT_isLITERAL GT_LPAREN Expression GT_RPAREN)|(RegexExpression)))))))))) rule RegexExpression:IT_REGEX GT_LPAREN Expression GT_COMMA Expression ((GT_COMMA Expression))? GT_RPAREN rule IRIrefOrFunction:IRIref (ArgList)? rule RDFLiteral:String (((LANGTAG)|((GT_DTYPE IRIref))))? rule NumericLiteral:(NumericLiteralUnsigned)|((NumericLiteralPositive)|(NumericLiteralNegative)) rule NumericLiteralUnsigned:(INTEGER)|((DECIMAL)|(DOUBLE)) rule NumericLiteralPositive:(INTEGER_POSITIVE)|((DECIMAL_POSITIVE)|(DOUBLE_POSITIVE)) rule NumericLiteralNegative:(INTEGER_NEGATIVE)|((DECIMAL_NEGATIVE)|(DOUBLE_NEGATIVE)) rule BooleanLiteral:(IT_true)|(IT_false) rule String:(STRING_LITERAL1)|((STRING_LITERAL2)|((STRING_LITERAL_LONG1)|(STRING_LITERAL_LONG2))) rule IRIref:(IRI_REF)|(PrefixedName) rule PrefixedName:(PNAME_LN)|(PNAME_NS) rule BlankNode:(BLANK_NODE_LABEL)|(ANON)