Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HDT parse support #101

Open
KonradHoeffner opened this issue Sep 8, 2022 · 5 comments
Open

HDT parse support #101

KonradHoeffner opened this issue Sep 8, 2022 · 5 comments

Comments

@KonradHoeffner
Copy link

Given that they are much smaller than other serialization formats, it would be very useful to load HDT (Header, Dictionary, Triples) files with rio.
There seem to be only C++ and Java libraries that handle HDT right now, so having this in the Rust world would allow users to create even more performant RDF applications with Rust.

@Tpt
Copy link
Collaborator

Tpt commented Sep 10, 2022

Yes, it would be great indeed. But to provide efficient access to the HDT file the reader should expose a quite different API from the one of the other RDF format parsers.

@KonradHoeffner
Copy link
Author

In that case it would maybe make sense to create a separate HDT crate. I will give it a try, as there seems to exist no such thing at the moment, at least I didn't find anything on crates.io and didn't receive any answers at https://softwarerecs.stackexchange.com/questions/83973/rdf-hdt-header-dictionary-triples-library-in-rust.

@KonradHoeffner
Copy link
Author

Update: I found a prototype at https://github.com/timplication/hdt-rs/ and extended it at https://github.com/konradhoeffner/hdt-rs, maybe this could be useful to you, however it is quite complicated and I can't guarantee if everything is working as intended or performant enough.

@Tpt
Copy link
Collaborator

Tpt commented Oct 4, 2022

@KonradHoeffner Thank you so much for this work!

@KonradHoeffner
Copy link
Author

Thanks! The vast majority was done by @timplication though, I'm just trying to add the things that are missing :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants