Proposed new work item

Dear all,

I submitted a new work item some time ago

   https://github.com/w3c-cg/r2c2/pull/6

which has not received much feedback...

I realize that maybe I should have advertised it on this mailing list as 
well, which is now done.

Also, in order to make the discussion a little more concrete, I 
populated this PR with a first draft of how I imagine this crate. More 
specifically:

- it contains the following traits: Subject, Predicate, Object, 
GraphName, Triple and Quad, which all implementations of the 
corresponding RDF concepts would be expected to implement ; implementing 
these traits is lightweight (only one required method) and relatively 
straightforward (see below).

- in order to check the "implementability" and "usability" of these 
traits, I also included two "proof-of-concept" implementation of them, 
for oxrdf and for rdf_types. This confirmed the good properties listed 
above (lightweight and straightforward), despite some minor impedance 
mismatches. Note that these proof-of-concept implementations are not 
expected to be shipped with the R2C2 crate, they are only here to help 
us discuss and evaluate the design of the crate.

- I also wrote some unit tests that check that the proof-of-concepts 
implementations work correctly and provide interoperability, by checking 
the following round trips:

   - oxrdf -> R2C2 -> oxrdf
   - rdf_types -> R2C2 -> rdf_types
   - rdf_types -> R2C2 -> oxrdf -> RC2C -> rdf_types
   - oxrdf -> R2C2 -> rdf_types -> R2C2 -> oxrdf

Keep in mind that this is a first step only. I do not consider anything 
in the proposed code to be final, just a base for discussion. And I 
believe that discussing on this base and iteratively improving it will 
be easier than discussing in a void. So unless you think this is going 
in a totally wrong direction, and would rather start afresh (which I'm 
also ready to hear 😉), please approve the PR.

   pa

Received on Monday, 21 April 2025 14:58:14 UTC