Expected behavior when serializing named graphs using a format that does not support named graphs

Hi

I would like some feedback on what people think the right behaviour should
be when serializing named graphs using a format that does not support named
graphs like Turtle or N-Quads.

These are :

   1. Raise an error: Indicate to the caller that the requested operation
   cannot be completed successfully. The output in this case is somewhat
   open-ended, in case of streaming there could be some output, though I would
   expect the output to be a subset of #2, not of #3.
   2. Only output triples from the default graph, but don't output triples
   from named graphs without raising an error.
   3. Output triples from the named graphs without a graph label without
   raising an error.


To me, #1 seems right - though Python RDFLib does #3 and Jena does #2.

Two GitHub issues related to this are:

- <https://github.com/RDFLib/rdflib/issues/2393>: Formats that don't
support named graphs serialize Datasets and ConjunctiveGraphs with
non-default graphs without raising any errors
- <https://github.com/apache/jena/issues/1873>: Using riot with N-Quads
input with named graphs and N-Triples/Turtle output silently drops part of
the input #1873

Regards
Iwan Aucamp

Received on Saturday, 20 May 2023 22:16:46 UTC