|
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 '|}' |
| 1 | +trigDoc ::= ( directive | block )* |
| 2 | +block ::= triplesOrGraph |
| 3 | + | wrappedGraph |
| 4 | + | triples2 |
| 5 | + | "GRAPH" labelOrSubject wrappedGraph |
| 6 | +triplesOrGraph ::= labelOrSubject ( wrappedGraph | predicateObjectList '.' ) |
| 7 | + | reifiedTriple 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 | + | reifiedTriple predicateObjectList? |
| 21 | +predicateObjectList ::= verb objectList (';' (verb objectList)? )* |
| 22 | +objectList ::= object annotation ( ',' object annotation )* |
| 23 | +verb ::= predicate | 'a' |
| 24 | +subject ::= iri | BlankNode | collection |
| 25 | +predicate ::= iri |
| 26 | +object ::= iri | BlankNode | collection | blankNodePropertyList | literal | tripleTerm | reifiedTriple |
| 27 | +literal ::= RDFLiteral | NumericLiteral | BooleanLiteral |
| 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 | STRING_LITERAL_SINGLE_QUOTE |
| 34 | + | STRING_LITERAL_LONG_SINGLE_QUOTE | STRING_LITERAL_LONG_QUOTE |
| 35 | +iri ::= IRIREF | PrefixedName |
| 36 | +PrefixedName ::= PNAME_LN | PNAME_NS |
| 37 | +BlankNode ::= BLANK_NODE_LABEL | ANON |
| 38 | +reifier ::= '~' (iri | BlankNode)? |
| 39 | +reifiedTriple ::= '<<' rtSubject verb rtObject reifier? '>>' |
| 40 | +rtSubject ::= iri | BlankNode | reifiedTriple |
| 41 | +rtObject ::= iri | BlankNode | literal | tripleTerm | reifiedTriple |
| 42 | +tripleTerm ::= '<<(' ttSubject verb ttObject ')>>' |
| 43 | +ttSubject ::= iri | BlankNode |
| 44 | +ttObject ::= iri | BlankNode | literal | tripleTerm |
| 45 | +annotation ::= (reifier | annotationBlock)* |
| 46 | +annotationBlock ::= '{|' predicateObjectList '|}' |
44 | 47 |
|
45 | 48 | @terminals
|
46 | 49 |
|
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] |
| 50 | +IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>' |
| 51 | +PNAME_NS ::= PN_PREFIX? ':' |
| 52 | +PNAME_LN ::= PNAME_NS PN_LOCAL |
| 53 | +BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)? |
| 54 | +LANG_DIR ::= '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )* ( '--' [a-zA-Z]+ )? |
| 55 | +INTEGER ::= [+-]? [0-9]+ |
| 56 | +DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ ) |
| 57 | +DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT ) |
| 58 | +EXPONENT ::= [eE] [+-]? [0-9]+ |
| 59 | +STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' /* #x22=" #x5C=\ #xA=new line #xD=carriage return */ |
| 60 | +STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" /* #x27=' #x5C=\ #xA=new line #xD=carriage return */ |
| 61 | +STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" |
| 62 | +STRING_LITERAL_LONG_QUOTE ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' |
| 63 | +UCHAR ::= ( '\u' HEX HEX HEX HEX ) | ( '\U' HEX HEX HEX HEX HEX HEX HEX HEX ) |
| 64 | +ECHAR ::= ('\' [tbnrf\"']) |
| 65 | +WS ::= #x20 | #x9 | #xD | #xA /* #x20=space #x9=character tabulation #xD=carriage return #xA=new line */ |
| 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 | +PN_CHARS ::= (PN_CHARS_U |
| 83 | + | '-' |
| 84 | + | [0-9] |
| 85 | + | #x00B7 |
| 86 | + | [#x0300-#x036F] |
| 87 | + | [#x203F-#x2040]) |
| 88 | +PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | '.' )* PN_CHARS )? |
| 89 | +PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )* ( PN_CHARS | ':' | PLX ) ) ? |
| 90 | +PLX ::= PERCENT | PN_LOCAL_ESC |
| 91 | +PERCENT ::= '%' HEX HEX |
| 92 | +HEX ::= ([0-9] | [A-F] | [a-f]) |
| 93 | +PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' ) |
0 commit comments