You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am extending Sophia to use [TriplesFormatter], and I find the above very inconvenient. Everytime I want to create a Subject or Term "view" of my internal terms, if that term is a quoted triple, I need to allocate a Rio Triplesomewhere that I can then reference. And I have to do this recursively, which is a pain. (I was unable to achieve that without some unsafe code...)
Did you run into a similar problem with Oxigraph? Did you find an elegant way to solve it?
I would suggest to change the variant in Subject and Term
Triple(Box<Triple<'a>>)
I think that the code of the parser would be minimally impacted by that change, and it would make it much easier to use the formatters.
If you agree with the general idea, I can propose a PR.
The text was updated successfully, but these errors were encountered:
Did you run into a similar problem with Oxigraph? Did you find an elegant way to solve it?
Yes, I ran into a similar problem and I have not found a way to elegantly solve it. I use Triple(Box<Triple<'a>>) just like you suggested inside of oxrdf.
If you agree with the general idea, I can propose a PR.
Just gave it a quick try, but unfortunately, this change is much more disruptive than I anticipated...
if we go that way, Subject and Term can not implement Copy anymore,
so Triple and Quad can't implement Copy either,
but the whole API assumes that Triple and Quad are copy, because the on_triple method passed to TriplesParser expects a Triple passed by value, not by reference (and similarly for QuadParser).
This would force implementation of TriplesParser to clone the triple before passing it to on_triple, possibly causing recursive clones of the boxed quoted triples, which would go against all the optimizations done by Rio for atomic terms...
I am moving forward well with my new N3/Turtle/N-Triples parser. It seems to be at least twice as fast as Rio. So, if you are fine to wait a bit I hope to release it in the next few month.
Subject
andTerm
both have a variant that goes:I am extending Sophia to use [
TriplesFormatter
], and I find the above very inconvenient. Everytime I want to create aSubject
orTerm
"view" of my internal terms, if that term is a quoted triple, I need to allocate a RioTriple
somewhere that I can then reference. And I have to do this recursively, which is a pain. (I was unable to achieve that without some unsafe code...)Did you run into a similar problem with Oxigraph? Did you find an elegant way to solve it?
I would suggest to change the variant in
Subject
andTerm
I think that the code of the parser would be minimally impacted by that change, and it would make it much easier to use the formatters.
If you agree with the general idea, I can propose a PR.
The text was updated successfully, but these errors were encountered: