# Package org.eclipse.rdf4j.rio.hdt

Parser/writer for the HDT v1.0 format.

See: Description

- Class Summary
  Class | Description
  --- | ---
  HDTParser | RDF parser for HDT v1.0 files.
  HDTParserFactory | An `RDFParserFactory` for HDT parsers.
  VByte | Variable byte encoding for numbers.

## Package org.eclipse.rdf4j.rio.hdt Description

Parser/writer for the HDT v1.0 format. Unfortunately the draft specification is not entirely clear and probably slightly out of date, since the open source reference implementation HDT-It seems to implement a slightly different version. This parser tries to be compatible with HDT-It 1.0. File structure:

     +---------------------+
     | Global              |
     | Header              |
     | Dictionary (Shared) |
     | Dictionary (S)      |
     | Dictionary (P)      |
     | Dictionary (O)      |
     | Triples             |
     +---------------------+

## General structure for Global, Header, Dictionary and Triples

These part all starts with `$HDT`, followed by a byte indicating the type of the part, the format, and optionally one or more `key=value;` properties. Then a `NULL` byte, followed by the 16-bit CRC (`$HDT` and `NULL` included)

     +------+------+--------+------+------------+------+-------+
     | $HDT | type | format | NULL | key=value; | NULL | CRC16 |
     +------+------+--------+------+------------+------+-------+

The `format` varies slightly: depending on the section, it can either be a string or a URI.

Copyright © 2015-2021 Eclipse Foundation. All Rights Reserved.