VERSION has been introduce in N-Triples for consistency with Turtle/TriG. However, I am unsure if it's a good call.
The "pro" I see is that it allows parser to choke early on the VERSION statement (or return a nice warning?). However:
-
This makes NTriples syntax more complex. One can't just "parse" the files into a 3 columns subject/object/table by filtering out empty lines, trimming the end of line . then splitting twice on whitespaces sequences.
-
I am not sure VERSION will get used in practice. Indeed, most NTriples files are programmatically generated (people tend to write Turtle by hand) and for compatibility reason we suggest that streaming serializers don't emit VERSION to avoid backward compatibility issues. And most of the NTriples serializers are streaming (rdf4j, N3JS, oxttl, Jena, RDF4J...). So, to be emitted, users would have likely to opt-in to actively set it in the file and I am not sure people will actually bother for just slightly nicer error from old parsers (I definitely wouldn't).
Hence, it seems to me the added complexity in the NTriples syntax is not worth it (NTriples aims at being simple and regular)
VERSIONhas been introduce in N-Triples for consistency with Turtle/TriG. However, I am unsure if it's a good call.The "pro" I see is that it allows parser to choke early on the
VERSIONstatement (or return a nice warning?). However:This makes NTriples syntax more complex. One can't just "parse" the files into a 3 columns subject/object/table by filtering out empty lines, trimming the end of line
.then splitting twice on whitespaces sequences.I am not sure
VERSIONwill get used in practice. Indeed, most NTriples files are programmatically generated (people tend to write Turtle by hand) and for compatibility reason we suggest that streaming serializers don't emitVERSIONto avoid backward compatibility issues. And most of the NTriples serializers are streaming (rdf4j, N3JS, oxttl, Jena, RDF4J...). So, to be emitted, users would have likely to opt-in to actively set it in the file and I am not sure people will actually bother for just slightly nicer error from old parsers (I definitely wouldn't).Hence, it seems to me the added complexity in the NTriples syntax is not worth it (NTriples aims at being simple and regular)