turtleDoc
(statement)*
statement
directive "."
| triples "."
directive
prefixID
| base
prefixID
PREFIX PNAME_NS IRI_REF
base
BASE IRI_REF
triples
subject predicateObjectList
predicateObjectList
verb objectList (( ";" verb objectList ))* (";")?
objectList
object (( "," object ))*
verb
predicate
| "a"
subject
IRIref
| blank
predicate
IRIref
object
IRIref
| blank
| literal
literal
RDFLiteral
| NumericLiteral
| BooleanLiteral
blank
BlankNode
| "[" predicateObjectList "]"
| collection
collection
"(" (object)* ")"
RDFLiteral
String (( LANGTAG | ( "^^" IRIref ) ))?
NumericLiteral
NumericLiteralUnsigned
| NumericLiteralPositive
| NumericLiteralNegative
NumericLiteralUnsigned
INTEGER
| DECIMAL
| DOUBLE
NumericLiteralPositive
INTEGER_POSITIVE
| DECIMAL_POSITIVE
| DOUBLE_POSITIVE
NumericLiteralNegative
INTEGER_NEGATIVE
| DECIMAL_NEGATIVE
| DOUBLE_NEGATIVE
BooleanLiteral
"true"
| "false"
String
STRING_LITERAL1
| STRING_LITERAL2
| STRING_LITERAL_LONG1
| STRING_LITERAL_LONG2
IRIref
IRI_REF
| PrefixedName
PrefixedName
PNAME_LN
| PNAME_NS
BlankNode
BLANK_NODE_LABEL
| ANON
BASE
>"@base"
PREFIX
>"@prefix"
IRI_REF
>"<" (( [^<>\"{}|^`\\] - [#0000- ] ) | UCHAR )* ">"
PNAME_NS
>(PN_PREFIX)? ":"
PNAME_LN
>PNAME_NS PN_LOCAL
BLANK_NODE_LABEL
>"_:" PN_LOCAL
VAR1
>"?" VARNAME
VAR2
>"$" VARNAME
LANGTAG
>BASE
| PREFIX
| "@" ([a-zA-Z])+ (( "-" ([a-zA-Z0-9])+ ))*
INTEGER
>([0-9])+
DECIMAL
>([0-9])+ "." ([0-9])*
| "." ([0-9])+
DOUBLE
>([0-9])+ "." ([0-9])* EXPONENT
| "." (( [0-9] ))+ EXPONENT
| (( [0-9] ))+ EXPONENT
INTEGER_POSITIVE
>"+" INTEGER
DECIMAL_POSITIVE
>"+" DECIMAL
DOUBLE_POSITIVE
>"+" DOUBLE
INTEGER_NEGATIVE
>"-" INTEGER
DECIMAL_NEGATIVE
>"-" DECIMAL
DOUBLE_NEGATIVE
>"-" DOUBLE
EXPONENT
>[eE] ([+-])? ([0-9])+
STRING_LITERAL1
>"'" (( ( [^'\\\n\r] ) | ECHAR | UCHAR ))* "'"
STRING_LITERAL2
>'"' (( ( [^\"\\\n\r] ) | ECHAR | UCHAR ))* '"'
STRING_LITERAL_LONG1
>"'''" (( (( "'" | "''" ))? ( [^'\\] | ECHAR | UCHAR ) ))* "'''"
STRING_LITERAL_LONG2
>'"""' (( (( '"' | '""' ))? ( [^\"\\] | ECHAR | UCHAR ) ))* '"""'
UCHAR
>( "\\u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] )
| ( "\\U" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] )
ECHAR
>"\\" [tbnrf\\\"']
NIL
>"(" (WS)* ")"
WS
>" "
| "\t"
| "\r"
| "\n"
ANON
>"[" (WS)* "]"
PN_CHARS_BASE
>[A-Z]
| [a-z]
| [#00C0-#00D6]
| [#00D8-#00F6]
| [#00F8-#02FF]
| [#0370-#037D]
| [#037F-#1FFF]
| [#200C-#200D]
| [#2070-#218F]
| [#2C00-#2FEF]
| [#3001-#D7FF]
| [#F900-#FDCF]
| [#FDF0-#FFFD]
| [#10000-#EFFFF]
| UCHAR
PN_CHARS_U
>PN_CHARS_BASE
| "_"
VARNAME
>( PN_CHARS_U | [0-9] ) (( PN_CHARS_U | [0-9] | #00B7 | [#0300-#036F] | [#203F-#2040] ))*
PN_CHARS
>PN_CHARS_U
| "-"
| [0-9]
| #00B7
| [#0300-#036F]
| [#203F-#2040]
PN_PREFIX
>PN_CHARS_BASE (( (( PN_CHARS | "." ))* PN_CHARS ))?
PN_LOCAL
>( PN_CHARS_U | [0-9] ) (( (( PN_CHARS | "." ))* PN_CHARS ))?
PASSED TOKENS
([ \t\r\n])+
| "#" ([^\r\n])*