[1] ldpatch ::= prologue
statement
*
[2] prologue ::= prefixID*
[3] statement ::= bind
|
add
|
addNew
|
delete
|
deleteExisting
|
cut
|
updateList
[4] bind ::= (
"Bind
" |
"B
")
VAR1
value
path?
".
"
[5] add ::= (
"Add
" |
"A
")
"{
"
graph
"}
"
".
"
[6] addNew ::= (
"AddNew
" |
"AN
")
"{
"
graph
"}
"
".
"
[7] delete ::= (
"Delete
" |
"D
")
"{
"
graph
"}
"
".
"
[8] deleteExisting ::= (
"DeleteExisting
" |
"DE
")
"{
"
graph
"}
"
".
"
[9] cut ::= (
"Cut
" |
"C
")
VAR1
".
"
[10] updateList ::= (
"UpdateList
" |
"UL
")
varOrIRI
predicate
slice
collection
".
"
[11] varOrIRI ::= iri
|
VAR1
[12] value ::= iri
|
literal
|
VAR1
[13] path ::= ("/
" step |
constraint)*
[14] step ::= "^
" iri
|
iri
|
INTEGER
[15] constraint ::= "[
" path ("=
" value)?
"]
"
|
#x21
[16] slice ::= INTEGER?
"..
"
INTEGER?
[143s] VAR1 ::= "?
"
VARNAME
[166s] VARNAME ::= (
PN_CHARS_U |
[
0-9
]
)
(PN_CHARS_U |
[
0-9
]
|
#x00B7
|
[
#x0300
-
#x036F
]
|
[
#x203F
-
#x2040
]
)*
[4t] prefixID ::= "@prefix
"
PNAME_NS
IRIREF
".
"
[18] graph ::= triples
(".
" triples?
)*
[6t] triples ::= subject predicateObjectList
|
blankNodePropertyList predicateObjectList?
[7t] predicateObjectList ::= verb
objectList
(";
" (verb objectList)?
)*
[8t] objectList ::= object
(",
" object)*
[9t] verb ::= predicate
|
"a
"
[10t] subject ::= iri
|
BlankNode
|
collection
|
VAR1
[11t] predicate ::= iri
[12t] object ::= iri
|
BlankNode
|
collection
|
blankNodePropertyList
|
literal
|
VAR1
[13t] literal ::= RDFLiteral
|
NumericLiteral
|
BooleanLiteral
[14t] blankNodePropertyList ::= "[
"
predicateObjectList
"]
"
[15t] collection ::= "(
"
object*
")
"
[16t] NumericLiteral ::= INTEGER
|
DECIMAL
|
DOUBLE
[128s] RDFLiteral ::= String
(LANGTAG |
"^^
" iri)?
[133s] BooleanLiteral ::= "true
"
|
"false
"
[17] String ::= STRING_LITERAL_QUOTE
|
STRING_LITERAL_SINGLE_QUOTE
|
STRING_LITERAL_LONG_SINGLE_QUOTE
|
STRING_LITERAL_LONG_QUOTE
[135s] iri ::= IRIREF
|
PrefixedName
[136s] PrefixedName ::= PNAME_LN
|
PNAME_NS
[137s] BlankNode ::= BLANK_NODE_LABEL
|
ANON
[18] IRIREF ::= "<
"
[
^
#x00
-
#x20
<>"{}|^`]
#x20
|
#x20
UCHAR)*
#x20
'>'
#x20
/*
#x20
#x00
=NULL
#x20
#x23
01-
#x1F
=control
#x20
codes
#x20
#x20
=space
#x20
*/
]
[139s] PNAME_NS ::= PN_PREFIX?
":
"
[140s] PNAME_LN ::= PNAME_NS
PN_LOCAL
[141s] BLANK_NODE_LABEL ::= "_:
"
(
PN_CHARS_U |
[
0-9
]
)
(PN_CHARS |
".
")*
PN_CHARS?
[144s] LANGTAG ::= "@
"
([
a-zA-Z
]
)+
("-
" ([
a-zA-Z0-9
]
)+
)*
[19] INTEGER ::= ([
+-
]
)?
([
0-9
]
)+
[20] DECIMAL ::= ([
+-
]
)?
([
0-9
]
)*
".
"
([
0-9
]
)+
[21] DOUBLE ::= ([
+-
]
)?
(
([
0-9
]
)+
".
" ([
0-9
]
)*
EXPONENT |
".
" ([
0-9
]
)+
EXPONENT |
([
0-9
]
)+
EXPONENT)
[154s] EXPONENT ::= [
eE
]
([
+-
]
)?
([
0-9
]
)+
[22] STRING_LITERAL_QUOTE ::= '"
'
([
^
#x22
#x5C
#xA
#xD
]
|
ECHAR |
UCHAR)*
'"
'
[23] STRING_LITERAL_SINGLE_QUOTE ::= "'
"
([
^
#x27
#x5C
#xA
#xD
]
|
ECHAR |
UCHAR)*
"'
"
[24] STRING_LITERAL_LONG_SINGLE_QUOTE ::= "'''
"
(
("'
" |
"''
")?
[
^']
#x20
|
#x20
ECHAR
#x20
|
#x20
UCHAR
#x20
)
#x20
)*
#x20
"'''"
]
)
[25] STRING_LITERAL_LONG_QUOTE ::= '"""
'
(
('"
' |
'""
')?
[
^"]
#x20
|
#x20
ECHAR
#x20
|
#x20
UCHAR
#x20
)
#x20
)*
#x20
'"""'
]
)
[26] UCHAR ::= "\u
" HEX HEX HEX HEX
|
"\U
" HEX HEX HEX HEX HEX HEX HEX HEX
[159s] ECHAR ::= "\
"
[
tbnrf"']
]
[161s] WS ::= #x20
|
#x9
|
#xD
|
#xA
[162s] ANON ::= "[
"
WS*
"]
"
[163s] PN_CHARS_BASE ::= [
A-Z
]
|
[
a-z
]
|
[
#x00C0
-
#x00D6
]
|
[
#x00D8
-
#x00F6
]
|
[
#x00F8
-
#x02FF
]
|
[
#x0370
-
#x037D
]
|
[
#x037F
-
#x1FFF
]
|
[
#x200C
-
#x200D
]
|
[
#x2070
-
#x218F
]
|
[
#x2C00
-
#x2FEF
]
|
[
#x3001
-
#xD7FF
]
|
[
#xF900
-
#xFDCF
]
|
[
#xFDF0
-
#xFFFD
]
|
[
#x10000
-
#xEFFFF
]
[164s] PN_CHARS_U ::= PN_CHARS_BASE
|
"_
"
[166s] PN_CHARS ::= PN_CHARS_U
|
"-
"
|
[
0-9
]
|
#x00B7
|
[
#x0300
-
#x036F
]
|
[
#x203F
-
#x2040
]
[167s] PN_PREFIX ::= PN_CHARS_BASE
(PN_CHARS |
".
")*
PN_CHARS?
[168s] PN_LOCAL ::= (
PN_CHARS_U |
":
" |
[
0-9
]
|
PLX)
(PN_CHARS |
".
" |
":
" |
PLX)*
(
PN_CHARS |
":
" |
PLX)
?
[169s] PLX ::= PERCENT
|
PN_LOCAL_ESC
[170s] PERCENT ::= "%
"
HEX
HEX
[171s] HEX ::= [
0-9
]
|
[
A-F
]
|
[
a-f
]
[172s] PN_LOCAL_ESC ::= "\
"
(
"_
" |
"~
" |
".
" |
"-
" |
#x21
|
"$
" |
"&
" |
"'
" |
"(
" |
")
" |
"*
" |
"+
" |
",
" |
";
" |
"=
" |
"/
" |
"?
" |
"#
" |
"@
" |
"%
")