|
1 | | -[1g] trigDoc ::= ( directive | block )* |
2 | | -[2g] block ::= triplesOrGraph |
3 | | - | wrappedGraph |
4 | | - | triples2 |
5 | | - | GRAPH labelOrSubject wrappedGraph |
6 | | -[3g] triplesOrGraph ::= labelOrSubject ( wrappedGraph | predicateObjectList '.' ) |
7 | | - | quotedTriple predicateObjectList '.' |
8 | | -[4g] triples2 ::= blankNodePropertyList predicateObjectList? '.' |
9 | | - | collection predicateObjectList '.' |
10 | | -[5g] wrappedGraph ::= '{' triplesBlock? '}' |
11 | | -[6g] triplesBlock ::= triples ( '.' triplesBlock? )? |
12 | | -[7g] labelOrSubject ::= ( iri | BlankNode ) |
13 | | -[3] directive ::= prefixID | base | sparqlPrefix | sparqlBase |
14 | | -[4] prefixID ::= PREFIX PNAME_NS IRIREF "."? |
15 | | -[5] base ::= BASE IRIREF "."? |
16 | | -[5s] sparqlPrefix ::= "PREFIX" PNAME_NS IRIREF |
17 | | -[6s] sparqlBase ::= "BASE" IRIREF |
18 | | -[6] triples ::= subject predicateObjectList |
19 | | - | blankNodePropertyList predicateObjectList? |
20 | | -[7] predicateObjectList ::= verb objectList (';' (verb objectList)? )* |
21 | | -[8] objectList ::= object annotation? ( "," object annotation? )* |
22 | | -[9] verb ::= predicate | "a" |
23 | | -[10] subject ::= iri | blank | quotedTriple |
24 | | -[11] predicate ::= iri |
25 | | -[12] object ::= iri | blank | blankNodePropertyList | literal | quotedTriple |
26 | | -[13] literal ::= RDFLiteral | NumericLiteral | BooleanLiteral |
27 | | -[14] blank ::= BlankNode | collection |
28 | | -[15] blankNodePropertyList ::= "[" predicateObjectList "]" |
29 | | -[16] collection ::= "(" object* ")" |
30 | | -[17] NumericLiteral ::= INTEGER | DECIMAL | DOUBLE |
31 | | -[128s] RDFLiteral ::= String ( LANGTAG | ( "^^" iri ) )? |
32 | | -[133s] BooleanLiteral ::= "true" | "false" |
33 | | -[18] String ::= STRING_LITERAL_QUOTE |
34 | | - | STRING_LITERAL_SINGLE_QUOTE |
35 | | - | STRING_LITERAL_LONG_SINGLE_QUOTE |
36 | | - | STRING_LITERAL_LONG_QUOTE |
37 | | -[135s] iri ::= IRIREF | PrefixedName |
38 | | -[136s] PrefixedName ::= PNAME_LN | PNAME_NS |
39 | | -[137s] BlankNode ::= BLANK_NODE_LABEL | ANON |
40 | | -[27] quotedTriple ::= "<<" qtSubject predicate qtObject ">>" |
41 | | -[28] qtSubject ::= iri | BlankNode | quotedTriple |
42 | | -[29] qtObject ::= iri | BlankNode | literal | quotedTriple |
43 | | -[30] annotation ::= '{|' predicateObjectList '|}' |
| 1 | +trigDoc ::= ( directive | block )* |
| 2 | +block ::= triplesOrGraph |
| 3 | + | wrappedGraph |
| 4 | + | triples2 |
| 5 | + | GRAPH labelOrSubject wrappedGraph |
| 6 | +triplesOrGraph ::= labelOrSubject ( wrappedGraph | predicateObjectList '.' ) |
| 7 | + | quotedTriple predicateObjectList '.' |
| 8 | +triples2 ::= blankNodePropertyList predicateObjectList? '.' |
| 9 | + | collection predicateObjectList '.' |
| 10 | +wrappedGraph ::= '{' triplesBlock? '}' |
| 11 | +triplesBlock ::= triples ( '.' triplesBlock? )? |
| 12 | +labelOrSubject ::= ( iri | BlankNode ) |
| 13 | +directive ::= prefixID | base | sparqlPrefix | sparqlBase |
| 14 | +prefixID ::= PREFIX PNAME_NS IRIREF "."? |
| 15 | +base ::= BASE IRIREF "."? |
| 16 | +sparqlPrefix ::= "PREFIX" PNAME_NS IRIREF |
| 17 | +sparqlBase ::= "BASE" IRIREF |
| 18 | +triples ::= subject predicateObjectList |
| 19 | + | blankNodePropertyList predicateObjectList? |
| 20 | +predicateObjectList ::= verb objectList (';' (verb objectList)? )* |
| 21 | +objectList ::= object annotation? ( "," object annotation? )* |
| 22 | +verb ::= predicate | "a" |
| 23 | +subject ::= iri | blank | quotedTriple |
| 24 | +predicate ::= iri |
| 25 | +object ::= iri | blank | blankNodePropertyList | literal | quotedTriple |
| 26 | +literal ::= RDFLiteral | NumericLiteral | BooleanLiteral |
| 27 | +blank ::= BlankNode | collection |
| 28 | +blankNodePropertyList ::= "[" predicateObjectList "]" |
| 29 | +collection ::= "(" object* ")" |
| 30 | +NumericLiteral ::= INTEGER | DECIMAL | DOUBLE |
| 31 | +RDFLiteral ::= String ( LANG_DIR | ( "^^" iri ) )? |
| 32 | +BooleanLiteral ::= "true" | "false" |
| 33 | +String ::= STRING_LITERAL_QUOTE |
| 34 | + | STRING_LITERAL_SINGLE_QUOTE |
| 35 | + | STRING_LITERAL_LONG_SINGLE_QUOTE |
| 36 | + | STRING_LITERAL_LONG_QUOTE |
| 37 | +iri ::= IRIREF | PrefixedName |
| 38 | +PrefixedName ::= PNAME_LN | PNAME_NS |
| 39 | +BlankNode ::= BLANK_NODE_LABEL | ANON |
| 40 | +quotedTriple ::= "<<" qtSubject predicate qtObject ">>" |
| 41 | +qtSubject ::= iri | BlankNode | quotedTriple |
| 42 | +qtObject ::= iri | BlankNode | literal | quotedTriple |
| 43 | +annotation ::= '{|' predicateObjectList '|}' |
44 | 44 |
|
45 | 45 | @terminals |
46 | 46 |
|
47 | | -[1t] GRAPH ::= [Gg][Rr][Aa][Pp][Hh] |
48 | | -[19] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' |
49 | | -[139s] PNAME_NS ::= PN_PREFIX? ":" |
50 | | -[140s] PNAME_LN ::= PNAME_NS PN_LOCAL |
51 | | -[141s] BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? |
52 | | -[144s] LANGTAG ::= "@" [a-zA-Z]+ ( "-" [a-zA-Z0-9]+ )* |
53 | | -[20] INTEGER ::= [+-]? [0-9]+ |
54 | | -[21] DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ ) |
55 | | -[22] DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT ) |
56 | | -[154s] EXPONENT ::= [eE] [+-]? [0-9]+ |
57 | | -[23] STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' |
58 | | -[24] STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" |
59 | | -[25] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" |
60 | | -[26] STRING_LITERAL_LONG_QUOTE ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' |
61 | | -[27] UCHAR ::= ( "\u" HEX HEX HEX HEX ) |
62 | | - | ( "\U" HEX HEX HEX HEX HEX HEX HEX HEX ) |
63 | | -[159s] ECHAR ::= "\" [tbnrf\"'] |
64 | | -[160s] NIL ::= "(" WS* ")" |
65 | | -[161s] WS ::= #x20 | #x9 | #xD | #xA |
66 | | -[162s] ANON ::= "[" WS* "]" |
67 | | -[163s] PN_CHARS_BASE ::= [A-Z] |
68 | | - | [a-z] |
69 | | - | [#x00C0-#x00D6] |
70 | | - | [#x00D8-#x00F6] |
71 | | - | [#x00F8-#x02FF] |
72 | | - | [#x0370-#x037D] |
73 | | - | [#x037F-#x1FFF] |
74 | | - | [#x200C-#x200D] |
75 | | - | [#x2070-#x218F] |
76 | | - | [#x2C00-#x2FEF] |
77 | | - | [#x3001-#xD7FF] |
78 | | - | [#xF900-#xFDCF] |
79 | | - | [#xFDF0-#xFFFD] |
80 | | - | [#x10000-#xEFFFF] |
81 | | -[164s] PN_CHARS_U ::= PN_CHARS_BASE |
82 | | - | '_' |
83 | | -[166s] PN_CHARS ::= PN_CHARS_U |
84 | | - | "-" |
85 | | - | [0-9] |
86 | | - | #x00B7 |
87 | | - | [#x0300-#x036F] |
88 | | - | [#x203F-#x2040] |
89 | | -[167s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )? |
90 | | -[168s] PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) ) ? |
91 | | -[169s] PLX ::= PERCENT |
92 | | - | PN_LOCAL_ESC |
93 | | -[170s] PERCENT ::= '%' HEX HEX |
94 | | -[171s] HEX ::= [0-9] | [A-F] | [a-f] |
95 | | -[172s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) |
96 | | -[28t] PREFIX ::= "@"?[Pp][Rr][Ee][Ff][Ii][Xx] |
97 | | -[29t] BASE ::= "@"?[Bb][Aa][Ss][Ee] |
| 47 | +RAPH ::= [Gg][Rr][Aa][Pp][Hh] |
| 48 | +RIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' |
| 49 | +PNAME_NS ::= PN_PREFIX? ":" |
| 50 | +PNAME_LN ::= PNAME_NS PN_LOCAL |
| 51 | +BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? |
| 52 | +LANG_DIR ::= "@" [a-zA-Z]+ ( "-" [a-zA-Z0-9]+ )* ('--' [a-zA-Z]+)?` |
| 53 | +INTEGER ::= [+-]? [0-9]+ |
| 54 | +DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ ) |
| 55 | +DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT ) |
| 56 | +EXPONENT ::= [eE] [+-]? [0-9]+ |
| 57 | +STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' |
| 58 | +STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" |
| 59 | +STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" |
| 60 | +STRING_LITERAL_LONG_QUOTE ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' |
| 61 | +UCHAR ::= ( "\u" HEX HEX HEX HEX ) |
| 62 | + | ( "\U" HEX HEX HEX HEX HEX HEX HEX HEX ) |
| 63 | +ECHAR ::= "\" [tbnrf\"'] |
| 64 | +NIL ::= "(" WS* ")" |
| 65 | +WS ::= #x20 | #x9 | #xD | #xA |
| 66 | +ANON ::= "[" WS* "]" |
| 67 | +PN_CHARS_BASE ::= [A-Z] |
| 68 | + | [a-z] |
| 69 | + | [#x00C0-#x00D6] |
| 70 | + | [#x00D8-#x00F6] |
| 71 | + | [#x00F8-#x02FF] |
| 72 | + | [#x0370-#x037D] |
| 73 | + | [#x037F-#x1FFF] |
| 74 | + | [#x200C-#x200D] |
| 75 | + | [#x2070-#x218F] |
| 76 | + | [#x2C00-#x2FEF] |
| 77 | + | [#x3001-#xD7FF] |
| 78 | + | [#xF900-#xFDCF] |
| 79 | + | [#xFDF0-#xFFFD] |
| 80 | + | [#x10000-#xEFFFF] |
| 81 | +PN_CHARS_U ::= PN_CHARS_BASE |
| 82 | + | '_' |
| 83 | +PN_CHARS ::= PN_CHARS_U |
| 84 | + | "-" |
| 85 | + | [0-9] |
| 86 | + | #x00B7 |
| 87 | + | [#x0300-#x036F] |
| 88 | + | [#x203F-#x2040] |
| 89 | +PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )? |
| 90 | +PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) ) ? |
| 91 | +PLX ::= PERCENT |
| 92 | + | PN_LOCAL_ESC |
| 93 | +PERCENT ::= '%' HEX HEX |
| 94 | +HEX ::= [0-9] | [A-F] | [a-f] |
| 95 | +PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) |
| 96 | +PREFIX ::= "@"?[Pp][Rr][Ee][Ff][Ii][Xx] |
| 97 | +BASE ::= "@"?[Bb][Aa][Ss][Ee] |
0 commit comments