diff --git a/VERSION b/VERSION index 3f684d2..cc6c9a4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.4 +2.3.5 diff --git a/etc/ebnf.html b/etc/ebnf.html index da753ae..0888c91 100644 --- a/etc/ebnf.html +++ b/etc/ebnf.html @@ -1,17 +1,17 @@ - +
[1] | ebnf |
::= | -( declaration | rule) * |
+ ( declaration | rule) * |
|
[2] | declaration |
::= | -"@terminals" | pass |
+ "@terminals " | pass |
|
[3] | @@ -29,40 +29,41 @@[5] | alt |
::= | -seq ( "| " seq) * |
+ seq ( "| " seq) * |
[6] | seq |
::= | -diff+ |
+ diff+ |
|
[7] | diff |
::= | -postfix ( "- " postfix) ? |
+ postfix ( "- " postfix) ? |
|
[8] | postfix |
::= | -primary POSTFIX? |
+ primary POSTFIX? |
|
[9] | primary |
::= | -HEX | SYMBOL | O_RANGE | RANGE | STRING1 | STRING2 | ( "( " expression ") ") |
+ HEX | SYMBOL | O_RANGE | RANGE | STRING1 | STRING2 | ( "( " expression ") ") |
|
[10] | pass |
::= | -"@pass" expression | +"@pass " expression |
|
@terminals | +|||||
@terminals | +
|
# Productions for terminals | [11] | LHS |
::= | -( "[ " SYMBOL "] " #x20 + ) ? SYMBOL #x20 * "::=" |
+ ( "[ " SYMBOL "] " #x20 + ) ? SYMBOL #x20 * "::= " |
[12] | SYMBOL |
::= | -( [ a-z ] | [ A-Z ] | [ 0-9 ] | "_ " | ". ") + |
+ ( [ a-z ] | [ A-Z ] | [ 0-9 ] | "_ " | ". ") + |
|
[13] | HEX |
::= | -"#x" ( [ a-f ] | [ A-F ] | [ 0-9 ] ) + |
+ "#x " ( [ a-f ] | [ A-F ] | [ 0-9 ] ) + |
|
[14] | RANGE |
::= | -"[ " ( ( R_CHAR "- " R_CHAR) | ( HEX "- " HEX) | R_CHAR | HEX) + "- "? ( "] " - LHS) |
+ "[ " ( ( R_CHAR "- " R_CHAR) | ( HEX "- " HEX) | R_CHAR | HEX) + "- "? ( "] " - LHS) |
|
[15] | O_RANGE |
::= | -"[^" ( ( R_CHAR "- " R_CHAR) | ( HEX "- " HEX) | R_CHAR | HEX) + "- "? "] " |
+ "[^ " ( ( R_CHAR "- " R_CHAR) | ( HEX "- " HEX) | R_CHAR | HEX) + "- "? "] " |
|
[16] | STRING1 |
::= | -'" ' ( CHAR - '" ') * '" ' |
+ '" ' ( CHAR - '" ') * '" ' |
|
[17] | STRING2 |
::= | -"' " ( CHAR - "' ") * "' " |
+ "' " ( CHAR - "' ") * "' " |
|
[18] | CHAR |
::= | -[ #x09 #x0A #x0D ] | [ #x20 - #xD7FF ] | [ #xE000 - #xFFFD ] | [ #x00010000 - #x0010FFFF ] |
+ [ #x09 #x0A #x0D ] | [ #x20 - #xD7FF ] | [ #xE000 - #xFFFD ] | [ #x00010000 - #x0010FFFF ] |
|
[19] | R_CHAR |
::= | -CHAR - ( "] " | "- " | HEX) |
+ CHAR - ( "] " | "- " | HEX) |
|
[20] | POSTFIX |
::= | -[ ?*+ ] |
+ [ ?*+ ] |
|
[21] | PASS |
::= | -[ #x09 #x0A #x0D #x20 ] |
+ [ #x09 #x0A #x0D #x20 ] | ( ( ( "# " - "#x ") | "// ") [ ^ #x0A #x0D ] * ) | ( "/* " ( ( "* " [ ^/ ] ) ? | [ ^* ] ) * "*/ ") | ( "(* " ( ( "* " [ ^) ] ) ? | [ ^* ] ) * "*) ") |
|
- | | | -( ( ( "# " - "#x") | "//") [ ^ #x0A #x0D ] * ) |
- |||
- | | | -( "/*" ( ( "* " [ ^/ ] ) ? | [ ^* ] ) * "*/") |
- |||
- | | | -( "(*" ( ( "* " [ ^) ] ) ? | [ ^* ] ) * "*)") |
- |||
@pass | +|||||
@pass | +
|
PASS |
[1] | -QueryUnit |
-::= | --Query? - | -|
[2] | -Query |
-::= | --Prologue -(SelectQuery | ConstructQuery | DescribeQuery | AskQuery) - | -|
[3] | -UpdateUnit |
-::= | --Update - | -|
[4] | -Prologue |
-::= | --(BaseDecl | PrefixDecl)* - | -|
[5] | -BaseDecl |
-::= | --"BASE" IRIREF - | -|
[6] | -PrefixDecl |
-::= | --"PREFIX" PNAME_NS IRIREF - | -|
[7] | -SelectQuery |
-::= | --SelectClause -DatasetClause* -WhereClause -SolutionModifier -ValuesClause - | -|
[8] | -SubSelect |
-::= | --SelectClause -WhereClause -SolutionModifier -ValuesClause - | -|
[9] | -SelectClause |
-::= | --"SELECT" -("DISTINCT" | "REDUCED")? -((Var | "(" Expression "AS" Var ")")+ | "*") - | -|
[10] | -ConstructQuery |
-::= | --"CONSTRUCT" -(ConstructTemplate DatasetClause* WhereClause SolutionModifier | DatasetClause* "WHERE" "{" TriplesTemplate? "}" SolutionModifier) -ValuesClause - | -|
[11] | -DescribeQuery |
-::= | --"DESCRIBE" -(VarOrIri+ | "*") -DatasetClause* -WhereClause? -SolutionModifier -ValuesClause - | -|
[12] | -AskQuery |
-::= | --"ASK" DatasetClause* WhereClause ValuesClause - | -|
[13] | -DatasetClause |
-::= | --"FROM" (DefaultGraphClause | NamedGraphClause) - | -|
[14] | -DefaultGraphClause |
-::= | --SourceSelector - | -|
[15] | -NamedGraphClause |
-::= | --"NAMED" SourceSelector - | -|
[16] | -SourceSelector |
-::= | --iri - | -|
[17] | -WhereClause |
-::= | --"WHERE"? GroupGraphPattern - | -|
[18] | -SolutionModifier |
-::= | --GroupClause? -HavingClause? -OrderClause? -LimitOffsetClauses? - | -|
[19] | -GroupClause |
-::= | --"GROUP" "BY" GroupCondition+ - | -|
[20] | -GroupCondition |
-::= | --BuiltInCall -| FunctionCall -| "(" Expression ("AS" Var)? ")" -| Var - | -|
[21] | -HavingClause |
-::= | --"HAVING" HavingCondition+ - | -|
[22] | -HavingCondition |
-::= | --Constraint - | -|
[23] | -OrderClause |
-::= | --"ORDER" "BY" OrderCondition+ - | -|
[24] | -OrderCondition |
-::= | --("ASC" | "DESC") BrackettedExpression -| Constraint | Var - | -|
[25] | -LimitOffsetClauses |
-::= | --LimitClause OffsetClause? -| OffsetClause LimitClause? - | -|
[26] | -LimitClause |
-::= | --"LIMIT" INTEGER - | -|
[27] | -OffsetClause |
-::= | --"OFFSET" INTEGER - | -|
[28] | -ValuesClause |
-::= | --("VALUES" DataBlock)? - | -|
[29] | -Update |
-::= | --Prologue (Update1 (";" Update)?)? - | -|
[30] | -Update1 |
-::= | --Load -| Clear -| Drop -| Add -| Move -| Copy -| Create -| InsertData -| DeleteData -| DeleteWhere -| Modify - | -|
[31] | -Load |
-::= | --"LOAD" "SILENT"? iri ("INTO" GraphRef)? - | -|
[32] | -Clear |
-::= | --"CLEAR" "SILENT"? GraphRefAll - | -|
[33] | -Drop |
-::= | --"DROP" "SILENT"? GraphRefAll - | -|
[34] | -Create |
-::= | --"CREATE" "SILENT"? GraphRef - | -|
[35] | -Add |
-::= | --"ADD" -"SILENT"? -GraphOrDefault -"TO" -GraphOrDefault - | -|
[36] | -Move |
-::= | --"MOVE" -"SILENT"? -GraphOrDefault -"TO" -GraphOrDefault - | -|
[37] | -Copy |
-::= | --"COPY" -"SILENT"? -GraphOrDefault -"TO" -GraphOrDefault - | -|
[38] | -InsertData |
-::= | --"INSERT DATA" QuadData - | -|
[39] | -DeleteData |
-::= | --"DELETE DATA" QuadData - | -|
[40] | -DeleteWhere |
-::= | --"DELETE WHERE" QuadPattern - | -|
[41] | -Modify |
-::= | --("WITH" iri)? -(DeleteClause InsertClause? | InsertClause) -UsingClause* -"WHERE" -GroupGraphPattern - | -|
[42] | -DeleteClause |
-::= | --"DELETE" QuadPattern - | -|
[43] | -InsertClause |
-::= | --"INSERT" QuadPattern - | -|
[44] | -UsingClause |
-::= | --"USING" (iri | "NAMED" iri) - | -|
[45] | -GraphOrDefault |
-::= | --"DEFAULT" | "GRAPH"? iri - | -|
[46] | -GraphRef |
-::= | --"GRAPH" iri - | -|
[47] | -GraphRefAll |
-::= | --GraphRef | "DEFAULT" | "NAMED" | "ALL" - | -|
[48] | -QuadPattern |
-::= | --"{" Quads "}" - | -|
[49] | -QuadData |
-::= | --"{" Quads "}" - | -|
[50] | -Quads |
-::= | --TriplesTemplate? -(QuadsNotTriples "."? TriplesTemplate?)* - | -|
[51] | -QuadsNotTriples |
-::= | --"GRAPH" VarOrIri "{" TriplesTemplate? "}" - | -|
[52] | -TriplesTemplate |
-::= | --TriplesSameSubject ("." TriplesTemplate?)? - | -|
[53] | -GroupGraphPattern |
-::= | --"{" (SubSelect | GroupGraphPatternSub) "}" - | -|
[54] | -GroupGraphPatternSub |
-::= | --TriplesBlock? -(GraphPatternNotTriples "."? TriplesBlock?)* - | -|
[55] | -TriplesBlock |
-::= | --TriplesSameSubjectPath ("." TriplesBlock?)? - | -|
[56] | -GraphPatternNotTriples |
-::= | --GroupOrUnionGraphPattern -| OptionalGraphPattern -| MinusGraphPattern -| GraphGraphPattern -| ServiceGraphPattern -| Filter -| Bind -| InlineData - | -|
[57] | -OptionalGraphPattern |
-::= | --"OPTIONAL" GroupGraphPattern - | -|
[58] | -GraphGraphPattern |
-::= | --"GRAPH" VarOrIri GroupGraphPattern - | -|
[59] | -ServiceGraphPattern |
-::= | --"SERVICE" "SILENT"? VarOrIri GroupGraphPattern - | -|
[60] | -Bind |
-::= | --"BIND" "(" Expression "AS" Var ")" - | -|
[61] | -InlineData |
-::= | --"VALUES" DataBlock - | -|
[62] | -DataBlock |
-::= | --InlineDataOneVar | InlineDataFull - | -|
[63] | -InlineDataOneVar |
-::= | --Var "{" DataBlockValue* "}" - | -|
[64] | -InlineDataFull |
-::= | --(NIL | "(" Var* ")") -"{" -("(" DataBlockValue* ")" | NIL)* -"}" - | -|
[65] | -DataBlockValue |
-::= | --iri -| RDFLiteral -| NumericLiteral -| BooleanLiteral -| "UNDEF" - | -|
[66] | -MinusGraphPattern |
-::= | --"MINUS" GroupGraphPattern - | -|
[67] | -GroupOrUnionGraphPattern |
-::= | --GroupGraphPattern ("UNION" GroupGraphPattern)* - | -|
[68] | -Filter |
-::= | --"FILTER" Constraint - | -|
[69] | -Constraint |
-::= | --BrackettedExpression -| BuiltInCall -| FunctionCall - | -|
[70] | -FunctionCall |
-::= | --iri ArgList - | -|
[71] | -ArgList |
-::= | --NIL -| "(" "DISTINCT"? Expression ("," Expression)* ")" - | -|
[72] | -ExpressionList |
-::= | --NIL | "(" Expression ("," Expression)* ")" - | -|
[73] | -ConstructTemplate |
-::= | --"{" ConstructTriples? "}" - | -|
[74] | -ConstructTriples |
-::= | --TriplesSameSubject ("." ConstructTriples?)? - | -|
[75] | -TriplesSameSubject |
-::= | --VarOrTerm PropertyListNotEmpty -| TriplesNode PropertyList - | -|
[76] | -PropertyList |
-::= | --PropertyListNotEmpty? - | -|
[77] | -PropertyListNotEmpty |
-::= | --Verb ObjectList (";" (Verb ObjectList)?)* - | -|
[78] | -Verb |
-::= | --VarOrIri | "a" - | -|
[79] | -ObjectList |
-::= | --Object ("," Object)* - | -|
[80] | -Object |
-::= | --GraphNode - | -|
[81] | -TriplesSameSubjectPath |
-::= | --VarOrTerm PropertyListNotEmptyPath -| TriplesNode PropertyListPath - | -|
[82] | -PropertyListPath |
-::= | --PropertyListNotEmpty? - | -|
[83] | -PropertyListNotEmptyPath |
-::= | --(VerbPath | VerbSimple) -ObjectList -(";" (VerbPath | VerbSimple) ObjectList?)* - | -|
[84] | -VerbPath |
-::= | --Path - | -|
[85] | -VerbSimple |
-::= | --Var - | -|
[86] | -ObjectListPath |
-::= | --ObjectPath ("," ObjectPath)* - | -|
[87] | -ObjectPath |
-::= | --GraphNodePath - | -|
[88] | -Path |
-::= | --PathAlternative - | -|
[89] | -PathAlternative |
-::= | --PathSequence ("|" PathSequence)* - | -|
[90] | -PathSequence |
-::= | --PathEltOrInverse ("/" PathEltOrInverse)* - | -|
[91] | -PathElt |
-::= | --PathPrimary PathMod? - | -|
[92] | -PathEltOrInverse |
-::= | --PathElt | "^" PathElt - | -|
[93] | -PathMod |
-::= | --"*" -| "?" -| "+" -| "{" (Integer ("," ("}" | Integer "}") | "}") | "," Integer "}") - | -|
[94] | -PathPrimary |
-::= | --iri -| "a" -| #x21 PathNegatedPropertySet -| "(" Path ")" - | -|
[95] | -PathNegatedPropertySet |
-::= | --PathOneInPropertySet -| "(" (PathOneInPropertySet ("|" PathOneInPropertySet)*)? ")" - | -|
[96] | -PathOneInPropertySet |
-::= | --iri | "a" | "^" (iri | "a") - | -|
[97] | -Integer |
-::= | --INTEGER - | -|
[98] | -TriplesNode |
-::= | --Collection | BlankNodePropertyList - | -|
[99] | -BlankNodePropertyList |
-::= | --"[" PropertyListNotEmpty "]" - | -|
[100] | -TriplesNodePath |
-::= | --CollectionPath | BlankNodePropertyListPath - | -|
[101] | -BlankNodePropertyListPath |
-::= | --"[" PropertyListPathNotEmpty "]" - | -|
[102] | -Collection |
-::= | --"(" GraphNode+ ")" - | -|
[103] | -CollectionPath |
-::= | --"(" GraphNodePath+ ")" - | -|
[104] | -GraphNode |
-::= | --VarOrTerm | TriplesNode - | -|
[105] | -GraphNodePath |
-::= | --VarOrTerm | TriplesNodePath - | -|
[106] | -VarOrTerm |
-::= | --Var | GraphTerm - | -|
[107] | -VarOrIri |
-::= | --Var | iri - | -|
[108] | -Var |
-::= | --VAR1 | VAR2 - | -|
[109] | -GraphTerm |
-::= | --iri -| RDFLiteral -| NumericLiteral -| BooleanLiteral -| BlankNode -| NIL - | -|
[110] | -Expression |
-::= | --ConditionalOrExpression - | -|
[111] | -ConditionalOrExpression |
-::= | --ConditionalAndExpression -("||" ConditionalAndExpression)* - | -|
[112] | -ConditionalAndExpression |
-::= | --ValueLogical ("&&" ValueLogical)* - | -|
[113] | -ValueLogical |
-::= | --RelationalExpression - | -|
[114] | -RelationalExpression |
-::= | --NumericExpression -("=" NumericExpression | "!=" NumericExpression | "<" NumericExpression | ">" NumericExpression | "<=" NumericExpression | ">=" NumericExpression | "IN" ExpressionList | "NOT" "IN" ExpressionList)? - | -|
[115] | -NumericExpression |
-::= | --AdditiveExpression - | -|
[116] | -AdditiveExpression |
-::= | --MultiplicativeExpression -("+" MultiplicativeExpression | "-" MultiplicativeExpression | (NumericLiteralPositive | NumericLiteralNegative) ("*" UnaryExpression | "/" UnaryExpression)?)* - | -|
[117] | -MultiplicativeExpression |
-::= | --UnaryExpression -("*" UnaryExpression | "/" UnaryExpression)* - | -|
[118] | -UnaryExpression |
-::= | --#x21 PrimaryExpression -| "+" PrimaryExpression -| "-" PrimaryExpression -| PrimaryExpression - | -|
[119] | -PrimaryExpression |
-::= | --BrackettedExpression -| BuiltInCall -| iriOrFunction -| RDFLiteral -| NumericLiteral -| BooleanLiteral -| Var - | -|
[120] | -BrackettedExpression |
-::= | --"(" Expression ")" - | -|
[121] | -BuiltInCall |
-::= | --Aggregate -| "STR" "(" Expression ")" -| "LANG" "(" Expression ")" -| "LANGMATCHES" "(" Expression "," Expression ")" -| "DATATYPE" "(" Expression ")" -| "BOUND" "(" Var ")" -| "IRI" "(" Expression ")" -| "URI" "(" Expression ")" -| "BNODE" ("(" Expression ")" | NIL) -| "RAND" NIL -| "ABS" "(" Expression ")" -| "CEIL" "(" Expression ")" -| "FLOOR" "(" Expression ")" -| "ROUND" "(" Expression ")" -| "CONCAT" ExpressionList -| SubstringExpression -| "STRLEN" "(" Expression ")" -| StrReplaceExpression -| "UCASE" "(" Expression ")" -| "LCASE" "(" Expression ")" -| "ENCODE_FOR_URI" "(" Expression ")" -| "CONTAINS" "(" Expression "," Expression ")" -| "STRSTARTS" "(" Expression "," Expression ")" -| "STRENDS" "(" Expression "," Expression ")" -| "STRBEFORE" "(" Expression "," Expression ")" -| "STRAFTER" "(" Expression "," Expression ")" -| "YEAR" "(" Expression ")" -| "MONTH" "(" Expression ")" -| "DAY" "(" Expression ")" -| "HOURS" "(" Expression ")" -| "MINUTES" "(" Expression ")" -| "SECONDS" "(" Expression ")" -| "TIMEZONE" "(" Expression ")" -| "TZ" "(" Expression ")" -| "NOW" NIL -| "UUID" NIL -| "STRUUID" NIL -| "MD5" "(" Expression ")" -| "SHA1" "(" Expression ")" -| "SHA224" "(" Expression ")" -| "SHA256" "(" Expression ")" -| "SHA384" "(" Expression ")" -| "SHA512" "(" Expression ")" -| "COALESCE" ExpressionList -| "IF" "(" Expression "," Expression "," Expression ")" -| "STRLANG" "(" Expression "," Expression ")" -| "STRDT" "(" Expression "," Expression ")" -| "sameTerm" "(" Expression "," Expression ")" -| "isIRI" "(" Expression ")" -| "isURI" "(" Expression ")" -| "isBLANK" "(" Expression ")" -| "isLITERAL" "(" Expression ")" -| "isNUMERIC" "(" Expression ")" -| RegexExpression -| ExistsFunc -| NotExistsFunc - | -|
[122] | -RegexExpression |
-::= | --"REGEX" -"(" -Expression -"," -Expression -("," Expression)? -")" - | -|
[123] | -SubstringExpression |
-::= | --"SUBSTR" -"(" -Expression -"," -Expression -("," Expression)? -")" - | -|
[124] | -StrReplaceExpression |
-::= | --"REPLACE" -"(" -Expression -"," -Expression -"," -Expression -("," Expression)? -")" - | -|
[125] | -ExistsFunc |
-::= | --"EXISTS" GroupGraphPattern - | -|
[126] | -NotExistsFunc |
-::= | --"NOT" "EXISTS" GroupGraphPattern - | -|
[127] | -Aggregate |
-::= | --"COUNT" "(" "DISTINCT"? ("*" | Expression) ")" -| "SUM" "(" "DISTINCT"? Expression ")" -| "MIN" "(" "DISTINCT"? Expression ")" -| "MAX" "(" "DISTINCT"? Expression ")" -| "AVG" "(" "DISTINCT"? Expression ")" -| "SAMPLE" "(" "DISTINCT"? Expression ")" -| "GROUP_CONCAT" "(" "DISTINCT"? Expression (";" "SEPARATOR" "=" String)? ")" - | -|
[128] | -iriOrFunction |
-::= | --iri ArgList? - | -|
[129] | -RDFLiteral |
-::= | --String (LANGTAG | "^^" iri)? - | -|
[130] | -NumericLiteral |
-::= | --NumericLiteralUnsigned -| NumericLiteralPositive -| NumericLiteralNegative - | -|
[131] | -NumericLiteralUnsigned |
-::= | --INTEGER | DECIMAL | DOUBLE - | -|
[132] | -NumericLiteralPositive |
-::= | --INTEGER_POSITIVE -| DECIMAL_POSITIVE -| DOUBLE_POSITIVE - | -|
[133] | -NumericLiteralNegative |
-::= | --INTEGER_NEGATIVE -| DECIMAL_NEGATIVE -| DOUBLE_NEGATIVE - | -|
[134] | -BooleanLiteral |
-::= | --"true" | "false" - | -|
[135] | -String |
-::= | --STRING_LITERAL1 -| STRING_LITERAL2 -| STRING_LITERAL_LONG1 -| STRING_LITERAL_LONG2 - | -|
[136] | -iri |
-::= | --IRIREF | PrefixedName - | -|
[137] | -PrefixedName |
-::= | --PNAME_LN | PNAME_NS - | -|
[138] | -BlankNode |
-::= | --BLANK_NODE_LABEL | ANON - | -|
[139] | -IRIREF |
-::= | --"<" -[^#x00-#x20<>"{}|^`]#x20|#x20UCHAR)*#x20'>'] - | -|
[140] | -PNAME_NS |
-::= | --PN_PREFIX? ":" - | -|
[141] | -PNAME_LN |
-::= | --PNAME_NS PN_LOCAL - | -|
[142] | -BLANK_NODE_LABEL |
-::= | --"_:" -(PN_CHARS_U | [0-9]) -(PN_CHARS | ".")* PN_CHARS? - | -|
[143] | -VAR1 |
-::= | --"?" VARNAME - | -|
[144] | -VAR2 |
-::= | --"$" VARNAME - | -|
[145] | -LANGTAG |
-::= | --"@" ([a-zA-Z])+ ("-" ([a-zA-Z0-9])+)* - | -|
[146] | -INTEGER |
-::= | --([0-9])+ - | -|
[147] | -DECIMAL |
-::= | --([0-9])* "." ([0-9])+ - | -|
[148] | -DOUBLE |
-::= | --([0-9])+ "." ([0-9])* EXPONENT -| "." ([0-9])+ EXPONENT -| ([0-9])+ EXPONENT - | -|
[149] | -INTEGER_POSITIVE |
-::= | --"+" INTEGER - | -|
[150] | -DECIMAL_POSITIVE |
-::= | --"+" DECIMAL - | -|
[151] | -DOUBLE_POSITIVE |
-::= | --"+" DOUBLE - | -|
[152] | -INTEGER_NEGATIVE |
-::= | --"-" INTEGER - | -|
[153] | -DECIMAL_NEGATIVE |
-::= | --"-" DECIMAL - | -|
[154] | -DOUBLE_NEGATIVE |
-::= | --"-" DOUBLE - | -|
[155] | -EXPONENT |
-::= | --[eE] ([+-])? ([0-9])+ - | -|
[156] | -STRING_LITERAL1 |
-::= | --"'" ([^#x27#x5C#xA#xD] | ECHAR)* "'" - | -|
[157] | -STRING_LITERAL2 |
-::= | --'"' ([^#x22#x5C#xA#xD] | ECHAR)* '"' - | -|
[158] | -STRING_LITERAL_LONG1 |
-::= | --"'''" -(("'" | "''")? [^']#x20|#x20ECHAR#x20)#x20)*#x20"'''"]) - | -|
[159] | -STRING_LITERAL_LONG2 |
-::= | --'"""' -(('"' | '""')? [^"]#x20|#x20ECHAR#x20)#x20)*#x20'"""']) - | -|
[160] | -ECHAR |
-::= | --"\" [tbnrf"'] - | -|
[161] | -NIL |
-::= | --"(" WS* ")" - | -|
[162] | -WS |
-::= | --#x20 | #x9 | #xD | #xA - | -|
[163] | -ANON |
-::= | --"[" WS* "]" - | -|
[164] | -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] - | -|
[165] | -PN_CHARS_U |
-::= | --PN_CHARS_BASE | "_" - | -|
[166] | -VARNAME |
-::= | --(PN_CHARS_U | [0-9]) -(PN_CHARS_U | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040])* - | -|
[167] | -PN_CHARS |
-::= | --PN_CHARS_U -| "-" -| [0-9] -| #x00B7 -| [#x0300-#x036F] -| [#x203F-#x2040] - | -|
[168] | -PN_PREFIX |
-::= | --PN_CHARS_BASE (PN_CHARS | ".")* PN_CHARS? - | -|
[169] | -PN_LOCAL |
-::= | --(PN_CHARS_U | [0-9]) -(PN_CHARS | ".")* PN_CHARS? - | -|
[170] | -PLX |
-::= | --PERCENT | PN_LOCAL_ESC - | -|
[171] | -PERCENT |
-::= | --"%" HEX HEX - | -|
[172] | -HEX |
-::= | --[0-9] | [A-F] | [a-f] - | -|
[173] | -PN_LOCAL_ESC |
-::= | --"\" -("_" | "~" | "." | "-" | #x21 | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | "/" | "?" | "#" | "@" | "%") - | -
[1] | +QueryUnit |
+ ::= | +Query? |
+
[2] | +Query |
+ ::= | +Prologue ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery) |
+
[3] | +UpdateUnit |
+ ::= | +Update | +
[4] | +Prologue |
+ ::= | +( BaseDecl | PrefixDecl) * |
+
[5] | +BaseDecl |
+ ::= | +"BASE " IRIREF |
+
[6] | +PrefixDecl |
+ ::= | +"PREFIX " PNAME_NS IRIREF |
+
[7] | +SelectQuery |
+ ::= | +SelectClause DatasetClause* WhereClause SolutionModifier ValuesClause |
+
[8] | +SubSelect |
+ ::= | +SelectClause WhereClause SolutionModifier ValuesClause | +
[9] | +SelectClause |
+ ::= | +"SELECT " ( "DISTINCT " | "REDUCED ") ? ( ( Var | ( "( " Expression "AS " Var ") ") ) + | "* ") |
+
[10] | +ConstructQuery |
+ ::= | +"CONSTRUCT " ( ( ConstructTemplate DatasetClause* WhereClause SolutionModifier) | ( DatasetClause* "WHERE " "{ " TriplesTemplate? "} " SolutionModifier) ) ValuesClause |
+
[11] | +DescribeQuery |
+ ::= | +"DESCRIBE " ( VarOrIri+ | "* ") DatasetClause* WhereClause? SolutionModifier ValuesClause |
+
[12] | +AskQuery |
+ ::= | +"ASK " DatasetClause* WhereClause ValuesClause |
+
[13] | +DatasetClause |
+ ::= | +"FROM " ( DefaultGraphClause | NamedGraphClause) |
+
[14] | +DefaultGraphClause |
+ ::= | +SourceSelector | +
[15] | +NamedGraphClause |
+ ::= | +"NAMED " SourceSelector |
+
[16] | +SourceSelector |
+ ::= | +iri | +
[17] | +WhereClause |
+ ::= | +"WHERE "? GroupGraphPattern |
+
[18] | +SolutionModifier |
+ ::= | +GroupClause? HavingClause? OrderClause? LimitOffsetClauses? |
+
[19] | +GroupClause |
+ ::= | +"GROUP " "BY " GroupCondition+ |
+
[20] | +GroupCondition |
+ ::= | +BuiltInCall | FunctionCall | ( "( " Expression ( "AS " Var) ? ") ") | Var |
+
[21] | +HavingClause |
+ ::= | +"HAVING " HavingCondition+ |
+
[22] | +HavingCondition |
+ ::= | +Constraint | +
[23] | +OrderClause |
+ ::= | +"ORDER " "BY " OrderCondition+ |
+
[24] | +OrderCondition |
+ ::= | +( ( "ASC " | "DESC ") BrackettedExpression) | ( Constraint | Var) |
+
[25] | +LimitOffsetClauses |
+ ::= | +( LimitClause OffsetClause? ) | ( OffsetClause LimitClause? ) |
+
[26] | +LimitClause |
+ ::= | +"LIMIT " INTEGER |
+
[27] | +OffsetClause |
+ ::= | +"OFFSET " INTEGER |
+
[28] | +ValuesClause |
+ ::= | +( "VALUES " DataBlock) ? |
+
[29] | +Update |
+ ::= | +Prologue ( Update1 ( "; " Update) ? ) ? |
+
[30] | +Update1 |
+ ::= | +Load | Clear | Drop | Add | Move | Copy | Create | InsertData | DeleteData | DeleteWhere | Modify |
+
[31] | +Load |
+ ::= | +"LOAD " "SILENT "? iri ( "INTO " GraphRef) ? |
+
[32] | +Clear |
+ ::= | +"CLEAR " "SILENT "? GraphRefAll |
+
[33] | +Drop |
+ ::= | +"DROP " "SILENT "? GraphRefAll |
+
[34] | +Create |
+ ::= | +"CREATE " "SILENT "? GraphRef |
+
[35] | +Add |
+ ::= | +"ADD " "SILENT "? GraphOrDefault "TO " GraphOrDefault |
+
[36] | +Move |
+ ::= | +"MOVE " "SILENT "? GraphOrDefault "TO " GraphOrDefault |
+
[37] | +Copy |
+ ::= | +"COPY " "SILENT "? GraphOrDefault "TO " GraphOrDefault |
+
[38] | +InsertData |
+ ::= | +"INSERT DATA " QuadData |
+
[39] | +DeleteData |
+ ::= | +"DELETE DATA " QuadData |
+
[40] | +DeleteWhere |
+ ::= | +"DELETE WHERE " QuadPattern |
+
[41] | +Modify |
+ ::= | +( "WITH " iri) ? ( ( DeleteClause InsertClause? ) | InsertClause) UsingClause* "WHERE " GroupGraphPattern |
+
[42] | +DeleteClause |
+ ::= | +"DELETE " QuadPattern |
+
[43] | +InsertClause |
+ ::= | +"INSERT " QuadPattern |
+
[44] | +UsingClause |
+ ::= | +"USING " ( iri | ( "NAMED " iri) ) |
+
[45] | +GraphOrDefault |
+ ::= | +"DEFAULT " | ( "GRAPH "? iri) |
+
[46] | +GraphRef |
+ ::= | +"GRAPH " iri |
+
[47] | +GraphRefAll |
+ ::= | +GraphRef | "DEFAULT " | "NAMED " | "ALL " |
+
[48] | +QuadPattern |
+ ::= | +"{ " Quads "} " |
+
[49] | +QuadData |
+ ::= | +"{ " Quads "} " |
+
[50] | +Quads |
+ ::= | +TriplesTemplate? ( QuadsNotTriples ". "? TriplesTemplate? ) * |
+
[51] | +QuadsNotTriples |
+ ::= | +"GRAPH " VarOrIri "{ " TriplesTemplate? "} " |
+
[52] | +TriplesTemplate |
+ ::= | +TriplesSameSubject ( ". " TriplesTemplate? ) ? |
+
[53] | +GroupGraphPattern |
+ ::= | +"{ " ( SubSelect | GroupGraphPatternSub) "} " |
+
[54] | +GroupGraphPatternSub |
+ ::= | +TriplesBlock? ( GraphPatternNotTriples ". "? TriplesBlock? ) * |
+
[55] | +TriplesBlock |
+ ::= | +TriplesSameSubjectPath ( ". " TriplesBlock? ) ? |
+
[56] | +GraphPatternNotTriples |
+ ::= | +GroupOrUnionGraphPattern | OptionalGraphPattern | MinusGraphPattern | GraphGraphPattern | ServiceGraphPattern | Filter | Bind | InlineData |
+
[57] | +OptionalGraphPattern |
+ ::= | +"OPTIONAL " GroupGraphPattern |
+
[58] | +GraphGraphPattern |
+ ::= | +"GRAPH " VarOrIri GroupGraphPattern |
+
[59] | +ServiceGraphPattern |
+ ::= | +"SERVICE " "SILENT "? VarOrIri GroupGraphPattern |
+
[60] | +Bind |
+ ::= | +"BIND " "( " Expression "AS " Var ") " |
+
[61] | +InlineData |
+ ::= | +"VALUES " DataBlock |
+
[62] | +DataBlock |
+ ::= | +InlineDataOneVar | InlineDataFull |
+
[63] | +InlineDataOneVar |
+ ::= | +Var "{ " DataBlockValue* "} " |
+
[64] | +InlineDataFull |
+ ::= | +( NIL | ( "( " Var* ") ") ) "{ " ( ( "( " DataBlockValue* ") ") | NIL) * "} " |
+
[65] | +DataBlockValue |
+ ::= | +iri | RDFLiteral | NumericLiteral | BooleanLiteral | "UNDEF " |
+
[66] | +MinusGraphPattern |
+ ::= | +"MINUS " GroupGraphPattern |
+
[67] | +GroupOrUnionGraphPattern |
+ ::= | +GroupGraphPattern ( "UNION " GroupGraphPattern) * |
+
[68] | +Filter |
+ ::= | +"FILTER " Constraint |
+
[69] | +Constraint |
+ ::= | +BrackettedExpression | BuiltInCall | FunctionCall |
+
[70] | +FunctionCall |
+ ::= | +iri ArgList | +
[71] | +ArgList |
+ ::= | +NIL | ( "( " "DISTINCT "? Expression ( ", " Expression) * ") ") |
+
[72] | +ExpressionList |
+ ::= | +NIL | ( "( " Expression ( ", " Expression) * ") ") |
+
[73] | +ConstructTemplate |
+ ::= | +"{ " ConstructTriples? "} " |
+
[74] | +ConstructTriples |
+ ::= | +TriplesSameSubject ( ". " ConstructTriples? ) ? |
+
[75] | +TriplesSameSubject |
+ ::= | +( VarOrTerm PropertyListNotEmpty) | ( TriplesNode PropertyList) |
+
[76] | +PropertyList |
+ ::= | +PropertyListNotEmpty? |
+
[77] | +PropertyListNotEmpty |
+ ::= | +Verb ObjectList ( "; " ( Verb ObjectList) ? ) * |
+
[78] | +Verb |
+ ::= | +VarOrIri | "a " |
+
[79] | +ObjectList |
+ ::= | +Object ( ", " Object) * |
+
[80] | +Object |
+ ::= | +GraphNode | +
[81] | +TriplesSameSubjectPath |
+ ::= | +( VarOrTerm PropertyListNotEmptyPath) | ( TriplesNode PropertyListPath) |
+
[82] | +PropertyListPath |
+ ::= | +PropertyListNotEmpty? |
+
[83] | +PropertyListNotEmptyPath |
+ ::= | +( VerbPath | VerbSimple) ObjectList ( "; " ( ( VerbPath | VerbSimple) ObjectList) ? ) * |
+
[84] | +VerbPath |
+ ::= | +Path | +
[85] | +VerbSimple |
+ ::= | +Var | +
[86] | +ObjectListPath |
+ ::= | +ObjectPath ( ", " ObjectPath) * |
+
[87] | +ObjectPath |
+ ::= | +GraphNodePath | +
[88] | +Path |
+ ::= | +PathAlternative | +
[89] | +PathAlternative |
+ ::= | +PathSequence ( "| " PathSequence) * |
+
[90] | +PathSequence |
+ ::= | +PathEltOrInverse ( "/ " PathEltOrInverse) * |
+
[91] | +PathElt |
+ ::= | +PathPrimary PathMod? |
+
[92] | +PathEltOrInverse |
+ ::= | +PathElt | ( "^ " PathElt) |
+
[93] | +PathMod |
+ ::= | +"* " | "? " | "+ " | ( "{ " ( ( Integer ( ( ", " ( "} " | ( Integer "} ") ) ) | "} ") ) | ( ", " Integer "} ") ) ) |
+
[94] | +PathPrimary |
+ ::= | +iri | "a " | ( "! " PathNegatedPropertySet) | ( "( " Path ") ") |
+
[95] | +PathNegatedPropertySet |
+ ::= | +PathOneInPropertySet | ( "( " ( PathOneInPropertySet ( "| " PathOneInPropertySet) * ) ? ") ") |
+
[96] | +PathOneInPropertySet |
+ ::= | +iri | "a " | ( "^ " ( iri | "a ") ) |
+
[97] | +Integer |
+ ::= | +INTEGER | +
[98] | +TriplesNode |
+ ::= | +Collection | BlankNodePropertyList |
+
[99] | +BlankNodePropertyList |
+ ::= | +"[ " PropertyListNotEmpty "] " |
+
[100] | +TriplesNodePath |
+ ::= | +CollectionPath | BlankNodePropertyListPath |
+
[101] | +BlankNodePropertyListPath |
+ ::= | +"[ " PropertyListPathNotEmpty "] " |
+
[102] | +Collection |
+ ::= | +"( " GraphNode+ ") " |
+
[103] | +CollectionPath |
+ ::= | +"( " GraphNodePath+ ") " |
+
[104] | +GraphNode |
+ ::= | +VarOrTerm | TriplesNode |
+
[105] | +GraphNodePath |
+ ::= | +VarOrTerm | TriplesNodePath |
+
[106] | +VarOrTerm |
+ ::= | +Var | GraphTerm |
+
[107] | +VarOrIri |
+ ::= | +Var | iri |
+
[108] | +Var |
+ ::= | +VAR1 | VAR2 |
+
[109] | +GraphTerm |
+ ::= | +iri | RDFLiteral | NumericLiteral | BooleanLiteral | BlankNode | NIL |
+
[110] | +Expression |
+ ::= | +ConditionalOrExpression | +
[111] | +ConditionalOrExpression |
+ ::= | +ConditionalAndExpression ( "|| " ConditionalAndExpression) * |
+
[112] | +ConditionalAndExpression |
+ ::= | +ValueLogical ( "&& " ValueLogical) * |
+
[113] | +ValueLogical |
+ ::= | +RelationalExpression | +
[114] | +RelationalExpression |
+ ::= | +NumericExpression | +
+ | + | ( ( "= " NumericExpression) ( "!= " NumericExpression) | ( "< " NumericExpression) | ( "> " NumericExpression) | ( "<= " NumericExpression) | ( ">= " NumericExpression) | ( "IN " ExpressionList) | ( "NOT " "IN " ExpressionList) ) ? |
+ |
[115] | +NumericExpression |
+ ::= | +AdditiveExpression | +
[116] | +AdditiveExpression |
+ ::= | +MultiplicativeExpression | +
+ | + | ( ( "+ " MultiplicativeExpression) ( "- " MultiplicativeExpression) | ( ( NumericLiteralPositive | NumericLiteralNegative) ( ( "* " UnaryExpression) | ( "/ " UnaryExpression) ) ? ) ) * |
+ |
[117] | +MultiplicativeExpression |
+ ::= | +UnaryExpression ( ( "* " UnaryExpression) | ( "/ " UnaryExpression) ) * |
+
[118] | +UnaryExpression |
+ ::= | +( "! " PrimaryExpression) | ( "+ " PrimaryExpression) | ( "- " PrimaryExpression) | PrimaryExpression |
+
[119] | +PrimaryExpression |
+ ::= | +BrackettedExpression | BuiltInCall | iriOrFunction | RDFLiteral | NumericLiteral | BooleanLiteral | Var |
+
[120] | +BrackettedExpression |
+ ::= | +"( " Expression ") " |
+
[121] | +BuiltInCall |
+ ::= | +Aggregate | +
+ | | |
+ ( "STR " "( " Expression ") ") |
+ |
+ | | |
+ ( "LANG " "( " Expression ") ") |
+ |
+ | | |
+ ( "LANGMATCHES " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "DATATYPE " "( " Expression ") ") |
+ |
+ | | |
+ ( "BOUND " "( " Var ") ") |
+ |
+ | | |
+ ( "IRI " "( " Expression ") ") |
+ |
+ | | |
+ ( "URI " "( " Expression ") ") |
+ |
+ | | |
+ ( "BNODE " ( ( "( " Expression ") ") | NIL) ) |
+ |
+ | | |
+ ( "RAND " NIL) |
+ |
+ | | |
+ ( "ABS " "( " Expression ") ") |
+ |
+ | | |
+ ( "CEIL " "( " Expression ") ") |
+ |
+ | | |
+ ( "FLOOR " "( " Expression ") ") |
+ |
+ | | |
+ ( "ROUND " "( " Expression ") ") |
+ |
+ | | |
+ ( "CONCAT " ExpressionList) |
+ |
+ | | |
+ SubstringExpression | +|
+ | | |
+ ( "STRLEN " "( " Expression ") ") |
+ |
+ | | |
+ StrReplaceExpression | +|
+ | | |
+ ( "UCASE " "( " Expression ") ") |
+ |
+ | | |
+ ( "LCASE " "( " Expression ") ") |
+ |
+ | | |
+ ( "ENCODE_FOR_URI " "( " Expression ") ") |
+ |
+ | | |
+ ( "CONTAINS " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRSTARTS " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRENDS " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRBEFORE " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRAFTER " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "YEAR " "( " Expression ") ") |
+ |
+ | | |
+ ( "MONTH " "( " Expression ") ") |
+ |
+ | | |
+ ( "DAY " "( " Expression ") ") |
+ |
+ | | |
+ ( "HOURS " "( " Expression ") ") |
+ |
+ | | |
+ ( "MINUTES " "( " Expression ") ") |
+ |
+ | | |
+ ( "SECONDS " "( " Expression ") ") |
+ |
+ | | |
+ ( "TIMEZONE " "( " Expression ") ") |
+ |
+ | | |
+ ( "TZ " "( " Expression ") ") |
+ |
+ | | |
+ ( "NOW " NIL) |
+ |
+ | | |
+ ( "UUID " NIL) |
+ |
+ | | |
+ ( "STRUUID " NIL) |
+ |
+ | | |
+ ( "MD5 " "( " Expression ") ") |
+ |
+ | | |
+ ( "SHA1 " "( " Expression ") ") |
+ |
+ | | |
+ ( "SHA224 " "( " Expression ") ") |
+ |
+ | | |
+ ( "SHA256 " "( " Expression ") ") |
+ |
+ | | |
+ ( "SHA384 " "( " Expression ") ") |
+ |
+ | | |
+ ( "SHA512 " "( " Expression ") ") |
+ |
+ | | |
+ ( "COALESCE " ExpressionList) |
+ |
+ | | |
+ ( "IF " "( " Expression ", " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRLANG " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "STRDT " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "sameTerm " "( " Expression ", " Expression ") ") |
+ |
+ | | |
+ ( "isIRI " "( " Expression ") ") |
+ |
+ | | |
+ ( "isURI " "( " Expression ") ") |
+ |
+ | | |
+ ( "isBLANK " "( " Expression ") ") |
+ |
+ | | |
+ ( "isLITERAL " "( " Expression ") ") |
+ |
+ | | |
+ ( "isNUMERIC " "( " Expression ") ") |
+ |
+ | | |
+ RegexExpression | +|
+ | | |
+ ExistsFunc | +|
+ | | |
+ NotExistsFunc | +|
[122] | +RegexExpression |
+ ::= | +"REGEX " "( " Expression ", " Expression ( ", " Expression) ? ") " |
+
[123] | +SubstringExpression |
+ ::= | +"SUBSTR " "( " Expression ", " Expression ( ", " Expression) ? ") " |
+
[124] | +StrReplaceExpression |
+ ::= | +"REPLACE " "( " Expression ", " Expression ", " Expression ( ", " Expression) ? ") " |
+
[125] | +ExistsFunc |
+ ::= | +"EXISTS " GroupGraphPattern |
+
[126] | +NotExistsFunc |
+ ::= | +"NOT " "EXISTS " GroupGraphPattern |
+
[127] | +Aggregate |
+ ::= | +( "COUNT " "( " "DISTINCT "? ( "* "Expression) ") ") |
+
+ | | |
+ ( "SUM " "( " "DISTINCT "? Expression ") ") |
+ |
+ | | |
+ ( "MIN " "( " "DISTINCT "? Expression ") ") |
+ |
+ | | |
+ ( "MAX " "( " "DISTINCT "? Expression ") ") |
+ |
+ | | |
+ ( "AVG " "( " "DISTINCT "? Expression ") ") |
+ |
+ | | |
+ ( "SAMPLE " "( " "DISTINCT "? Expression ") ") |
+ |
+ | | |
+ ( "GROUP_CONCAT " "( " "DISTINCT "? Expression ( "; " "SEPARATOR " "= " String) ? ") ") |
+ |
[128] | +iriOrFunction |
+ ::= | +iri ArgList? |
+
[129] | +RDFLiteral |
+ ::= | +String ( LANGTAG | ( "^^ " iri) ) ? |
+
[130] | +NumericLiteral |
+ ::= | +NumericLiteralUnsigned | NumericLiteralPositive | NumericLiteralNegative |
+
[131] | +NumericLiteralUnsigned |
+ ::= | +INTEGER | DECIMAL | DOUBLE |
+
[132] | +NumericLiteralPositive |
+ ::= | +INTEGER_POSITIVE | DECIMAL_POSITIVE | DOUBLE_POSITIVE |
+
[133] | +NumericLiteralNegative |
+ ::= | +INTEGER_NEGATIVE | DECIMAL_NEGATIVE | DOUBLE_NEGATIVE |
+
[134] | +BooleanLiteral |
+ ::= | +"true " | "false " |
+
[135] | +String |
+ ::= | +STRING_LITERAL1 | STRING_LITERAL2 | STRING_LITERAL_LONG1 | STRING_LITERAL_LONG2 |
+
[136] | +iri |
+ ::= | +IRIREF | PrefixedName |
+
[137] | +PrefixedName |
+ ::= | +PNAME_LN | PNAME_NS |
+
[138] | +BlankNode |
+ ::= | +BLANK_NODE_LABEL | ANON |
+
@terminals | +
|
+ + | # Productions for terminals | +
[139] | +IRIREF |
+ ::= | +"< " ( [ ^<>"{}|^`\ ] - [ #x00 - #x20 ] ) * "> " |
+
[140] | +PNAME_NS |
+ ::= | +PN_PREFIX? ": " |
+
[141] | +PNAME_LN |
+ ::= | +PNAME_NS PN_LOCAL | +
[142] | +BLANK_NODE_LABEL |
+ ::= | +"_: " ( PN_CHARS_U | [ 0-9 ] ) ( ( PN_CHARS | ". ") * PN_CHARS) ? |
+
[143] | +VAR1 |
+ ::= | +"? " VARNAME |
+
[144] | +VAR2 |
+ ::= | +"$ " VARNAME |
+
[145] | +LANGTAG |
+ ::= | +"@ " [ a-zA-Z ] + ( "- " [ a-zA-Z0-9 ] + ) * |
+
[146] | +INTEGER |
+ ::= | +[ 0-9 ] + |
+
[147] | +DECIMAL |
+ ::= | +[ 0-9 ] * ". " [ 0-9 ] + |
+
[148] | +DOUBLE |
+ ::= | +( [ 0-9 ] + ". " [ 0-9 ] * EXPONENT) | ( ". " [ 0-9 ] + EXPONENT) | ( [ 0-9 ] + EXPONENT) |
+
[149] | +INTEGER_POSITIVE |
+ ::= | +"+ " INTEGER |
+
[150] | +DECIMAL_POSITIVE |
+ ::= | +"+ " DECIMAL |
+
[151] | +DOUBLE_POSITIVE |
+ ::= | +"+ " DOUBLE |
+
[152] | +INTEGER_NEGATIVE |
+ ::= | +"- " INTEGER |
+
[153] | +DECIMAL_NEGATIVE |
+ ::= | +"- " DECIMAL |
+
[154] | +DOUBLE_NEGATIVE |
+ ::= | +"- " DOUBLE |
+
[155] | +EXPONENT |
+ ::= | +[ eE ] [ +- ] ? [ 0-9 ] + |
+
[156] | +STRING_LITERAL1 |
+ ::= | +"' " ( [ ^ #x27 #x5C #x0A #x0D ] | ECHAR) * "' " |
+
[157] | +STRING_LITERAL2 |
+ ::= | +'" ' ( [ ^ #x22 #x5C #x0A #x0D ] | ECHAR) * '" ' |
+
[158] | +STRING_LITERAL_LONG1 |
+ ::= | +"''' " ( ( "' " | "'' ") ? ( [ ^'\ ] | ECHAR) ) * "''' " |
+
[159] | +STRING_LITERAL_LONG2 |
+ ::= | +'""" ' ( ( '" ' | '"" ') ? ( [ ^"\ ] | ECHAR) ) * '""" ' |
+
[160] | +ECHAR |
+ ::= | +"\ " [ tbnrf"' ] |
+
[161] | +NIL |
+ ::= | +"( " WS* ") " |
+
[162] | +WS |
+ ::= | +#x20 | #x09 | #x0D | #x0A |
+
[163] | +ANON |
+ ::= | +"[ " WS* "] " |
+
[164] | +PN_CHARS_BASE |
+ ::= | +[ A-Za-z ] |
+
+ | | |
+ [ #xC0 - #xD6 ] |
+ |
+ | | |
+ [ #xD8 - #xF6 ] |
+ |
+ | | |
+ [ #xF8 - #x02FF ] |
+ |
+ | | |
+ [ #x0370 - #x037D ] |
+ |
+ | | |
+ [ #x037F - #x1FFF ] |
+ |
+ | | |
+ [ #x200C - #x200D ] |
+ |
+ | | |
+ [ #x2070 - #x218F ] |
+ |
+ | | |
+ [ #x2C00 - #x2FEF ] |
+ |
+ | | |
+ [ #x3001 - #xD7FF ] |
+ |
+ | | |
+ [ #xF900 - #xFDCF ] |
+ |
+ | | |
+ [ #xFDF0 - #xFFFD ] |
+ |
+ | | |
+ [ #x00010000 - #x000EFFFF ] |
+ |
[165] | +PN_CHARS_U |
+ ::= | +PN_CHARS_BASE | "_ " |
+
[166] | +VARNAME |
+ ::= | +( PN_CHARS_U | [ 0-9 ] ) ( PN_CHARS_U | [ 0-9 ] | #xB7 | [ #x0300 - #x036F ] | [ #x203F - #x2040 ] ) * |
+
[167] | +PN_CHARS |
+ ::= | +PN_CHARS_U | "- " | [ 0-9 ] | #xB7 | [ #x0300 - #x036F ] | [ #x203F - #x2040 ] |
+
[168] | +PN_PREFIX |
+ ::= | +PN_CHARS_BASE ( ( PN_CHARS | ". ") * PN_CHARS) ? |
+
[169] | +PN_LOCAL |
+ ::= | +( PN_CHARS_U | [ 0-9 ] ) ( ( PN_CHARS | ". ") * PN_CHARS) ? |
+
[170] | +PLX |
+ ::= | +PERCENT | PN_LOCAL_ESC |
+
[171] | +PERCENT |
+ ::= | +"% " HEX HEX |
+
[172] | +HEX |
+ ::= | +[ 0-9A-Fa-f ] |
+
[173] | +PN_LOCAL_ESC |
+ ::= | +"\ " ( "_ " | "~ " | ". " | "- " | "! " | "$ " | "& " | "' " | "( " | ") " | "* " | "+ " | ", " | "; " | "= " | "/ " | "? " | "# " | "@ " | "% ") |
+
[1] | +turtleDoc |
::= | statement* |
|
[2] | +statement |
::= | directive | ( triples ". ") |
|
[3] | +directive |
::= | prefixID | base | sparqlPrefix | sparqlBase |
|
[4] | +prefixID |
::= | "@prefix " PNAME_NS IRIREF ". " |
|
[5] | +base |
::= | "@base " IRIREF ". " |
|
[28s] | +sparqlPrefix |
::= | SPARQL_PREFIX PNAME_NS IRIREF | |
[29s] | +sparqlBase |
::= | SPARQL_BASE IRIREF | |
[6] | +triples |
::= | ( subject predicateObjectList) | ( blankNodePropertyList predicateObjectList? ) |
|
[7] | +predicateObjectList |
::= | verb objectList ( "; " ( verb objectList) ? ) * |
|
[8] | +objectList |
::= | object ( ", " object) * |
|
[9] | +verb |
::= | predicate | "a " |
|
[10] | +subject |
::= | iri | BlankNode | collection |
|
[11] | +predicate |
::= | iri | |
[12] | +object |
::= | iri | BlankNode | collection | blankNodePropertyList | literal |
|
[13] | +literal |
::= | RDFLiteral | NumericLiteral | BooleanLiteral |
|
[14] | +blankNodePropertyList |
::= | "[ " predicateObjectList "] " |
|
[15] | +collection |
::= | "( " object* ") " |
|
[16] | +NumericLiteral |
::= | INTEGER | DECIMAL | DOUBLE |
|
[128s] | +RDFLiteral |
::= | String ( LANGTAG | ( "^^ " iri) ) ? |
|
[133s] | +BooleanLiteral |
::= | "true " | "false " |
|
[17] | +String |
::= | STRING_LITERAL_QUOTE | STRING_LITERAL_SINGLE_QUOTE | STRING_LITERAL_LONG_SINGLE_QUOTE | STRING_LITERAL_LONG_QUOTE |
|
[135s] | +iri |
::= | IRIREF | PrefixedName |
|
[136s] | +PrefixedName |
::= | PNAME_LN | PNAME_NS |
|
[137s] | +BlankNode |
::= | BLANK_NODE_LABEL | ANON |
|
@terminals | +
|
# Productions for terminals | ||
[18] | +IRIREF |
::= | "< " ( ( [ ^<>"{}|^`\ ] - [ #x00 - #x20 ] ) | UCHAR) * "> " |
|
[139s] | +PNAME_NS |
::= | PN_PREFIX? ": " |
|
[140s] | +PNAME_LN |
::= | PNAME_NS PN_LOCAL | |
[141s] | +BLANK_NODE_LABEL |
::= | "_: " ( PN_CHARS_U | [ 0-9 ] ) ( ( PN_CHARS | ". ") * PN_CHARS) ? |
|
[144s] | +LANGTAG |
::= | "@ " [ a-zA-Z ] + ( "- " [ a-zA-Z0-9 ] + ) * |
|
[19] | +INTEGER |
::= | [ +- ] ? [ 0-9 ] + |
|
[20] | +DECIMAL |
::= | [ +- ] ? ( [ 0-9 ] * ". " [ 0-9 ] + ) |
|
[21] | +DOUBLE |
::= | [ +- ] ? ( ( [ 0-9 ] + ". " [ 0-9 ] * EXPONENT) | ( ". " [ 0-9 ] + EXPONENT) | ( [ 0-9 ] + EXPONENT) ) |
|
[154s] | +EXPONENT |
::= | [ eE ] [ +- ] ? [ 0-9 ] + |
|
[22] | +STRING_LITERAL_QUOTE |
::= | -'" ' ( [ ^ >" #x5C #x0A #x0D ] | ECHAR | UCHAR) * '" ' |
+ '" ' ( [ ^ #x22 #x5C #x0A #x0D ] | ECHAR | UCHAR) * '" ' |
[23] | +STRING_LITERAL_SINGLE_QUOTE |
::= | -"' " ( [ ^ #x27 #x5C #x0A #x0D ] | ECHAR | UCHAR) * "' " |
+ "' " ( [ ^ #x27 #x5C #x0A #x0D ] | ECHAR | UCHAR) * "' " |
[24] | +STRING_LITERAL_LONG_SINGLE_QUOTE |
::= | "''' " ( ( "' " | "'' ") ? ( [ ^'\ ] | ECHAR | UCHAR) ) * "''' " |
|
[25] | +STRING_LITERAL_LONG_QUOTE |
::= | '""" ' ( ( '" ' | '"" ') ? ( [ ^"\ ] | ECHAR | UCHAR) ) * '""" ' |
|
[26] | +UCHAR |
::= | ( "u " HEX HEX HEX HEX) | ( "U " HEX HEX HEX HEX HEX HEX HEX HEX) |
|
[159s] | +ECHAR |
::= | "\ " [ tbnrf"' ] |
|
[28t] | +SPARQL_PREFIX |
::= | [ Pp ] [ Rr ] [ Ee ] [ Ff ] [ Ii ] [ Xx ] |
|
[29t] | +SPARQL_BASE |
::= | [ Bb ] [ Aa ] [ Ss ] [ Ee ] |
|
[161s] | +WS |
::= | #x20 | #x09 | #x0D | #x0A |
|
[162s] | +ANON |
::= | "[ " WS* "] " |
|
[163s] | +PN_CHARS_BASE |
::= | [ A-Z ] |
|
| |
- [ #xC0 - #xD6 ] |
+ [ #xC0 - #xD6 ] |
||
| |
- [ #xD8 - #xF6 ] |
+ [ #xD8 - #xF6 ] |
||
| |
- [ #xF8 - #x02FF ] |
+ [ #xF8 - #x02FF ] |
||
| |
- [ #x0370 - #x037D ] |
+ [ #x0370 - #x037D ] |
||
| |
- [ #x037F - #x1FFF ] |
+ [ #x037F - #x1FFF ] |
||
| |
- [ #x200C - #x200D ] |
+ [ #x200C - #x200D ] |
||
| |
- [ #x2070 - #x218F ] |
+ [ #x2070 - #x218F ] |
||
| |
- [ #x2C00 - #x2FEF ] |
+ [ #x2C00 - #x2FEF ] |
||
| |
- [ #x3001 - #xD7FF ] |
+ [ #x3001 - #xD7FF ] |
||
| |
- [ #xF900 - #xFDCF ] |
+ [ #xF900 - #xFDCF ] |
||
| |
- [ #xFDF0 - #xFFFD ] |
+ [ #xFDF0 - #xFFFD ] |
||
| |
- [ #x00010000 - #x000EFFFF ] |
+ [ #x00010000 - #x000EFFFF ] |
||
[164s] | +PN_CHARS_U |
::= | PN_CHARS_BASE | "_ " |
|
[166s] | +PN_CHARS |
::= | -PN_CHARS_U | "- " | [ 0-9 ] | #xB7 | [ #x0300 - #x036F ] | [ #x203F - #x2040 ] |
+ PN_CHARS_U | "- " | [ 0-9 ] | #xB7 | [ #x0300 - #x036F ] | [ #x203F - #x2040 ] |
[167s] | +PN_PREFIX |
::= | PN_CHARS_BASE ( ( PN_CHARS | ". ") * PN_CHARS) ? |
|
[168s] | +PN_LOCAL |
::= | ( PN_CHARS_U | ": " | [ 0-9 ] | PLX) ( ( PN_CHARS | ". " | ": " | PLX) * ( PN_CHARS | ": " | PLX) ) ? |
|
[169s] | +PLX |
::= | PERCENT | PN_LOCAL_ESC |
|
[170s] | +PERCENT |
::= | "% " HEX HEX |
|
[171s] | +HEX |
::= | [ 0-9A-Fa-f ] |
|
[172s] | +PN_LOCAL_ESC |
::= | "\ " ( "_ " | "~ " | ". " | "- " | "! " | "$ " | "& " | "' " | "( " | ") " | "* " | "+ " | ", " | "; " | "= " | "/ " | "? " | "# " | "@ " | "% ") |