[1] ntriplesDoc ::= (triple)? (EOL triple)* (EOL)?
[2] triple ::= subject predicate object '.'
[3] subject ::= (IRIREF | BLANK_NODE_LABEL)
[4] predicate ::= IRIREF
[5] object ::= (IRIREF | BLANK_NODE_LABEL | literal)
[6] literal ::= STRING_LITERAL2 (('^^' IRIREF | '@' LANG))?
[7] LANG ::= ([a-zA-Z])+ ('-' ([a-zA-Z0-9])+)*
[8] EOL ::= ([#xD#xA])+
[132s] IRIREF ::= ('<' ([^<>"{}|^`\]-[#x00-#x20])* | UCHAR '>')
[135s] BLANK_NODE_LABEL ::= '_:' (PN_CHARS_U | [0-9]) (((PN_CHARS | '.'))* PN_CHARS)?
[150s] STRING_LITERAL2 ::= '"' (([^#x22#x5C#xA#xD] | ECHAR | UCHAR))* '"'
[19] UCHAR ::= ('\u' HEX HEX HEX HEX | '\U' HEX HEX HEX HEX HEX HEX HEX HEX)
[153s] ECHAR ::= '\' [tbnrf\"']
[157s] 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])
[158s] PN_CHARS_U ::= (PN_CHARS_BASE | '_' | ':')
[160s] PN_CHARS ::= (PN_CHARS_U | '-' | [0-9] | #00B7 | [#0300-#036F] | [#203F-#2040])
[162s] HEX ::= ([0-9] | [A-F] | [a-f])