Skip to content

Do we really need VERSION in N-Triples/Quads syntax? #112

@Tpt

Description

@Tpt

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:

  1. 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.

  2. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions