Skip to content

Commit e6b638b

Browse files
committed
Update N-Triples grammar with VERSION
1 parent 21db36f commit e6b638b

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

etc/n-triples.ebnf

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
1-
ntriplesDoc ::= triple? (EOL triple)* EOL?
1+
ntriplesDoc ::= statement? (EOL statement)* EOL?
2+
statement ::= directive | triple '.'
3+
directive ::= versionDirective
4+
versionDirective ::= 'VERSION' versionSpecifier
5+
versionSpecifier ::= STRING_LITERAL_QUOTE
26
triple ::= subject predicate object '.'
3-
subject ::= IRIREF | BLANK_NODE_LABEL | quotedTriple
7+
subject ::= IRIREF | BLANK_NODE_LABEL
48
predicate ::= IRIREF
5-
object ::= IRIREF | BLANK_NODE_LABEL | literal | tripleTerm | quotedTriple
9+
object ::= IRIREF | BLANK_NODE_LABEL | literal | tripleTerm
610
literal ::= STRING_LITERAL_QUOTE ('^^' IRIREF | LANG_DIR )?
7-
tripleTerm ::= '<<' subject predicate object '>>'
8-
quotedTriple ::= '<<' subject predicate object '>>'
11+
tripleTerm ::= '<<(' subject predicate object ')>>'
912

1013
@terminals
1114

1215
IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>'
1316
BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)?
14-
LANG_DIR ::= "@" [a-zA-Z]+ ( "-" [a-zA-Z0-9]+ )* ('--' [a-zA-Z]+)?`
17+
LANG_DIR ::= '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )* ( '--' [a-zA-Z]+ )?
1518
STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"'
16-
UCHAR ::= ( "\u" HEX HEX HEX HEX )
17-
| ( "\U" HEX HEX HEX HEX HEX HEX HEX HEX )
18-
ECHAR ::= ("\" [tbnrf"'])
19+
UCHAR ::= ( '\u' HEX HEX HEX HEX )
20+
| ( '\U' HEX HEX HEX HEX HEX HEX HEX HEX )
21+
ECHAR ::= ('\' [tbnrf\"'])
1922
PN_CHARS_BASE ::= ([A-Z]
2023
| [a-z]
2124
| [#x00C0-#x00D6]
@@ -32,7 +35,7 @@ PN_CHARS_BASE ::= ([A-Z]
3235
| [#x10000-#xEFFFF])
3336
PN_CHARS_U ::= PN_CHARS_BASE | '_'
3437
PN_CHARS ::= (PN_CHARS_U
35-
| "-"
38+
| '-'
3639
| [0-9]
3740
| #x00B7
3841
| [#x0300-#x036F]

0 commit comments

Comments
 (0)