You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/12/07 13:23:03 UTC

svn commit: r1211410 [1/3] - in /incubator/jena/Jena2/ARQ/trunk: Grammar/ src/main/java/com/hp/hpl/jena/sparql/lang/arq/ src/main/java/com/hp/hpl/jena/sparql/lang/sparql_11/

Author: andy
Date: Wed Dec  7 12:23:02 2011
New Revision: 1211410

URL: http://svn.apache.org/viewvc?rev=1211410&view=rev
Log:
SPARQL 1.1 spec chanages

Modified:
    incubator/jena/Jena2/ARQ/trunk/Grammar/arq.jj
    incubator/jena/Jena2/ARQ/trunk/Grammar/master.jj
    incubator/jena/Jena2/ARQ/trunk/Grammar/sparql_11.jj
    incubator/jena/Jena2/ARQ/trunk/Grammar/tokens.txt
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParser.java
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserConstants.java
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserTokenManager.java
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/sparql_11/SPARQLParser11.java
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/sparql_11/SPARQLParser11Constants.java
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/sparql_11/SPARQLParser11TokenManager.java

Modified: incubator/jena/Jena2/ARQ/trunk/Grammar/arq.jj
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Grammar/arq.jj?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Grammar/arq.jj (original)
+++ incubator/jena/Jena2/ARQ/trunk/Grammar/arq.jj Wed Dec  7 12:23:02 2011
@@ -21,8 +21,14 @@
 // ARQ_UPDATE : extensions to SPARQL 1.1 Update to cover SPARQL/Update (W3C Submission)
 options
 {
-   JAVA_UNICODE_ESCAPE = true ;
-   UNICODE_INPUT = false ;
+      // \ u processed in the input stream
+      // SPARQL 1.0
+    JAVA_UNICODE_ESCAPE = true ;
+    UNICODE_INPUT = false ;
+//       // \ u processed after parsing.
+//       // strings, prefix names, IRIs
+//       JAVA_UNICODE_ESCAPE   = false ;
+//       UNICODE_INPUT         = true ;
   STATIC = false ;
 //  DEBUG_PARSER          = true ;
 //  DEBUG_TOKEN_MANAGER   = true ;
@@ -133,8 +139,7 @@ void SelectClause() : { Var v ; Expr exp
     |
       // Expressions without ()
       ( LOOKAHEAD(2)
-        expr = Aggregate() { getQuery().addResultVar((Var)null, expr) ; }
-      | expr = BuiltInCall() { getQuery().addResultVar((Var)null, expr) ; }
+        expr = BuiltInCall() { getQuery().addResultVar((Var)null, expr) ; }
       | expr = FunctionCall() { getQuery().addResultVar((Var)null, expr) ; }
       | n = RDFLiteral() { getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ; }
       | n = NumericLiteral() { getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ; }
@@ -289,12 +294,14 @@ void HavingClause() : { }
 }
 void HavingCondition() : { Expr c ; }
 {
-   c = Constraint()
-   { getQuery().addHavingCondition(c) ; }
+  c = Constraint()
+  { getQuery().addHavingCondition(c) ; }
 }
 void OrderClause() : { }
 {
+  { allowAggregatesInExpressions = true ; }
   <ORDER> <BY> ( OrderCondition() )+
+  { allowAggregatesInExpressions = false ; }
 }
 void OrderCondition() :
 { int direction = 0 ; Expr expr = null ; Node v = null ; }
@@ -1251,7 +1258,6 @@ Expr PrimaryExpression() : { Expr expr ;
   | gn = NumericLiteral() { return asExpr(gn) ; }
   | gn = BooleanLiteral() { return asExpr(gn) ; }
   | gn = Var() { return asExpr(gn) ; }
-  | expr = Aggregate() { return expr ; }
   )
 }
 Expr BrackettedExpression() : { Expr expr ; }
@@ -1261,6 +1267,8 @@ Expr BrackettedExpression() : { Expr exp
 Expr BuiltInCall() : { Expr expr ; Expr expr1 = null ; Expr expr2 = null ;
                        Node gn ; Token t ; ExprList a ; }
 {
+    expr = Aggregate() { return expr ; }
+  |
     <STR> <LPAREN> expr = Expression() <RPAREN>
     { return new E_Str(expr) ; }
   | <LANG> <LPAREN> expr = Expression() <RPAREN>
@@ -1563,7 +1571,7 @@ TOKEN:
                       "\u0000"-"\u0020"])* ">" >
 | <PNAME_NS: (<PN_PREFIX>)? ":" >
 | <PNAME_LN: <PNAME_NS> <PN_LOCAL> >
-| <BLANK_NODE_LABEL: "_:" <PN_LOCAL> >
+| <BLANK_NODE_LABEL: "_:" (<PN_CHARS_U> | ["0"-"9"]) ((<PN_CHARS>|".")* <PN_CHARS>)? >
 | <VAR1: "?" <VARNAME> >
 | <VAR2: "$" <VARNAME> >
 | <LANGTAG: <AT> (<A2Z>)+("-" (<A2ZN>)+)* >
@@ -1807,9 +1815,9 @@ TOKEN:
 |
   < #PERCENT: "%" <HEX> <HEX> >
 |
-  // Prefixed Name, Local Par, Escape
+  // Prefixed Name, Local Part, charcater escape sequences
   // Align with QueryParseBase unescapePName.
-  < #PLNE: "\\"
+  < #PN_LOCAL_ESC: "\\"
           ( "_" |
             "~" | "." | "-" | "!" | "$" | "&" | "'" |
            "(" | ")" | "*" | "+" | "," | ";" | "=" |
@@ -1834,8 +1842,7 @@ TOKEN:
   // No leading "_", no trailing ".", can have dot inside prefix name.
   <#PN_PREFIX: <PN_CHARS_BASE> ((<PN_CHARS>|".")* <PN_CHARS>)? >
 |
-  <#PLX: <PERCENT> | <PLNE> >
-  //<#PLX:  <PERCENT> >
+  <#PLX: <PERCENT> | <PN_LOCAL_ESC> >
 |
   // If goes ahead, consolidate
   <#PN_LOCAL: (<PN_CHARS_U> | ["0"-"9"] | <PLX> )

Modified: incubator/jena/Jena2/ARQ/trunk/Grammar/master.jj
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Grammar/master.jj?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Grammar/master.jj (original)
+++ incubator/jena/Jena2/ARQ/trunk/Grammar/master.jj Wed Dec  7 12:23:02 2011
@@ -50,8 +50,15 @@
 
 options
 {
-   JAVA_UNICODE_ESCAPE   = true ;
-   UNICODE_INPUT         = false ;
+      // \ u processed in the input stream
+      // SPARQL 1.0
+    JAVA_UNICODE_ESCAPE   = true ;
+    UNICODE_INPUT         = false ;
+
+//       // \ u processed after parsing.
+//       // strings, prefix names, IRIs
+//       JAVA_UNICODE_ESCAPE   = false ;
+//       UNICODE_INPUT         = true ;
 
   STATIC                = false ;
 //  DEBUG_PARSER          = true ;
@@ -185,8 +192,7 @@ void SelectClause() : {  Var v ; Expr ex
 #if ARQ
       // Expressions without ()
       ( LOOKAHEAD(2)
-        expr = Aggregate()          { getQuery().addResultVar((Var)null, expr) ; }
-      | expr = BuiltInCall()        { getQuery().addResultVar((Var)null, expr) ; }
+        expr = BuiltInCall()        { getQuery().addResultVar((Var)null, expr) ; }
       | expr = FunctionCall()       { getQuery().addResultVar((Var)null, expr) ; }
       | n = RDFLiteral()            { getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ; }
       | n = NumericLiteral()        { getQuery().addResultVar((Var)null, NodeValue.makeNode(n)) ; }
@@ -367,13 +373,15 @@ void HavingClause() : { }
 
 void HavingCondition() : { Expr c ; }
 {
-   c = Constraint()
-   { getQuery().addHavingCondition(c) ; }
+  c = Constraint()
+  { getQuery().addHavingCondition(c) ; }
 }
 
 void OrderClause() : { }
 {
+  { allowAggregatesInExpressions = true ; }
   <ORDER> <BY> ( OrderCondition() )+
+  { allowAggregatesInExpressions = false ; }
 }
 
 void OrderCondition() :
@@ -1567,7 +1575,6 @@ Expr PrimaryExpression() : { Expr expr ;
   | gn = NumericLiteral()  { return asExpr(gn) ; }
   | gn = BooleanLiteral()  { return asExpr(gn) ; }
   | gn = Var()             { return asExpr(gn) ; }
-  | expr = Aggregate() { return expr ; }
   )
 }
 
@@ -1579,6 +1586,8 @@ Expr BrackettedExpression() : { Expr exp
 Expr BuiltInCall() : { Expr expr ; Expr expr1 = null ; Expr expr2 = null ;
                        Node gn ; Token t ; ExprList a ; }
 {
+    expr = Aggregate() { return expr ; }
+  |
     <STR> <LPAREN> expr = Expression() <RPAREN>
     { return new E_Str(expr) ; }
   | <LANG> <LPAREN> expr = Expression() <RPAREN>
@@ -2000,7 +2009,7 @@ TOKEN:
                       "\u0000"-"\u0020"])* ">" >
 |  <PNAME_NS: (<PN_PREFIX>)? ":" >
 |  <PNAME_LN: <PNAME_NS> <PN_LOCAL> >
-|  <BLANK_NODE_LABEL: "_:" <PN_LOCAL> >
+|  <BLANK_NODE_LABEL: "_:" (<PN_CHARS_U> | ["0"-"9"]) ((<PN_CHARS>|".")* <PN_CHARS>)?  >
 |  <VAR1: "?" <VARNAME> >
 |  <VAR2: "$" <VARNAME> >
 |  <LANGTAG: <AT> (<A2Z>)+("-" (<A2ZN>)+)* >
@@ -2290,27 +2299,21 @@ TOKEN :
 
 // See XML chars.txt for notes
 
-#ifdef ARQ
-#define PNL_EXTRA    1
-#endif
-
 TOKEN:
 {
   // ARQ extensions to the PN_LOCAL token.
-#ifdef PNL_EXTRA
   < #HEX: ["0"-"9"] | ["A"-"F"] | ["a"-"f"] >
 |
   < #PERCENT: "%" <HEX> <HEX> >
 |
-  // Prefixed Name, Local Par, Escape
+  // Prefixed Name, Local Part, charcater escape sequences
   // Align with QueryParseBase unescapePName.
-  < #PLNE: "\\" 
+  < #PN_LOCAL_ESC: "\\" 
           ( "_" | 
             "~" | "." | "-" | "!" | "$" | "&" | "'" | 
            "(" | ")" | "*" | "+" | "," | ";" | "=" | 
            ":" | "/" | "?" | "#" | "@" | "%" ) >
 |
-#endif
   // XML 1.1 NCNameStartChar without "_"
   <#PN_CHARS_BASE:
           ["A"-"Z"] | ["a"-"z"] |
@@ -2330,19 +2333,12 @@ TOKEN:
   // No leading "_", no trailing ".", can have dot inside prefix name.
   <#PN_PREFIX: <PN_CHARS_BASE> ((<PN_CHARS>|".")* <PN_CHARS>)?  >
 |
-#ifdef SPARQL_11
-  // With a leading "_", no dot at end of local name.
-  <#PN_LOCAL: (<PN_CHARS_U> | ["0"-"9"]) ((<PN_CHARS>|".")* <PN_CHARS>)?  >
-#endif
-#ifdef ARQ
-  <#PLX:  <PERCENT> | <PLNE> >
-  //<#PLX:  <PERCENT> >
+  <#PLX:  <PERCENT> | <PN_LOCAL_ESC> >
 |
   // If goes ahead, consolidate
   <#PN_LOCAL: (<PN_CHARS_U> | ["0"-"9"] | <PLX> ) 
               ( (<PN_CHARS>|"."| <PLX> )* 
                 (<PN_CHARS>|<PLX>) ) ?  >
-#endif
 |
   // NCNAME without "-" and ".", allowing leading digits.
   <#VARNAME: ( <PN_CHARS_U> | ["0"-"9"] )

Modified: incubator/jena/Jena2/ARQ/trunk/Grammar/sparql_11.jj
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Grammar/sparql_11.jj?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Grammar/sparql_11.jj (original)
+++ incubator/jena/Jena2/ARQ/trunk/Grammar/sparql_11.jj Wed Dec  7 12:23:02 2011
@@ -21,8 +21,14 @@
 // ARQ_UPDATE : extensions to SPARQL 1.1 Update to cover SPARQL/Update (W3C Submission)
 options
 {
-   JAVA_UNICODE_ESCAPE = true ;
-   UNICODE_INPUT = false ;
+      // \ u processed in the input stream
+      // SPARQL 1.0
+    JAVA_UNICODE_ESCAPE = true ;
+    UNICODE_INPUT = false ;
+//       // \ u processed after parsing.
+//       // strings, prefix names, IRIs
+//       JAVA_UNICODE_ESCAPE   = false ;
+//       UNICODE_INPUT         = true ;
   STATIC = false ;
 //  DEBUG_PARSER          = true ;
 //  DEBUG_TOKEN_MANAGER   = true ;
@@ -275,12 +281,14 @@ void HavingClause() : { }
 }
 void HavingCondition() : { Expr c ; }
 {
-   c = Constraint()
-   { getQuery().addHavingCondition(c) ; }
+  c = Constraint()
+  { getQuery().addHavingCondition(c) ; }
 }
 void OrderClause() : { }
 {
+  { allowAggregatesInExpressions = true ; }
   <ORDER> <BY> ( OrderCondition() )+
+  { allowAggregatesInExpressions = false ; }
 }
 void OrderCondition() :
 { int direction = 0 ; Expr expr = null ; Node v = null ; }
@@ -1165,7 +1173,6 @@ Expr PrimaryExpression() : { Expr expr ;
   | gn = NumericLiteral() { return asExpr(gn) ; }
   | gn = BooleanLiteral() { return asExpr(gn) ; }
   | gn = Var() { return asExpr(gn) ; }
-  | expr = Aggregate() { return expr ; }
   )
 }
 Expr BrackettedExpression() : { Expr expr ; }
@@ -1175,6 +1182,8 @@ Expr BrackettedExpression() : { Expr exp
 Expr BuiltInCall() : { Expr expr ; Expr expr1 = null ; Expr expr2 = null ;
                        Node gn ; Token t ; ExprList a ; }
 {
+    expr = Aggregate() { return expr ; }
+  |
     <STR> <LPAREN> expr = Expression() <RPAREN>
     { return new E_Str(expr) ; }
   | <LANG> <LPAREN> expr = Expression() <RPAREN>
@@ -1469,7 +1478,7 @@ TOKEN:
                       "\u0000"-"\u0020"])* ">" >
 | <PNAME_NS: (<PN_PREFIX>)? ":" >
 | <PNAME_LN: <PNAME_NS> <PN_LOCAL> >
-| <BLANK_NODE_LABEL: "_:" <PN_LOCAL> >
+| <BLANK_NODE_LABEL: "_:" (<PN_CHARS_U> | ["0"-"9"]) ((<PN_CHARS>|".")* <PN_CHARS>)? >
 | <VAR1: "?" <VARNAME> >
 | <VAR2: "$" <VARNAME> >
 | <LANGTAG: <AT> (<A2Z>)+("-" (<A2ZN>)+)* >
@@ -1701,6 +1710,18 @@ TOKEN :
 TOKEN:
 {
   // ARQ extensions to the PN_LOCAL token.
+  < #HEX: ["0"-"9"] | ["A"-"F"] | ["a"-"f"] >
+|
+  < #PERCENT: "%" <HEX> <HEX> >
+|
+  // Prefixed Name, Local Part, charcater escape sequences
+  // Align with QueryParseBase unescapePName.
+  < #PN_LOCAL_ESC: "\\"
+          ( "_" |
+            "~" | "." | "-" | "!" | "$" | "&" | "'" |
+           "(" | ")" | "*" | "+" | "," | ";" | "=" |
+           ":" | "/" | "?" | "#" | "@" | "%" ) >
+|
   // XML 1.1 NCNameStartChar without "_"
   <#PN_CHARS_BASE:
           ["A"-"Z"] | ["a"-"z"] |
@@ -1720,8 +1741,12 @@ TOKEN:
   // No leading "_", no trailing ".", can have dot inside prefix name.
   <#PN_PREFIX: <PN_CHARS_BASE> ((<PN_CHARS>|".")* <PN_CHARS>)? >
 |
-  // With a leading "_", no dot at end of local name.
-  <#PN_LOCAL: (<PN_CHARS_U> | ["0"-"9"]) ((<PN_CHARS>|".")* <PN_CHARS>)? >
+  <#PLX: <PERCENT> | <PN_LOCAL_ESC> >
+|
+  // If goes ahead, consolidate
+  <#PN_LOCAL: (<PN_CHARS_U> | ["0"-"9"] | <PLX> )
+              ( (<PN_CHARS>|"."| <PLX> )*
+                (<PN_CHARS>|<PLX>) ) ? >
 |
   // NCNAME without "-" and ".", allowing leading digits.
   <#VARNAME: ( <PN_CHARS_U> | ["0"-"9"] )

Modified: incubator/jena/Jena2/ARQ/trunk/Grammar/tokens.txt
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Grammar/tokens.txt?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Grammar/tokens.txt (original)
+++ incubator/jena/Jena2/ARQ/trunk/Grammar/tokens.txt Wed Dec  7 12:23:02 2011
@@ -4,7 +4,8 @@
 [<IRIref>]   ::= '<' ([^<>"{}|^`\]-[#x00-#x20])* '>'
 <PNAME_NS>   ::= <PN_PREFIX>? ':'
 <PNAME_LN>   ::= <PNAME_NS> <PN_LOCAL>
-<BLANK_NODE_LABEL>  ::= '_:' <PN_LOCAL>
+<BLANK_NODE_LABEL> ::= '_:' ( <PN_CHARS_U> | [0-9] ) ((<PN_CHARS>|'.')* <PN_CHARS>)?
+
 <VAR1>       ::= '?' <VARNAME>
 <VAR2>       ::= '$' <VARNAME>
 <LANGTAG>    ::= '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)*
@@ -32,8 +33,6 @@
 <STRING_LITERAL_LONG2> ::= '"""' ( ( '"' | '""' )? ( [^"\] | <ECHAR> ) )* '"""'
 
 <ECHAR>           ::= '\' [tbnrf\"']
-//<HEX>             ::= [0-9] | [A-F] | [a-f]
-
 // The print value is the whitespace trimmed value after ::=
 
 [<KW_A>]       ::= 'a'
@@ -227,6 +226,7 @@
 [<RPATH>]         ::= '<-'
 [<QMARK>]         ::= '?'
 
+
 <#PN_CHARS_BASE>     ::= [A-Z] | [a-z] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x02FF] | [#x0370-#x037D] | [#x037F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
 
 <#PN_CHARS_U>      ::= <PN_CHARS_BASE> | '_'
@@ -238,4 +238,10 @@
 
 <#PN_PREFIX> ::= <PN_CHARS_BASE> ((<PN_CHARS>|'.')* <PN_CHARS>)?
 
-<#PN_LOCAL>       ::= ( <PN_CHARS_U> | [0-9] ) ((<PN_CHARS>|'.')* <PN_CHARS>)?
+<#PN_LOCAL>       ::=  (<PN_CHARS_U> | [0-9] | <PLX> ) ( ( <PN_CHARS> | '.' | <PLX> )*  ( <PN_CHARS> | <PLX> ) ) ?  >
+
+<#PLX>            ::= <PERCENT> | <PN_LOCAL_ESC>
+
+<PERCENT>         ::= '%' <HEX> <HEX>
+<HEX>             ::= [0-9] | [A-F] | [a-f]
+<PN_LOCAL_ESC>    ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | ':' | '/' | '?' | '#' | '@' | '%' )

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParser.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParser.java?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParser.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParser.java Wed Dec  7 12:23:02 2011
@@ -339,67 +339,10 @@ public class ARQParser extends ARQParser
         case STRING_LITERAL_LONG1:
         case STRING_LITERAL_LONG2:
           if (jj_2_1(2)) {
-            expr = Aggregate();
-                             getQuery().addResultVar((Var)null, expr) ;
+            expr = BuiltInCall();
+                               getQuery().addResultVar((Var)null, expr) ;
           } else {
             switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-            case EXISTS:
-            case NOT:
-            case BOUND:
-            case COALESCE:
-            case IF:
-            case BNODE:
-            case IRI:
-            case URI:
-            case STR:
-            case STRLANG:
-            case STRDT:
-            case DTYPE:
-            case LANG:
-            case LANGMATCHES:
-            case IS_URI:
-            case IS_IRI:
-            case IS_BLANK:
-            case IS_LITERAL:
-            case IS_NUMERIC:
-            case REGEX:
-            case SAME_TERM:
-            case RAND:
-            case ABS:
-            case CEIL:
-            case FLOOR:
-            case ROUND:
-            case CONCAT:
-            case SUBSTR:
-            case STRLEN:
-            case REPLACE:
-            case UCASE:
-            case LCASE:
-            case ENCODE_FOR_URI:
-            case CONTAINS:
-            case STRSTARTS:
-            case STRENDS:
-            case STRBEFORE:
-            case STRAFTER:
-            case YEAR:
-            case MONTH:
-            case DAY:
-            case HOURS:
-            case MINUTES:
-            case SECONDS:
-            case TIMEZONE:
-            case TZ:
-            case NOW:
-            case UUID:
-            case VERSION:
-            case MD5:
-            case SHA1:
-            case SHA256:
-            case SHA384:
-            case SHA512:
-              expr = BuiltInCall();
-                               getQuery().addResultVar((Var)null, expr) ;
-              break;
             case IRIref:
             case PNAME_NS:
             case PNAME_LN:
@@ -838,6 +781,13 @@ public class ARQParser extends ARQParser
       case VAR2:
       case EXISTS:
       case NOT:
+      case COUNT:
+      case MIN:
+      case MAX:
+      case SUM:
+      case AVG:
+      case SAMPLE:
+      case GROUP_CONCAT:
       case BOUND:
       case COALESCE:
       case IF:
@@ -905,6 +855,13 @@ public class ARQParser extends ARQParser
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case EXISTS:
     case NOT:
+    case COUNT:
+    case MIN:
+    case MAX:
+    case SUM:
+    case AVG:
+    case SAMPLE:
+    case GROUP_CONCAT:
     case BOUND:
     case COALESCE:
     case IF:
@@ -1005,6 +962,13 @@ public class ARQParser extends ARQParser
       case PNAME_LN:
       case EXISTS:
       case NOT:
+      case COUNT:
+      case MIN:
+      case MAX:
+      case SUM:
+      case AVG:
+      case SAMPLE:
+      case GROUP_CONCAT:
       case BOUND:
       case COALESCE:
       case IF:
@@ -1071,10 +1035,11 @@ public class ARQParser extends ARQParser
   final public void HavingCondition() throws ParseException {
                            Expr c ;
     c = Constraint();
-     getQuery().addHavingCondition(c) ;
+    getQuery().addHavingCondition(c) ;
   }
 
   final public void OrderClause() throws ParseException {
+    allowAggregatesInExpressions = true ;
     jj_consume_token(ORDER);
     jj_consume_token(BY);
     label_11:
@@ -1090,6 +1055,13 @@ public class ARQParser extends ARQParser
       case DESC:
       case EXISTS:
       case NOT:
+      case COUNT:
+      case MIN:
+      case MAX:
+      case SUM:
+      case AVG:
+      case SAMPLE:
+      case GROUP_CONCAT:
       case BOUND:
       case COALESCE:
       case IF:
@@ -1150,6 +1122,7 @@ public class ARQParser extends ARQParser
         break label_11;
       }
     }
+    allowAggregatesInExpressions = false ;
   }
 
   final public void OrderCondition() throws ParseException {
@@ -1181,6 +1154,13 @@ public class ARQParser extends ARQParser
     case VAR2:
     case EXISTS:
     case NOT:
+    case COUNT:
+    case MIN:
+    case MAX:
+    case SUM:
+    case AVG:
+    case SAMPLE:
+    case GROUP_CONCAT:
     case BOUND:
     case COALESCE:
     case IF:
@@ -1240,6 +1220,13 @@ public class ARQParser extends ARQParser
       case PNAME_LN:
       case EXISTS:
       case NOT:
+      case COUNT:
+      case MIN:
+      case MAX:
+      case SUM:
+      case AVG:
+      case SAMPLE:
+      case GROUP_CONCAT:
       case BOUND:
       case COALESCE:
       case IF:
@@ -2565,6 +2552,13 @@ public class ARQParser extends ARQParser
       break;
     case EXISTS:
     case NOT:
+    case COUNT:
+    case MIN:
+    case MAX:
+    case SUM:
+    case AVG:
+    case SAMPLE:
+    case GROUP_CONCAT:
     case BOUND:
     case COALESCE:
     case IF:
@@ -4043,6 +4037,13 @@ public class ARQParser extends ARQParser
       break;
     case EXISTS:
     case NOT:
+    case COUNT:
+    case MIN:
+    case MAX:
+    case SUM:
+    case AVG:
+    case SAMPLE:
+    case GROUP_CONCAT:
     case BOUND:
     case COALESCE:
     case IF:
@@ -4133,16 +4134,6 @@ public class ARQParser extends ARQParser
       gn = Var();
                  {if (true) return asExpr(gn) ;}
       break;
-    case COUNT:
-    case MIN:
-    case MAX:
-    case SUM:
-    case AVG:
-    case SAMPLE:
-    case GROUP_CONCAT:
-      expr = Aggregate();
-                         {if (true) return expr ;}
-      break;
     default:
       jj_la1[141] = jj_gen;
       jj_consume_token(-1);
@@ -4164,6 +4155,16 @@ public class ARQParser extends ARQParser
                        Expr expr ; Expr expr1 = null ; Expr expr2 = null ;
                        Node gn ; Token t ; ExprList a ;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case COUNT:
+    case MIN:
+    case MAX:
+    case SUM:
+    case AVG:
+    case SAMPLE:
+    case GROUP_CONCAT:
+      expr = Aggregate();
+                         {if (true) return expr ;}
+      break;
     case STR:
       jj_consume_token(STR);
       jj_consume_token(LPAREN);
@@ -5199,116 +5200,152 @@ public class ARQParser extends ARQParser
     finally { jj_save(3, xla); }
   }
 
-  private boolean jj_3_3() {
-    if (jj_scan_token(DOT)) return true;
-    if (jj_3R_36()) return true;
+  private boolean jj_3R_79() {
+    if (jj_scan_token(COALESCE)) return true;
+    if (jj_3R_97()) return true;
     return false;
   }
 
-  private boolean jj_3R_40() {
-    if (jj_scan_token(MAX)) return true;
+  private boolean jj_3R_78() {
+    if (jj_scan_token(VERSION)) return true;
+    if (jj_scan_token(NIL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_77() {
+    if (jj_scan_token(SHA512)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_82() {
+  private boolean jj_3R_148() {
     if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
     return false;
   }
 
-  private boolean jj_3R_39() {
-    if (jj_scan_token(MIN)) return true;
+  private boolean jj_3R_76() {
+    if (jj_scan_token(SHA384)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_81() {
+  private boolean jj_3R_147() {
     if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
     return false;
   }
 
-  private boolean jj_3R_80() {
+  private boolean jj_3R_75() {
+    if (jj_scan_token(SHA256)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_146() {
     if (jj_scan_token(STRING_LITERAL2)) return true;
     return false;
   }
 
-  private boolean jj_3R_38() {
-    if (jj_scan_token(SUM)) return true;
+  private boolean jj_3R_127() {
+    if (jj_scan_token(NIL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_74() {
+    if (jj_scan_token(SHA1)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_79() {
+  private boolean jj_3R_145() {
     if (jj_scan_token(STRING_LITERAL1)) return true;
     return false;
   }
 
-  private boolean jj_3R_61() {
+  private boolean jj_3R_73() {
+    if (jj_scan_token(MD5)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_126() {
+    if (jj_3R_132()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_72() {
+    if (jj_scan_token(UUID)) return true;
     if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_69() {
+  private boolean jj_3R_135() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_79()) {
+    if (jj_3R_145()) {
     jj_scanpos = xsp;
-    if (jj_3R_80()) {
+    if (jj_3R_146()) {
     jj_scanpos = xsp;
-    if (jj_3R_81()) {
+    if (jj_3R_147()) {
     jj_scanpos = xsp;
-    if (jj_3R_82()) return true;
+    if (jj_3R_148()) return true;
     }
     }
     }
     return false;
   }
 
-  private boolean jj_3R_60() {
-    if (jj_3R_66()) return true;
+  private boolean jj_3R_125() {
+    if (jj_3R_131()) return true;
     return false;
   }
 
-  private boolean jj_3R_59() {
-    if (jj_3R_65()) return true;
+  private boolean jj_3R_71() {
+    if (jj_scan_token(NOW)) return true;
+    if (jj_scan_token(NIL)) return true;
     return false;
   }
 
-  private boolean jj_3R_58() {
-    if (jj_3R_64()) return true;
+  private boolean jj_3R_124() {
+    if (jj_3R_130()) return true;
     return false;
   }
 
-  private boolean jj_3R_57() {
-    if (jj_3R_63()) return true;
+  private boolean jj_3R_70() {
+    if (jj_scan_token(TZ)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_74() {
-    if (jj_scan_token(FALSE)) return true;
+  private boolean jj_3R_123() {
+    if (jj_3R_129()) return true;
     return false;
   }
 
-  private boolean jj_3R_37() {
-    if (jj_scan_token(COUNT)) return true;
+  private boolean jj_3R_69() {
+    if (jj_scan_token(TIMEZONE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_53() {
+  private boolean jj_3R_122() {
+    if (jj_3R_128()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_119() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_56()) {
+    if (jj_3R_122()) {
     jj_scanpos = xsp;
-    if (jj_3R_57()) {
+    if (jj_3R_123()) {
     jj_scanpos = xsp;
-    if (jj_3R_58()) {
+    if (jj_3R_124()) {
     jj_scanpos = xsp;
-    if (jj_3R_59()) {
+    if (jj_3R_125()) {
     jj_scanpos = xsp;
-    if (jj_3R_60()) {
+    if (jj_3R_126()) {
     jj_scanpos = xsp;
-    if (jj_3R_61()) return true;
+    if (jj_3R_127()) return true;
     }
     }
     }
@@ -5317,344 +5354,866 @@ public class ARQParser extends ARQParser
     return false;
   }
 
-  private boolean jj_3R_56() {
-    if (jj_3R_62()) return true;
+  private boolean jj_3R_68() {
+    if (jj_scan_token(SECONDS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_73() {
+  private boolean jj_3R_140() {
+    if (jj_scan_token(FALSE)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_67() {
+    if (jj_scan_token(MINUTES)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_115() {
+    if (jj_3R_119()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_66() {
+    if (jj_scan_token(HOURS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_139() {
     if (jj_scan_token(TRUE)) return true;
     return false;
   }
 
-  private boolean jj_3R_35() {
+  private boolean jj_3R_131() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_37()) {
-    jj_scanpos = xsp;
-    if (jj_3R_38()) {
-    jj_scanpos = xsp;
-    if (jj_3R_39()) {
-    jj_scanpos = xsp;
-    if (jj_3R_40()) {
+    if (jj_3R_139()) {
     jj_scanpos = xsp;
-    if (jj_3R_41()) {
-    jj_scanpos = xsp;
-    if (jj_3R_42()) {
-    jj_scanpos = xsp;
-    if (jj_3R_43()) return true;
-    }
-    }
-    }
-    }
-    }
+    if (jj_3R_140()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_65() {
+  private boolean jj_3R_118() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_73()) {
+    if (jj_scan_token(13)) {
     jj_scanpos = xsp;
-    if (jj_3R_74()) return true;
+    if (jj_scan_token(14)) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_49() {
-    if (jj_3R_53()) return true;
+  private boolean jj_3R_65() {
+    if (jj_scan_token(DAY)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_52() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_scan_token(13)) {
-    jj_scanpos = xsp;
-    if (jj_scan_token(14)) return true;
-    }
+  private boolean jj_3R_64() {
+    if (jj_scan_token(MONTH)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_96() {
+  private boolean jj_3R_63() {
+    if (jj_scan_token(YEAR)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_162() {
     if (jj_scan_token(DOUBLE_NEGATIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_95() {
+  private boolean jj_3R_62() {
+    if (jj_scan_token(STRAFTER)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_161() {
     if (jj_scan_token(DECIMAL_NEGATIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_94() {
+  private boolean jj_3R_160() {
     if (jj_scan_token(INTEGER_NEGATIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_85() {
+  private boolean jj_3R_151() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_94()) {
+    if (jj_3R_160()) {
     jj_scanpos = xsp;
-    if (jj_3R_95()) {
+    if (jj_3R_161()) {
     jj_scanpos = xsp;
-    if (jj_3R_96()) return true;
+    if (jj_3R_162()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_93() {
+  private boolean jj_3R_61() {
+    if (jj_scan_token(STRBEFORE)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_60() {
+    if (jj_scan_token(STRENDS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_159() {
     if (jj_scan_token(DOUBLE_POSITIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_92() {
+  private boolean jj_3R_59() {
+    if (jj_scan_token(STRSTARTS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_158() {
     if (jj_scan_token(DECIMAL_POSITIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_91() {
+  private boolean jj_3R_114() {
+    if (jj_3R_118()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_157() {
     if (jj_scan_token(INTEGER_POSITIVE)) return true;
     return false;
   }
 
-  private boolean jj_3R_84() {
+  private boolean jj_3R_150() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_91()) {
+    if (jj_3R_157()) {
     jj_scanpos = xsp;
-    if (jj_3R_92()) {
+    if (jj_3R_158()) {
     jj_scanpos = xsp;
-    if (jj_3R_93()) return true;
+    if (jj_3R_159()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_48() {
-    if (jj_3R_52()) return true;
+  private boolean jj_3R_58() {
+    if (jj_scan_token(CONTAINS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_46() {
+  private boolean jj_3R_103() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_48()) {
+    if (jj_3R_114()) {
     jj_scanpos = xsp;
-    if (jj_3R_49()) return true;
+    if (jj_3R_115()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_90() {
-    if (jj_scan_token(DOUBLE)) return true;
+  private boolean jj_3R_57() {
+    if (jj_scan_token(ENCODE_FOR_URI)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_89() {
-    if (jj_scan_token(DECIMAL)) return true;
+  private boolean jj_3R_56() {
+    if (jj_scan_token(LCASE)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_88() {
-    if (jj_scan_token(INTEGER)) return true;
+  private boolean jj_3R_55() {
+    if (jj_scan_token(UCASE)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_83() {
+  private boolean jj_3R_156() {
+    if (jj_scan_token(DOUBLE)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_54() {
+    if (jj_3R_99()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_155() {
+    if (jj_scan_token(DECIMAL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_53() {
+    if (jj_scan_token(STRLEN)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_154() {
+    if (jj_scan_token(INTEGER)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_149() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_88()) {
+    if (jj_3R_154()) {
     jj_scanpos = xsp;
-    if (jj_3R_89()) {
+    if (jj_3R_155()) {
     jj_scanpos = xsp;
-    if (jj_3R_90()) return true;
+    if (jj_3R_156()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_72() {
-    if (jj_3R_85()) return true;
+  private boolean jj_3R_52() {
+    if (jj_3R_98()) return true;
     return false;
   }
 
-  private boolean jj_3R_71() {
-    if (jj_3R_84()) return true;
+  private boolean jj_3R_51() {
+    if (jj_scan_token(CONCAT)) return true;
+    if (jj_3R_97()) return true;
     return false;
   }
 
-  private boolean jj_3R_70() {
-    if (jj_3R_83()) return true;
+  private boolean jj_3R_50() {
+    if (jj_scan_token(ROUND)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_64() {
+  private boolean jj_3R_49() {
+    if (jj_scan_token(FLOOR)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_138() {
+    if (jj_3R_151()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_48() {
+    if (jj_scan_token(CEIL)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_137() {
+    if (jj_3R_150()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_47() {
+    if (jj_scan_token(ABS)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_136() {
+    if (jj_3R_149()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_46() {
+    if (jj_scan_token(RAND)) return true;
+    if (jj_scan_token(NIL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_96() {
+    if (jj_scan_token(NIL)) return true;
+    return false;
+  }
+
+  private boolean jj_3_1() {
+    if (jj_3R_35()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_130() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_70()) {
+    if (jj_3R_136()) {
     jj_scanpos = xsp;
-    if (jj_3R_71()) {
+    if (jj_3R_137()) {
     jj_scanpos = xsp;
-    if (jj_3R_72()) return true;
+    if (jj_3R_138()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3_1() {
-    if (jj_3R_35()) return true;
+  private boolean jj_3R_95() {
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_63() {
-    if (jj_3R_69()) return true;
+  private boolean jj_3R_45() {
+    if (jj_scan_token(BNODE)) return true;
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_95()) {
+    jj_scanpos = xsp;
+    if (jj_3R_96()) return true;
+    }
     return false;
   }
 
-  private boolean jj_3R_54() {
+  private boolean jj_3R_44() {
+    if (jj_scan_token(URI)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3_2() {
-    if (jj_scan_token(DOT)) return true;
-    if (jj_3R_36()) return true;
+  private boolean jj_3R_43() {
+    if (jj_scan_token(IRI)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_77() {
-    if (jj_scan_token(IRIref)) return true;
+  private boolean jj_3R_42() {
+    if (jj_scan_token(BOUND)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_55() {
-    if (jj_scan_token(LBRACKET)) return true;
+  private boolean jj_3R_41() {
+    if (jj_scan_token(DTYPE)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_76() {
-    if (jj_scan_token(ANON)) return true;
+  private boolean jj_3R_129() {
+    if (jj_3R_135()) return true;
     return false;
   }
 
-  private boolean jj_3R_51() {
-    if (jj_3R_55()) return true;
+  private boolean jj_3R_40() {
+    if (jj_scan_token(LANGMATCHES)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_47() {
+  private boolean jj_3R_120() {
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_39() {
+    if (jj_scan_token(LANG)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_38() {
+    if (jj_scan_token(STR)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_37() {
+    if (jj_3R_94()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_35() {
     Token xsp;
     xsp = jj_scanpos;
+    if (jj_3R_37()) {
+    jj_scanpos = xsp;
+    if (jj_3R_38()) {
+    jj_scanpos = xsp;
+    if (jj_3R_39()) {
+    jj_scanpos = xsp;
+    if (jj_3R_40()) {
+    jj_scanpos = xsp;
+    if (jj_3R_41()) {
+    jj_scanpos = xsp;
+    if (jj_3R_42()) {
+    jj_scanpos = xsp;
+    if (jj_3R_43()) {
+    jj_scanpos = xsp;
+    if (jj_3R_44()) {
+    jj_scanpos = xsp;
+    if (jj_3R_45()) {
+    jj_scanpos = xsp;
+    if (jj_3R_46()) {
+    jj_scanpos = xsp;
+    if (jj_3R_47()) {
+    jj_scanpos = xsp;
+    if (jj_3R_48()) {
+    jj_scanpos = xsp;
+    if (jj_3R_49()) {
+    jj_scanpos = xsp;
     if (jj_3R_50()) {
     jj_scanpos = xsp;
-    if (jj_3R_51()) return true;
+    if (jj_3R_51()) {
+    jj_scanpos = xsp;
+    if (jj_3R_52()) {
+    jj_scanpos = xsp;
+    if (jj_3R_53()) {
+    jj_scanpos = xsp;
+    if (jj_3R_54()) {
+    jj_scanpos = xsp;
+    if (jj_3R_55()) {
+    jj_scanpos = xsp;
+    if (jj_3R_56()) {
+    jj_scanpos = xsp;
+    if (jj_3R_57()) {
+    jj_scanpos = xsp;
+    if (jj_3R_58()) {
+    jj_scanpos = xsp;
+    if (jj_3R_59()) {
+    jj_scanpos = xsp;
+    if (jj_3R_60()) {
+    jj_scanpos = xsp;
+    if (jj_3R_61()) {
+    jj_scanpos = xsp;
+    if (jj_3R_62()) {
+    jj_scanpos = xsp;
+    if (jj_3R_63()) {
+    jj_scanpos = xsp;
+    if (jj_3R_64()) {
+    jj_scanpos = xsp;
+    if (jj_3R_65()) {
+    jj_scanpos = xsp;
+    if (jj_3R_66()) {
+    jj_scanpos = xsp;
+    if (jj_3R_67()) {
+    jj_scanpos = xsp;
+    if (jj_3R_68()) {
+    jj_scanpos = xsp;
+    if (jj_3R_69()) {
+    jj_scanpos = xsp;
+    if (jj_3R_70()) {
+    jj_scanpos = xsp;
+    if (jj_3R_71()) {
+    jj_scanpos = xsp;
+    if (jj_3R_72()) {
+    jj_scanpos = xsp;
+    if (jj_3R_73()) {
+    jj_scanpos = xsp;
+    if (jj_3R_74()) {
+    jj_scanpos = xsp;
+    if (jj_3R_75()) {
+    jj_scanpos = xsp;
+    if (jj_3R_76()) {
+    jj_scanpos = xsp;
+    if (jj_3R_77()) {
+    jj_scanpos = xsp;
+    if (jj_3R_78()) {
+    jj_scanpos = xsp;
+    if (jj_3R_79()) {
+    jj_scanpos = xsp;
+    if (jj_3R_80()) {
+    jj_scanpos = xsp;
+    if (jj_3R_81()) {
+    jj_scanpos = xsp;
+    if (jj_3R_82()) {
+    jj_scanpos = xsp;
+    if (jj_3R_83()) {
+    jj_scanpos = xsp;
+    if (jj_3R_84()) {
+    jj_scanpos = xsp;
+    if (jj_3R_85()) {
+    jj_scanpos = xsp;
+    if (jj_3R_86()) {
+    jj_scanpos = xsp;
+    if (jj_3R_87()) {
+    jj_scanpos = xsp;
+    if (jj_3R_88()) {
+    jj_scanpos = xsp;
+    if (jj_3R_89()) {
+    jj_scanpos = xsp;
+    if (jj_3R_90()) {
+    jj_scanpos = xsp;
+    if (jj_3R_91()) return true;
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_121() {
+    if (jj_scan_token(LBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_117() {
+    if (jj_3R_121()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_116() {
+    if (jj_3R_120()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_104() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_116()) {
+    jj_scanpos = xsp;
+    if (jj_3R_117()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_50() {
-    if (jj_3R_54()) return true;
+  private boolean jj_3_4() {
+    if (jj_scan_token(SEMICOLON)) return true;
+    if (jj_scan_token(SEPARATOR)) return true;
     return false;
   }
 
-  private boolean jj_3R_75() {
-    if (jj_scan_token(BLANK_NODE_LABEL)) return true;
+  private boolean jj_3R_93() {
+    if (jj_3R_104()) return true;
     return false;
   }
 
-  private boolean jj_3R_66() {
+  private boolean jj_3R_111() {
+    if (jj_scan_token(GROUP_CONCAT)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_36() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_75()) {
+    if (jj_3R_92()) {
     jj_scanpos = xsp;
-    if (jj_3R_76()) return true;
+    if (jj_3R_93()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_87() {
-    if (jj_scan_token(PNAME_NS)) return true;
+  private boolean jj_3R_92() {
+    if (jj_3R_103()) return true;
     return false;
   }
 
-  private boolean jj_3R_86() {
-    if (jj_scan_token(PNAME_LN)) return true;
+  private boolean jj_3R_110() {
+    if (jj_scan_token(SAMPLE)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3_4() {
-    if (jj_scan_token(SEMICOLON)) return true;
-    if (jj_scan_token(SEPARATOR)) return true;
+  private boolean jj_3R_109() {
+    if (jj_scan_token(AVG)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_78() {
+  private boolean jj_3_3() {
+    if (jj_scan_token(DOT)) return true;
+    if (jj_3R_36()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_108() {
+    if (jj_scan_token(MAX)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_107() {
+    if (jj_scan_token(MIN)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_106() {
+    if (jj_scan_token(SUM)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_105() {
+    if (jj_scan_token(COUNT)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_94() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_86()) {
+    if (jj_3R_105()) {
+    jj_scanpos = xsp;
+    if (jj_3R_106()) {
+    jj_scanpos = xsp;
+    if (jj_3R_107()) {
+    jj_scanpos = xsp;
+    if (jj_3R_108()) {
     jj_scanpos = xsp;
-    if (jj_3R_87()) return true;
+    if (jj_3R_109()) {
+    jj_scanpos = xsp;
+    if (jj_3R_110()) {
+    jj_scanpos = xsp;
+    if (jj_3R_111()) return true;
+    }
+    }
+    }
+    }
+    }
     }
     return false;
   }
 
-  private boolean jj_3R_45() {
-    if (jj_3R_47()) return true;
+  private boolean jj_3R_112() {
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_68() {
-    if (jj_3R_78()) return true;
+  private boolean jj_3R_102() {
+    if (jj_scan_token(NOT)) return true;
+    if (jj_scan_token(EXISTS)) return true;
     return false;
   }
 
-  private boolean jj_3R_43() {
-    if (jj_scan_token(GROUP_CONCAT)) return true;
+  private boolean jj_3R_97() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(163)) {
+    jj_scanpos = xsp;
+    if (jj_3R_112()) return true;
+    }
+    return false;
+  }
+
+  private boolean jj_3R_101() {
+    if (jj_scan_token(EXISTS)) return true;
+    if (jj_3R_113()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_99() {
+    if (jj_scan_token(REPLACE)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_67() {
-    if (jj_3R_77()) return true;
+  private boolean jj_3R_113() {
+    if (jj_scan_token(LBRACE)) return true;
     return false;
   }
 
-  private boolean jj_3R_62() {
+  private boolean jj_3R_98() {
+    if (jj_scan_token(SUBSTR)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3_2() {
+    if (jj_scan_token(DOT)) return true;
+    if (jj_3R_36()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_100() {
+    if (jj_scan_token(REGEX)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_143() {
+    if (jj_scan_token(IRIref)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_91() {
+    if (jj_3R_102()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_90() {
+    if (jj_3R_101()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_142() {
+    if (jj_scan_token(ANON)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_89() {
+    if (jj_3R_100()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_88() {
+    if (jj_scan_token(IS_NUMERIC)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_141() {
+    if (jj_scan_token(BLANK_NODE_LABEL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_132() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_67()) {
+    if (jj_3R_141()) {
     jj_scanpos = xsp;
-    if (jj_3R_68()) return true;
+    if (jj_3R_142()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_44() {
-    if (jj_3R_46()) return true;
+  private boolean jj_3R_87() {
+    if (jj_scan_token(IS_LITERAL)) return true;
+    if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_36() {
+  private boolean jj_3R_86() {
+    if (jj_scan_token(IS_BLANK)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_153() {
+    if (jj_scan_token(PNAME_NS)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_85() {
+    if (jj_scan_token(IS_URI)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_152() {
+    if (jj_scan_token(PNAME_LN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_84() {
+    if (jj_scan_token(IS_IRI)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_144() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_44()) {
+    if (jj_3R_152()) {
     jj_scanpos = xsp;
-    if (jj_3R_45()) return true;
+    if (jj_3R_153()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_42() {
-    if (jj_scan_token(SAMPLE)) return true;
+  private boolean jj_3R_83() {
+    if (jj_scan_token(SAME_TERM)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
 
-  private boolean jj_3R_41() {
-    if (jj_scan_token(AVG)) return true;
+  private boolean jj_3R_82() {
+    if (jj_scan_token(STRDT)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_134() {
+    if (jj_3R_144()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_81() {
+    if (jj_scan_token(STRLANG)) return true;
+    if (jj_scan_token(LPAREN)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_133() {
+    if (jj_3R_143()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_128() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_133()) {
+    jj_scanpos = xsp;
+    if (jj_3R_134()) return true;
+    }
+    return false;
+  }
+
+  private boolean jj_3R_80() {
+    if (jj_scan_token(IF)) return true;
     if (jj_scan_token(LPAREN)) return true;
     return false;
   }
@@ -5691,13 +6250,13 @@ public class ARQParser extends ARQParser
       jj_la1_0 = new int[] {0x7200000,0x180000,0x180000,0x0,0xc00000,0xc00000,0xe00,0x0,0x6e00,0x6e00,0x6e00,0x0,0x0,0x7e00,0x0,0x6e00,0x6e00,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x20000000,0x18000000,0x6e00,0x0,0x6e00,0xe00,0x6e00,0x0,0x6e00,0x6e00,0x10000000,0x8000000,0x18000000,0x6000,0x0,0xe00,0x0,0x80000000,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0xe00,0x0,0xe00,0xe00,0x0,0xe00,0x0,0x0,0x7e00,0x0,0x0,0x7e00,0x7e00,0x0,0x200000,0x7e00,0x0,0x0,0x7e00,0x7e00,0x0,0x0,0x0,0x0,0xe00,0x400000,0x0,0x0,0x0,0x0,0x7e00,0x0,0x7e00,0x0,0x46e00,0x46e00,0x0,0x46e00,0x7e00,0x46e00,0x0,0x46e00,0x46e00,0x46e00,0x0,0x0,0x0,0x0,0x40e00,0x0,0x0,0x0,0x0,0x40e00,0x0,0x40e00,0x40e00,0x40e00,0x40e00,0x0,0x7e00,0x7e00,0x7e00,0x6e00,0x6000,0x1e00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6e00,0x6e00,0x0,0x0,0x0,0x0,0x0,0x400000,0x6e00,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0
 xc00,0x1000,};
    }
    private static void jj_la1_init_1() {
-      jj_la1_1 = new int[] {0x0,0x0,0x0,0x10,0x0,0x0,0x80018000,0x20000,0xb7c18000,0xb7c18000,0xb7c18000,0x10,0x10,0x0,0x30,0x0,0x0,0x10,0x20,0x10,0x8,0x20,0x40000,0x80000,0x0,0x0,0x80018000,0x20000,0x80018000,0x80018000,0x80018006,0x6,0x80018000,0x80018006,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x8,0x80,0x80,0x88,0x88,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4001bd80,0x0,0x0,0x0,0x0,0x4001bd80,0x0,0x200,0x80018000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb7c18000,0xb7c18000,0x0,0x80018000,0x0,0x0,0x0,0x0,0xb7c18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+      jj_la1_1 = new int[] {0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x20000,0xb7c18000,0xb7c18000,0xb7c18000,0x10,0x10,0x0,0x30,0x0,0x0,0x10,0x20,0x10,0x8,0x20,0x40000,0x80000,0x0,0x0,0xb7c18000,0x20000,0xb7c18000,0xb7c18000,0xb7c18006,0x6,0xb7c18000,0xb7c18006,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x8,0x80,0x80,0x88,0x88,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4001bd80,0x0,0x0,0x0,0x0,0x4001bd80,0x0,0x200,0xb7c18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb7c18000,0xb7c18000,0x0,0xb7c18000,0x0,0x0,0x0,0x0,0xb7c18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
    }
    private static void jj_la1_init_2() {
-      jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0xffffff3d,0xffffff3d,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0xffffff3d,0xffffff3d,0xffffff3d,0x0,0xffffff3d,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0xffffff3d,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+      jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0xffffff3d,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0xffffff3d,0xffffff3d,0xffffff3d,0x0,0xffffff3d,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffff3d,0xffffff3d,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0xffffff3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
    }
    private static void jj_la1_init_3() {
-      jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x1f7ffff,0x0,0x1f7ffff,0x1f7ffff,0x1f7ffff,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x77ffff,0x0,0x77ffff,0x77ffff,0x77ffff,0x0,0x77ffff,0x77ffff,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x0,0xfc000000,0xfc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0xc000000,0x0,0x0,0x8000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x1800000,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x1800000,0x0,0x0,0x0,0x0,0x77ffff,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x1800000,0x1800000,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f7ffff,0x1f7ffff,0x0,0x77ffff,0x0,0x0,0x0,0x0,0x1f7ffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,};
+      jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x1f7ffff,0x1f7ffff,0x1f7ffff,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x77ffff,0x0,0x77ffff,0x77ffff,0x77ffff,0x0,0x77ffff,0x77ffff,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x0,0xfc000000,0xfc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0xc000000,0x0,0x0,0x8000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x1800000,0x0,0x0,0x1800000,0x0,0x0,0x1800000,0x1800000,0x0,0x0,0x0,0x0,0x77ffff,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x1800000,0x1800000,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f7ffff,0x1f7ffff,0x0,0x77ffff,0x0,0x0,0x0,0x0,0x1f7ffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0,};
    }
    private static void jj_la1_init_4() {
       jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0x0,0xe1ff0000,0xe1ff0000,0xe1ff0000,0x0,0x0,0xe1ff0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0x0,0x0,0xe1ff0000,0x0,0x213f,0x213f,0x80,0x0,0x200,0x80,0x80,0x80,0x80,0x80,0x80,0x2000,0x0,0x0,0x4000,0x0,0x0,0x0,0x200,0x200,0x0,0x0,0x0,0x0,0x800,0x1800,0x1800,0xe1ff0000,0x0,0x0,0xe1ff0000,0xe1ff0000,0x0,0x0,0xe1ff0000,0x0,0x0,0xe1ff0000,0xe1ff0000,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0x0,0xe1ff0000,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0xe1ff0000,0xe1ff0000,0x0,0x0,0xe1ff0000,0x0,0x0,0x0,0x0,0x1f80000,0x1f80000,0x0,0x0,0x1f80000,0x0,0x0,0xe1ff0000,0xe1ff0000,0x0,0x0,0x0,0x0,0x0,0x0,0xe1ff0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff0000,0x70000,0x380000,0x1c00000,0x0,0xe0000000,0x0,0x0,0x0,};

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserConstants.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserConstants.java?rev=1211410&r1=1211409&r2=1211410&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserConstants.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/lang/arq/ARQParserConstants.java Wed Dec  7 12:23:02 2011
@@ -410,7 +410,7 @@ public interface ARQParserConstants {
   /** RegularExpression Id. */
   int PERCENT = 196;
   /** RegularExpression Id. */
-  int PLNE = 197;
+  int PN_LOCAL_ESC = 197;
   /** RegularExpression Id. */
   int PN_CHARS_BASE = 198;
   /** RegularExpression Id. */
@@ -630,7 +630,7 @@ public interface ARQParserConstants {
     "\"?\"",
     "<HEX>",
     "<PERCENT>",
-    "<PLNE>",
+    "<PN_LOCAL_ESC>",
     "<PN_CHARS_BASE>",
     "<PN_CHARS_U>",
     "<PN_CHARS>",