Status note (2026-04-19): as of this audit, no F* binary reader exists for HDT or HDTQ — the modules fix the interface only. See
2026-04-19-hdt-fstar-status.mdfor what is and isn't in F* today.
This note records the current native-F* direction for HDTQ-style quad storage.
Plain HDT is a good fit for read-mostly RDF graphs, but it is not a natural home for dataset semantics when named graphs matter.
For Factoidal, named graphs are not a cosmetic feature. They are units of:
So the dataset backend should not depend on pretending quads are an afterthought.
The new module:
defines the native F* representation for an HDTQ-style backend.
It does not yet implement a binary reader. What it does fix is the intended semantic boundary:
This keeps the SPARQL dataset semantics in F* while leaving the eventual physical implementation open.
The current model reflects the broad HDTQ picture:
Two annotation modes are represented:
HQ_AnnotatedGraphsHQ_AnnotatedTriplesThose are enough to capture the key design fork without forcing a specific on-disk layout yet.
This lets us target dataset-native backends without immediately deciding that:
Instead, the SPARQL layer can ask for:
and later bind that to:
Parser.BallyhooHDTQ.fst.Parser.BallyhooHDT.fst.