Validating against the yosiJune28a grammar. See
Input some text to test:
Productions: | |||
| [1] | Query |
::= | Prolog ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) |
| [2] | Prolog |
::= | (BaseDecl)? (PrefixDecl)* |
| [3] | BaseDecl |
::= | "BASE" QuotedIRIref |
| [4] | PrefixDecl |
::= | "PREFIX" QNAME_NS QuotedIRIref |
| [5] | SelectQuery |
::= | "SELECT" ("DISTINCT")? ( (Var)+ | "*" ) (DatasetClause)* WhereClause SolutionModifier |
| [6] | ConstructQuery |
::= | "CONSTRUCT" ConstructTemplate (DatasetClause)* WhereClause SolutionModifier |
| [7] | DescribeQuery |
::= | "DESCRIBE" ( (VarOrIRIref)+ | "*" ) (DatasetClause)* (WhereClause)? SolutionModifier |
| [8] | AskQuery |
::= | "ASK" (DatasetClause)* WhereClause |
| [9] | DatasetClause |
::= | "FROM" ( DefaultGraphClause | NamedGraphClause ) |
| [10] | DefaultGraphClause |
::= | SourceSelector |
| [11] | NamedGraphClause |
::= | "NAMED" SourceSelector |
| [12] | SourceSelector |
::= | IRIref |
| [13] | WhereClause |
::= | ("WHERE")? GroupGraphPattern |
| [14] | SolutionModifier |
::= | (OrderClause)? (LimitClause)? (OffsetClause)? |
| [15] | OrderClause |
::= | "ORDER" "BY" (OrderCondition)+ |
| [16] | OrderCondition |
::= | ( ( "ASC" | "DESC" ) BrackettedExpression ) |
| [17] | LimitClause |
::= | "LIMIT" INTEGER |
| [18] | OffsetClause |
::= | "OFFSET" INTEGER |
| [19] | GroupGraphPattern |
::= | OpenCurly GraphPatternList CloseCurly |
| [20] | GraphPatternList |
::= | (( Triples1 GraphPatternListTail | GraphPatternNotTriples GraphPatternNotTriplesTail ))? |
| [21] | GraphPatternListTail |
::= | (( Dot GraphPatternList ))? |
| [22] | GraphPatternNotTriplesTail |
::= | ( (Dot)? GraphPatternList ) |
| [23] | GraphPatternNotTriplesList |
::= | GraphPatternNotTriples GraphPatternNotTriplesTail |
| [24] | GraphPatternNotTriples |
::= | OptionalGraphPattern |
| [25] | OptionalGraphPattern |
::= | "OPTIONAL" GroupGraphPattern |
| [26] | GraphGraphPattern |
::= | "GRAPH" VarOrBlankNodeOrIRIref GroupGraphPattern |
| [27] | GroupOrUnionGraphPattern |
::= | GroupGraphPattern (( "UNION" GroupGraphPattern ))* |
| [28] | Constraint |
::= | "FILTER" ( BrackettedExpression | CallExpression ) |
| [29] | ConstructTemplate |
::= | OpenCurly (Triples)? CloseCurly |
| [30] | Triples |
::= | Triples1 (( Dot (Triples)? ))? |
| [31] | Triples1 |
::= | VarOrTerm PropertyListNotEmpty |
| [32] | Triples2 |
::= | "]" PropertyListNotEmpty |
| [33] | Triples3 |
::= | ")" PropertyListNotEmpty |
| [34] | PropertyList |
::= | (PropertyListNotEmpty)? |
| [35] | PropertyListNotEmpty |
::= | Verb ObjectList (( ";" PropertyList ))? |
| [36] | ObjectList |
::= | Object (( "," ObjectList ))? |
| [37] | Verb |
::= | VarOrBlankNodeOrIRIref |
| [38] | Object |
::= | VarOrTerm |
| [39] | TriplesNode |
::= | Collection |
| [40] | BlankNodePropertyList |
::= | "[" PropertyList "]" |
| [41] | Collection |
::= | "(" (GraphNode)* ")" |
| [42] | GraphNode |
::= | VarOrTerm |
| [43] | VarOrTerm |
::= | Var |
| [44] | VarOrIRIref |
::= | Var |
| [45] | VarOrBlankNodeOrIRIref |
::= | Var |
| [46] | Var |
::= | VAR1 |
| [47] | GraphTerm |
::= | RDFTerm |
| [48] | Expression |
::= | ConditionalOrExpression |
| [49] | ConditionalOrExpression |
::= | ConditionalAndExpression (( "||" ConditionalAndExpression ))* |
| [50] | ConditionalAndExpression |
::= | ValueLogical (( "&&" ValueLogical ))* |
| [51] | ValueLogical |
::= | RelationalExpression |
| [52] | RelationalExpression |
::= | NumericExpression (( "=" NumericExpression | "!=" NumericExpression | "<" NumericExpression | ">" NumericExpression | "<=" NumericExpression | ">=" NumericExpression ))? |
| [53] | NumericExpression |
::= | AdditiveExpression |
| [54] | AdditiveExpression |
::= | MultiplicativeExpression (( "+" MultiplicativeExpression | "-" MultiplicativeExpression ))* |
| [55] | MultiplicativeExpression |
::= | UnaryExpression (( "*" UnaryExpression | "/" UnaryExpression ))* |
| [56] | UnaryExpression |
::= | "!" PrimaryExpression |
| [57] | CallExpression |
::= | BuiltinCallExpression |
| [58] | BuiltinCallExpression |
::= | "STR" "(" Expression ")" |
| [59] | RegexExpression |
::= | "REGEX" "(" Expression "," Expression (( "," Expression ))? ")" |
| [60] | FunctionCall |
::= | IRIref ArgList |
| [61] | ArgList |
::= | "(" (( Expression (( "," Expression ))* ))? ")" |
| [62] | BrackettedExpression |
::= | "(" Expression ")" |
| [63] | PrimaryExpression |
::= | BrackettedExpression |
| [64] | RDFTerm |
::= | IRIref |
| [65] | RDFTermOrFunc |
::= | IRIrefOrFunc |
| [66] | IRIrefOrFunc |
::= | IRIref (ArgList)? |
| [67] | NumericLiteral |
::= | INTEGER |
| [68] | RDFLiteral |
::= | String (( LANGTAG | ( "^^" IRIref ) ))? |
| [69] | BooleanLiteral |
::= | "true" |
| [70] | String |
::= | STRING_LITERAL1 |
| [71] | IRIref |
::= | QuotedIRIref |
| [72] | QName |
::= | QNAME |
| [73] | BlankNode |
::= | BNODE_LABEL |
| [74] | NamelessBlank |
::= | "[" "]" |
| [75] | <QuotedIRIref> |
::= | "<" (( [^> ] ))* ">" |
| [76] | <QNAME_NS> |
::= | (NCNAME_PREFIX)? ":" |
| [77] | <QNAME> |
::= | (NCNAME_PREFIX)? ":" (NCNAME)? |
| [78] | <BNODE_LABEL> |
::= | "_:" NCNAME |
| [79] | <VAR1> |
::= | "?" VARNAME |
| [80] | <VAR2> |
::= | "$" VARNAME |
| [81] | <LANGTAG> |
::= | "@" ([a-zA-Z])+ (( "-" ([a-zA-Z0-9])+ ))* |
| [82] | <INTEGER> |
::= | ([0-9])+ |
| [83] | <DECIMAL> |
::= | ([0-9])+ "." ([0-9])* |
| [84] | <FLOATING_POINT> |
::= | ([0-9])+ "." ([0-9])* (EXPONENT)? |
| [85] | <EXPONENT> |
::= | [eE] ([+-])? ([0-9])+ |
| [86] | <STRING_LITERAL1> |
::= | "'" (( ( [^'\\\n\r] ) | ( "\\" [^\r\n] ) ))* "'" |
| [87] | <STRING_LITERAL2> |
::= | '"' (( ( [^\"\\\n\r] ) | ( "\\" [^\r\n] ) ))* '"' |
| [88] | <STRING_LITERAL_LONG1> |
::= | "'''" (( [^'\\] | ( "\\" [^\r\n] ) | ( "'" [^'] ) | ( "''" [^'] ) ))* "'''" |
| [89] | <STRING_LITERAL_LONG2> |
::= | '"""' (( [^\"\\] | ( "\\" [^\r\n] ) | ( '"' [^\"] ) | ( '""' [^\"] ) ))* '"""' |
| [90] | <NCCHAR1> |
::= | [A-Z] |
| [91] | <NCCHAR> |
::= | NCCHAR1 |
| [92] | <NCNAME_PREFIX> |
::= | NCCHAR1 (NCCHAR)* |
| [93] | <NCNAME> |
::= | ( "_" | NCCHAR1 ) (NCCHAR)* |
| [94] | <VARNAME> |
::= | NCCHAR1 (( NCCHAR1 | "_" | [0-9] | #00B7 | [#0300-#036F] | [#203F-#2040] ))* |
| [95] | <SPACE> |
::= | "\t" |
| [96] | PASSED TOKENS |
::= | (SPACE)+ |
| [97] | <Dot> |
::= | "." |
| [98] | <OpenCurly> |
::= | "{" |
| [99] | <CloseCurly> |
::= | "}" |