KonradHoeffner / hdt

Library for the Header Dictionary Triples (HDT) compression file format for RDF data.
https://crates.io/crates/hdt
MIT License
20 stars 4 forks source link

Create HDT files from RDF #37

Open donpellegrino opened 1 year ago

donpellegrino commented 1 year ago

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.

KonradHoeffner commented 11 months 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.

donpellegrino commented 11 months ago

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.

KonradHoeffner commented 11 months ago

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?

donpellegrino commented 11 months ago

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.