The triple forms for data and the rule head are shared but the data block must not allow variables whereas the head does allow them.
There are two possibilities:
- a new set of productions that disallow variables i.e. duplicate the tree under TriplesTemplateBlock which is about another 15-20 productions
- Have a note that forbids variables in the DATA block. In effect, have a context flag.
(see the SPARQL Grammar Note 6 about
INSERT DATA, DELETE DATA ; SPARQL also has context restrictions on blank nodes so
"(no) variables x (no) blank nodes" for Turtle forms is a lot of grammar productions.