Description
The Interoperability between RDF Classic and RDF Full section is labeled as non-normative, but it includes content that uses normative terms, such as "MUST":
In subsection From Full to Classic:
Note that this transformation is information preserving only when the input graph either has no triple term appearing in it, or contains no asserted triple (b, rdf:type, rdf:TripleTerm) where b is a blank node. Implementations encountering this situation MUST report an error.
In subsection From Classic to Full:
An implementation MUST report an error if, for a given b, it can not unambiguously determine s, p, or o (i.e., if one of the properties of b — rdf:ttSubject, rdf:ttPredicate, or rdf:ttObject — is missing or duplicated). An implementation MUST also report an error if the input graph contains at the same time a triple term and an asserted triple (b, rdf:type, rdf:TripleTerm) where b is the same blank node.
Whether the subsections are intended to be normative may be unclear. Worst case scenario is that they are interpreted as non-normative given the overarching label on its parent section. If these subsections are intended to be normative, they should be labelled as such in order to better distinguish themselves from the parent section's non-normative. And in that case, the normative language (i.e., the "MUST"s) can remain as is. If however these subsections are intended to be non-normative, then the content should be updated to not use normative language (i.e., the "MUST"s). And in that case, this issue is similar to #181 and #183 , and see also #182 .