[1] | turtleDoc |
::= | statement* |
[2] | statement |
::= | directive | ( triples '. ') |
[3] | directive |
::= | prefixID | base | version | sparqlPrefix | sparqlBase | sparqlVersion |
[4] | prefixID |
::= | '@prefix ' PNAME_NS IRIREF '. ' |
[5] | base |
::= | '@base ' IRIREF '. ' |
[6] | version |
::= | '@version ' VersionSpecifier '. ' |
[7] | sparqlPrefix |
::= | "PREFIX " PNAME_NS IRIREF |
[8] | sparqlBase |
::= | "BASE " IRIREF |
[9] | sparqlVersion |
::= | "VERSION " VersionSpecifier |
[10] | VersionSpecifier |
::= | STRING_LITERAL_QUOTE | STRING_LITERAL_SINGLE_QUOTE |
[11] | triples |
::= | ( subject predicateObjectList) | ( blankNodePropertyList predicateObjectList? ) | ( reifiedTriple predicateObjectList? ) |
[12] | predicateObjectList |
::= | verb objectList ( '; ' ( verb objectList) ? ) * |
[13] | objectList |
::= | object annotation ( ', ' object annotation) * |
[14] | verb |
::= | predicate | 'a ' |
[15] | subject |
::= | iri | BlankNode | collection |
[16] | predicate |
::= | iri |
[17] | object |
::= | iri | BlankNode | collection | blankNodePropertyList | literal | tripleTerm | reifiedTriple |
[18] | literal |
::= | RDFLiteral | NumericLiteral | BooleanLiteral |
[19] | blankNodePropertyList |
::= | '[ ' predicateObjectList '] ' |
[20] | collection |
::= | '( ' object* ') ' |
[21] | NumericLiteral |
::= | INTEGER | DECIMAL | DOUBLE |
[22] | RDFLiteral |
::= | String ( LANG_DIR | ( '^^ ' iri) ) ? |
[23] | BooleanLiteral |
::= | 'true ' | 'false ' |
[24] | String |
::= | STRING_LITERAL_QUOTE | STRING_LITERAL_SINGLE_QUOTE | STRING_LITERAL_LONG_SINGLE_QUOTE | STRING_LITERAL_LONG_QUOTE |
[25] | iri |
::= | IRIREF | PrefixedName |
[26] | PrefixedName |
::= | PNAME_LN | PNAME_NS |
[27] | BlankNode |
::= | BLANK_NODE_LABEL | ANON |
[28] | reifier |
::= | '~ ' ( iri | BlankNode) ? |
[29] | reifiedTriple |
::= | '<< ' rtSubject verb rtObject reifier? '>> ' |
[30] | rtSubject |
::= | iri | BlankNode | reifiedTriple |
[31] | rtObject |
::= | iri | BlankNode | literal | tripleTerm | reifiedTriple |
[32] | tripleTerm |
::= | '<<( ' ttSubject verb ttObject ')>> ' |
[33] | ttSubject |
::= | iri | BlankNode |
[34] | ttObject |
::= | iri | BlankNode | literal | tripleTerm |
[35] | annotation |
::= | ( reifier | annotationBlock) * |
[36] | annotationBlock |
::= | '{| ' predicateObjectList '|} ' |
Productions for terminals |
|||
[38] | IRIREF |
::= | '< ' ( [ ^ #x00 - #x20 <>"{}|^`\ ] | UCHAR) * '> '
/* #x00=NULL #x01-#x1F=control codes #x20=space */ |
[39] | PNAME_NS |
::= | PN_PREFIX? ': ' |
[40] | PNAME_LN |
::= | PNAME_NS PN_LOCAL |
[41] | BLANK_NODE_LABEL |
::= | '_: ' ( PN_CHARS_U | [ 0-9 ] ) ( ( PN_CHARS | '. ') * PN_CHARS) ? |
[42] | LANG_DIR |
::= | '@ ' [ a-zA-Z ] + ( '- ' [ a-zA-Z0-9 ] + ) * ( '-- ' [ a-zA-Z ] + ) ? |
[43] | INTEGER |
::= | [ +- ] ? [ 0-9 ] + |
[44] | DECIMAL |
::= | [ +- ] ? ( [ 0-9 ] * '. ' [ 0-9 ] + ) |
[45] | DOUBLE |
::= | [ +- ] ? ( ( [ 0-9 ] + '. ' [ 0-9 ] * EXPONENT) | ( '. ' [ 0-9 ] + EXPONENT) | ( [ 0-9 ] + EXPONENT) ) |
[46] | EXPONENT |
::= | [ eE ] [ +- ] ? [ 0-9 ] + |
[47] | STRING_LITERAL_QUOTE |
::= | '" ' ( [ ^ #x22 #x5C #x0A #x0D ] | ECHAR | UCHAR) * '" ' |
[48] | STRING_LITERAL_SINGLE_QUOTE |
::= | "' " ( [ ^ #x27 #x5C #x0A #x0D ] | ECHAR | UCHAR) * "' " |
[49] | STRING_LITERAL_LONG_SINGLE_QUOTE |
::= | "''' " ( ( "' " | "'' ") ? ( [ ^'\ ] | ECHAR | UCHAR) ) * "''' " |
[50] | STRING_LITERAL_LONG_QUOTE |
::= | '""" ' ( ( '" ' | '"" ') ? ( [ ^"\ ] | ECHAR | UCHAR) ) * '""" ' |
[51] | UCHAR |
::= | ( '\u ' HEX HEX HEX HEX) | ( '\U ' HEX HEX HEX HEX HEX HEX HEX HEX) |
[52] | ECHAR |
::= | '\ ' [ tbnrf\"' ] |
[53] | WS |
::= | #x20 | #x09 | #x0D | #x0A |
[54] | ANON |
::= | '[ ' WS* '] ' |
[55] | PN_CHARS_BASE |
::= | [ A-Z ] |
| |
[ a-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 ] |
||
[56] | PN_CHARS_U |
::= | PN_CHARS_BASE | '_ ' |
[57] | PN_CHARS |
::= | PN_CHARS_U | '- ' | [ 0-9 ] | #xB7 | [ #x0300 - #x036F ] | [ #x203F - #x2040 ] |
[58] | PN_PREFIX |
::= | PN_CHARS_BASE ( ( PN_CHARS | '. ') * PN_CHARS) ? |
[59] | PN_LOCAL |
::= | ( PN_CHARS_U | ': ' | [ 0-9 ] | PLX) ( ( PN_CHARS | '. ' | ': ' | PLX) * ( PN_CHARS | ': ' | PLX) ) ? |
[60] | PLX |
::= | PERCENT | PN_LOCAL_ESC |
[61] | PERCENT |
::= | '% ' HEX HEX |
[62] | HEX |
::= | [ 0-9 ] | [ A-F ] | [ a-f ] |
[63] | PN_LOCAL_ESC |
::= | '\ ' ( '_ ' | '~ ' | '. ' | '- ' | "! " | '$ ' | '& ' | "' " | '( ' | ') ' | '* ' | '+ ' | ', ' | '; ' | '= ' | '/ ' | '? ' | '# ' | '@ ' | '% ') |