w3c / rdf-new

https://w3c.github.io/rdf-new/
Other
5 stars 2 forks source link

The relationship between N-Triples and N-Quads should be 'extended by' #2

Open pchampin opened 1 year ago

pchampin commented 1 year ago

Figure 1 shows that

I suggest that the latter be replaced by 'N-Triples is extended by N-Quads'. After all, all N-Triples files are valid N-Quad files, as much as they are valid Turtle (or TriG) files.

gkellogg commented 1 year ago

I agree that there should be a normative relationship between N-Quads and N-Triples.

afs commented 1 year ago

Some caution is needed because the MIME type isn't compatible.

"extends" could be "extends-syntax" or "extends-spec". The specs include the MIME type registrations. A title "RDF 1.0 and 1.1 serialization formats" isn't clear which is meant.

request: Accept: application/n-quads

response: is that 415? What about Content-type: application/n-triples?

Content-type: application/n-triples will be puzzling to people even if it's not strictly illegal by HTTP specs. A webserver serving files (and not RDF aware) is more likely to respond 415 (Unsupported media type).

For rdf-new, it is "extends-syntax" and this should be clear somehow in the figure, or maybe with some explanatory text.

pchampin commented 1 year ago

@afs I agree with everything you write. My point was, however, that the relationship in the diagram between N-Triples and N-Quads should be the same as between N-Triples and Turtle (and between Turtle and TriG), because this is indeed the same relationship (syntax extension, with a new MIME type in all cases).

afs commented 1 year ago

@pchampin We are in agreement as to the intent and that the same link name should be used.

The doc needs to be clear what "extends" means in the figure.

gkellogg commented 1 year ago

Some caution is needed because the MIME type isn't compatible.

"extends" could be "extends-syntax" or "extends-spec". The specs include the MIME type registrations. A title "RDF 1.0 and 1.1 serialization formats" isn't clear which is meant.

request: Accept: application/n-quads

response: is that 415? What about Content-type: application/n-triples?

Content-type: application/n-triples will be puzzling to people even if it's not strictly illegal by HTTP specs. A webserver serving files (and not RDF aware) is more likely to respond 415 (Unsupported media type).

For rdf-new, it is "extends-syntax" and this should be clear somehow in the figure, or maybe with some explanatory text.

Note that the RDF 1.1 group did this for TriG, which is defined as being an extension of Turtle, but the MIME type is different (text/turtle vs application/trig)

From Introduction to TriG:

This document defines TriG, a concrete syntax for RDF as defined in the RDF Concepts and Abstract Syntax document [RDF11-CONCEPTS]. TriG is an extension of Turtle [TURTLE], extended to support representing a complete RDF Dataset.

The IANA section makes no mention of Turtle.

The N-Triples spec says it's a subset of Turtle, rather than Turtle being an extension of N-Triples (which makes sense to me):

This document defines N-Triples, a concrete syntax for RDF [RDF11-CONCEPTS]. N-Triples is an easy to parse line-based subset of Turtle [TURTLE].

There is this statement in 6.1 Other Media Types:

As N-Triples is a subset of Turtle an N-Triples document may also be provided as text/turtle. In both of these cases the document is not an N-Triples document as an N-Triples document is only provided as application/n-triples.

You might also say that an N-Triples document could be used as application/n-quads, although that would create an interdependency that doesn't seem like a good idea.

The Security Considerations section of N-Triples mistakenly has the following sentence:

Any person or application that is writing or interpreting data in Turtle must take care to use the IRI that matches the intended semantics, and avoid IRIs that make look similar. Further information about matching of similar characters can be found in Unicode Security Considerations [UNICODE-SECURITY] and Internationalized Resource Identifiers (IRIs) [RFC3987] Section 8.

TallTed commented 1 year ago

[@gkellogg] The Security Considerations section of N-Triples mistakenly has the following sentence:

Which sentence is the mistake? (The paragraph contains two...) And what would be the fix (which would seem to fall into our purview to correct)?

gkellogg commented 1 year ago

The statement is about Turtle, not N-Triples. Obviously copy/pasted from Turtle, but it is a consideration for N-Triples. (Same reasoning for N-Quads).

TallTed commented 1 year ago

So the fix is to change interpreting data in Turtle to interpreting data in N-Triples? That seems quick and easy...

gkellogg commented 1 year ago

So the fix is to change interpreting data in Turtle to interpreting data in N-Triples? That seems quick and easy...

Yes, it certainly is easy; at this point, I'm not making changes (no editor has been assigned). I was just looking for precedent to be able to consider N-Quads and Turtle as extending N-Triples, and TriG extending Turtle and noted the issue to be addressed as part of our TODO list.