nesting of triple-terms only if predicate in the outer triple-term is rdf:nameOf

I was trying to create a (partial) grammar that allows nesting of triple-terms only if predicate in the outer triple-term is rdf:nameOf:

nofTripleTerm ::= ‘<<(‘ identifier rdf:nameOf tripleTerm  ‘)>>’
regTripleTerm ::= ‘<<(‘ subject predicate object ‘)>>’. # predicate != rdf:nameOf
tripleTerm ::= ( regTripleTerm | nofTripleTerm )

nofTriple ::= identifier rdf:nameOf tripleTerm
regTriple ::= (subject | identifier) predicate (object | identifier) # predicate != rdf:nameOf
triple ::= ( regTriple | nofTriple )

This is just for use during today's discussion in case it comes up.

Thanks,
Souri.

Received on Thursday, 29 February 2024 15:53:02 UTC