Description
@rubensworks brought up the need for quads in #125 , and since it hasn't been discussed much, I wanted to open an issue to make sure the discussion has a home.
I don't think it is so much that the graph name part of the quad is as afterthought in Solid, rather, it seems that there are a number of constraints on it that are silently acknowledged. Thus, I think that they need to be clearly formulated, so this is a start.
First, the original design of RDF was triple based, and there is a strong history behind this from the knowledge representation field, as it can be used to represent pretty much everything [citation needed]. A fourth term, initially usually called the context now usually called the graph was added to be able to divide the data set up better and talk about parts of it.
Eventually, SPARQL took this in fully, and SPARQL became defined in terms of quads, not just triples.
For Solid, the original idea of RDF as triples is strong, i.e. each individual resource has a representation that is just triples, not quads.
However, it is easy to identify a quad in this scheme too: The fourth component is the request URI identifying each resource. This seems to one of the not-very-outspoken understandings of Solid. Thus, Solid can also be thought of as quad-based.
With these ideas, such constraints apply:
- Graphs must identify an information resource.
- The URI of a graph should be dereferenceable.
- The resource representation referenced by a graph is usually under access control.
- Currently, the graph is the smallest unit information that can be under access control.
That's at least what springs to mind, at present, and I don't think these are very unreasonable constraints. It would be interesting to have this formalized by the academic community.