Open donpellegrino opened 1 year ago
I agree that this would be very useful as hdt-cpp can be a bit difficult to install (except when using it over Docker but not everyone has that installed). However I estimate that this would be a lot of work, as this library currently is read-only and has no HDT creation capability at all. Unfortunately I cannot spend much time for HDT right now so successfully implementing this would probably require outside assistance, e.g. via a pull request.
That makes sense. I may try to create a Rust wrapper over hdt-cpp and put it out as a separate stand-alone create. Assuming that works, then some future pull request could just have this hdt create call the wrapper for convenience of interface if desired.
That sounds great! I have no experience with Rust interfacing C++ though and hope that it is not too difficult to handle the direct and transitive dependencies of hdt-cpp, do those then need to be wrapped as well?
I have no idea yet. Based on "Rust for Rustaceans," "Chapter 11: Foreign Function Interfaces," it looks like https://crates.io/crates/cxx is a good starting point. I still need to read through the cxx documentation.
It would be a valuable enhancement to create HDT files from RDF text serialization formats. A pure Rust implementation would be ideal, but a Rust wrapper over hdt-cpp would be a convenient alternative.