@@ -11289,263 +11290,256 @@ Grammar
[117] |
ReifiedTriple |
::= |
- '<<' VarOrTerm Verb VarOrTerm Reifier? '>>' |
+ '<<' ( VarOrTerm | ReifiedTriple ) Verb ( VarOrTerm | ReifiedTriple ) Reifier? '>>' |
[118] |
- ReifiedTripleData |
- ::= |
- '<<' DataValueTerm ( iri | 'a' ) DataValueTerm ReifierData? '>>' |
-
-
-
- [119] |
TripleTerm |
::= |
'<<(' VarOrTerm Verb VarOrTerm ')>>' |
- [120] |
+ [119] |
TripleTermData |
::= |
'<<(' DataValueTerm ( iri | 'a' ) DataValueTerm ')>>' |
- [121] |
+ [120] |
DataValueTerm |
::= |
iri | RDFLiteral | NumericLiteral | BooleanLiteral | TripleTermData |
- [122] |
+ [121] |
VarOrIri |
::= |
Var | iri |
- [123] |
+ [122] |
Var |
::= |
VAR1 | VAR2 |
- [124] |
+ [123] |
Expression |
::= |
ConditionalOrExpression |
- [125] |
+ [124] |
ConditionalOrExpression |
::= |
ConditionalAndExpression ( '||' ConditionalAndExpression )* |
- [126] |
+ [125] |
ConditionalAndExpression |
::= |
ValueLogical ( '&&' ValueLogical )* |
- [127] |
+ [126] |
ValueLogical |
::= |
RelationalExpression |
- [128] |
+ [127] |
RelationalExpression |
::= |
NumericExpression ( '=' NumericExpression | '!=' NumericExpression | '<' NumericExpression | '>' NumericExpression | '<=' NumericExpression | '>=' NumericExpression | 'IN' ExpressionList | 'NOT' 'IN' ExpressionList )? |
- [129] |
+ [128] |
NumericExpression |
::= |
AdditiveExpression |
- [130] |
+ [129] |
AdditiveExpression |
::= |
MultiplicativeExpression ( '+' MultiplicativeExpression | '-' MultiplicativeExpression | ( NumericLiteralPositive | NumericLiteralNegative ) ( ( '*' UnaryExpression ) | ( '/' UnaryExpression ) )* )* |
- [131] |
+ [130] |
MultiplicativeExpression |
::= |
UnaryExpression ( '*' UnaryExpression | '/' UnaryExpression )* |
- [132] |
+ [131] |
UnaryExpression |
::= |
'!' PrimaryExpression | '+' PrimaryExpression | '-' PrimaryExpression | PrimaryExpression |
- [133] |
+ [132] |
PrimaryExpression |
::= |
BrackettedExpression | BuiltInCall | iriOrFunction | RDFLiteral | NumericLiteral | BooleanLiteral | Var | ExprTripleTerm |
- [134] |
+ [133] |
ExprVarOrTerm |
::= |
iri | RDFLiteral | NumericLiteral | BooleanLiteral | Var | ExprTripleTerm |
- [135] |
+ [134] |
ExprTripleTerm |
::= |
'<<(' ExprVarOrTerm Verb ExprVarOrTerm ')>>' |
- [136] |
+ [135] |
BrackettedExpression |
::= |
'(' Expression ')' |
- [137] |
+ [136] |
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 ')' | '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 | 'isTRIPLE' '(' Expression ')' | 'TRIPLE' '(' Expression ',' Expression ',' Expression ')' | 'SUBJECT' '(' Expression ')' | 'PREDICATE' '(' Expression ')' | 'OBJECT' '(' Expression ')' |
+ Aggregate | 'STR' '(' Expression ')' | 'LANG' '(' Expression ')' | 'LANGMATCHES' '(' Expression ',' Expression ')' | 'LANGDIR' '(' 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 ')' | 'SHA256' '(' Expression ')' | 'SHA384' '(' Expression ')' | 'SHA512' '(' Expression ')' | 'COALESCE' ExpressionList | 'IF' '(' Expression ',' Expression ',' Expression ')' | 'STRLANG' '(' Expression ',' Expression ')' | 'STRLANGDIR' '(' Expression ',' Expression ',' Expression ')' | 'STRDT' '(' Expression ',' Expression ')' | 'sameTerm' '(' Expression ',' Expression ')' | 'isIRI' '(' Expression ')' | 'isURI' '(' Expression ')' | 'isBLANK' '(' Expression ')' | 'isLITERAL' '(' Expression ')' | 'isNUMERIC' '(' Expression ')' | IS_LANG '(' Expression ')' | IS_LANGDIR '(' Expression ')' | RegexExpression | ExistsFunc | NotExistsFunc | 'isTRIPLE' '(' Expression ')' | 'TRIPLE' '(' Expression ',' Expression ',' Expression ')' | 'SUBJECT' '(' Expression ')' | 'PREDICATE' '(' Expression ')' | 'OBJECT' '(' Expression ')' |
- [138] |
+ [137] |
RegexExpression |
::= |
'REGEX' '(' Expression ',' Expression ( ',' Expression )? ')' |
- [139] |
+ [138] |
SubstringExpression |
::= |
'SUBSTR' '(' Expression ',' Expression ( ',' Expression )? ')' |
- [140] |
+ [139] |
StrReplaceExpression |
::= |
'REPLACE' '(' Expression ',' Expression ',' Expression ( ',' Expression )? ')' |
- [141] |
+ [140] |
ExistsFunc |
::= |
'EXISTS' GroupGraphPattern |
- [142] |
+ [141] |
NotExistsFunc |
::= |
'NOT' 'EXISTS' GroupGraphPattern |
- [143] |
+ [142] |
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 )? ')' |
- [144] |
+ [143] |
iriOrFunction |
::= |
iri ArgList? |
- [145] |
+ [144] |
RDFLiteral |
::= |
- String ( LANGTAG | ( '^^' iri ) )? |
+ String ( LANG_DIR | ( '^^' iri ) )? |
- [146] |
+ [145] |
NumericLiteral |
::= |
NumericLiteralUnsigned | NumericLiteralPositive | NumericLiteralNegative |
- [147] |
+ [146] |
NumericLiteralUnsigned |
::= |
INTEGER | DECIMAL | DOUBLE |
- [148] |
+ [147] |
NumericLiteralPositive |
::= |
INTEGER_POSITIVE | DECIMAL_POSITIVE | DOUBLE_POSITIVE |
- [149] |
+ [148] |
NumericLiteralNegative |
::= |
INTEGER_NEGATIVE | DECIMAL_NEGATIVE | DOUBLE_NEGATIVE |
- [150] |
+ [149] |
BooleanLiteral |
::= |
'true' | 'false' |
- [151] |
+ [150] |
String |
::= |
STRING_LITERAL1 | STRING_LITERAL2 | STRING_LITERAL_LONG1 | STRING_LITERAL_LONG2 |
- [152] |
+ [151] |
iri |
::= |
IRIREF | PrefixedName |
- [153] |
+ [152] |
PrefixedName |
::= |
PNAME_LN | PNAME_NS |
- [154] |
+ [153] |
BlankNode |
::= |
BLANK_NODE_LABEL | ANON |
@@ -11557,245 +11551,245 @@ Grammar
- [155] |
+ [154] |
IRIREF |
::= |
'<' ([^<>"{}|^`\]-[#x00-#x20])* '>' |
- [156] |
+ [155] |
PNAME_NS |
::= |
PN_PREFIX? ':' |
- [157] |
+ [156] |
PNAME_LN |
::= |
PNAME_NS PN_LOCAL |
- [158] |
+ [157] |
BLANK_NODE_LABEL |
::= |
'_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? |
- [159] |
+ [158] |
VAR1 |
::= |
'?' VARNAME |
- [160] |
+ [159] |
VAR2 |
::= |
'$' VARNAME |
- [161] |
- LANGTAG |
+ [160] |
+ LANG_DIR |
::= |
- '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* |
+ '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* ('--' [a-zA-Z]+)? |
- [162] |
+ [161] |
INTEGER |
::= |
[0-9]+ |
- [163] |
+ [162] |
DECIMAL |
::= |
[0-9]* '.' [0-9]+ |
- [164] |
+ [163] |
DOUBLE |
::= |
[0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT |
- [165] |
+ [164] |
INTEGER_POSITIVE |
::= |
'+' INTEGER |
- [166] |
+ [165] |
DECIMAL_POSITIVE |
::= |
'+' DECIMAL |
- [167] |
+ [166] |
DOUBLE_POSITIVE |
::= |
'+' DOUBLE |
- [168] |
+ [167] |
INTEGER_NEGATIVE |
::= |
'-' INTEGER |
- [169] |
+ [168] |
DECIMAL_NEGATIVE |
::= |
'-' DECIMAL |
- [170] |
+ [169] |
DOUBLE_NEGATIVE |
::= |
'-' DOUBLE |
- [171] |
+ [170] |
EXPONENT |
::= |
[eE] [+-]? [0-9]+ |
- [172] |
+ [171] |
STRING_LITERAL1 |
::= |
"'" ( ([^#x27#x5C#xA#xD]) | ECHAR )* "'" |
- [173] |
+ [172] |
STRING_LITERAL2 |
::= |
'"' ( ([^#x22#x5C#xA#xD]) | ECHAR )* '"' |
- [174] |
+ [173] |
STRING_LITERAL_LONG1 |
::= |
"'''" ( ( "'" | "''" )? ( [^'\] | ECHAR ) )* "'''" |
- [175] |
+ [174] |
STRING_LITERAL_LONG2 |
::= |
'"""' ( ( '"' | '""' )? ( [^"\] | ECHAR ) )* '"""' |
- [176] |
+ [175] |
ECHAR |
::= |
'\' [tbnrf\"'] |
- [177] |
+ [176] |
NIL |
::= |
'(' WS* ')' |
- [178] |
+ [177] |
WS |
::= |
#x20 | #x9 | #xD | #xA |
- [179] |
+ [178] |
ANON |
::= |
'[' WS* ']' |
- [180] |
+ [179] |
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] |
- [181] |
+ [180] |
PN_CHARS_U |
::= |
PN_CHARS_BASE | '_' |
- [182] |
+ [181] |
VARNAME |
::= |
( PN_CHARS_U | [0-9] ) ( PN_CHARS_U | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] )* |
- [183] |
+ [182] |
PN_CHARS |
::= |
PN_CHARS_U | '-' | [0-9] | #x00B7 | [#x0300-#x036F] | [#x203F-#x2040] |
- [184] |
+ [183] |
PN_PREFIX |
::= |
PN_CHARS_BASE ((PN_CHARS|'.')* PN_CHARS)? |
- [185] |
+ [184] |
PN_LOCAL |
::= |
(PN_CHARS_U | ':' | [0-9] | PLX ) ((PN_CHARS | '.' | ':' | PLX)* (PN_CHARS | ':' | PLX) )? |
- [186] |
+ [185] |
PLX |
::= |
PERCENT | PN_LOCAL_ESC |
- [187] |
+ [186] |
PERCENT |
::= |
'%' HEX HEX |
- [188] |
+ [187] |
HEX |
::= |
[0-9] | [A-F] | [a-f] |
- [189] |
+ [188] |
PN_LOCAL_ESC |
::= |
'\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) |
@@ -11803,6 +11797,7 @@ Grammar
+
@@ -11889,6 +11884,7 @@ Changes between SPARQL 1.1 Query Language and SPARQL 1.2 Query Language
Remove concepts of plain and simple literals, in favor of explicit mentions of xsd:string
Update grammar for triple terms, reifiers, reified triples, annotation syntax, and triple term functions
in
+ Update grammar for initial text direction syntax and functions in
Migrate XML Schema references to 1.1
Update references to XPath from 2.0 to 3.1
Add functions on triple terms to