specification icon indicating copy to clipboard operation
specification copied to clipboard

Create serialization format goals and strategy

Open RubenVerborgh opened this issue 3 years ago • 5 comments

RubenVerborgh avatar Sep 21 '22 16:09 RubenVerborgh

Document our goals/intentions: explicitly write down what we want (and do not want) to achieve with serialization.

  • For dereferenceable resources (distinct from ephemeral messages that are being passed), one should be able to publish them from a Solid Storage in a reliable way. (Including any storage backed by quad store / SPARQL endpoint)
  • Clients should be able to work with just one parser, especially PWA/SPA which needs to keep their bundles low
    • Turtle/Trig parser can be very efficient
    • JSON-LD parser might be easier when the client is also compacting and/or framing internally

elf-pavlik avatar Sep 21 '22 20:09 elf-pavlik

@elf-pavlik Thanks! Could you detail/specify "reliable" in your comment above?

RubenVerborgh avatar Sep 23 '22 11:09 RubenVerborgh

For dereferenceable resources (distinct from ephemeral messages that are being passed), one should be able to publish them from a Solid Storage in a reliable way. (Including any storage backed by quad store / SPARQL endpoint)

To my understanding, Solid Storage does NOT guarantee preserving any formatting specific to the serialization used to set the full state of the RDF Source. This includes Turtle comments and prefixes, as well as JSON-LD @context and framing.

While some implementations may choose to preserve those details, or it can happen as a simple consequence of using a specific configuration (e.g. filesystem-based persistence). As long as requirements in the spec do not guarantee that, I think we should consider it unreliable.

NOTE: I don't think spec should guarantee storage to preserve format details for specific RDF serialization, if this needs to be discussed there are separate issues already open

elf-pavlik avatar Sep 23 '22 13:09 elf-pavlik

For the record, I do not have any preferences, not do I propose that this issue becomes a discussion of such preferences. Rather, this is a work item that needs to be carried out, and specific discussion probably need specific issues.

I've created #465 as a place to discuss these preferences.

rubensworks avatar Oct 10 '22 08:10 rubensworks