Automic VaultAutomic Vault

brew

Install hdt with Homebrew, Nix

Header Dictionary Triples (HDT) is a compression format for RDF data. Version 1.3.3 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install hdt

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#hdt

nixpkgs package indexes · pkgs/by-name/hd/hdt/package.nix · source: api.github.com

overview

Package summary

Header Dictionary Triples (HDT) is a compression format for RDF data

Commands and aliases

  • hdt2rdf
  • hdtInfo
  • hdtSearch
  • modifyHeader
  • rdf2hdt
  • replaceHeader
  • searchHeader

history

Project history and usage

HDT, short for Header, Dictionary, Triples, is a compact binary representation for RDF datasets. The Homebrew package builds the C++ library and command-line tools that create, inspect, query, and convert HDT files.

Project history

HDT emerged from Semantic Web research on publishing and exchanging very large RDF graphs without the verbosity of textual RDF serializations. The W3C Member Submission dated 30 March 2011 describes HDT as a binary RDF format organized around a header, a dictionary of terms, and compressed triples.

The RDF HDT project presents the format as both a data structure and serialization: the dictionary replaces repeated RDF terms with identifiers, the triples component stores graph structure compactly, and the header carries metadata about the dataset. The format was later described in publications from ISWC 2010, WWW 2012, ESWC 2012, and a 2013 Web Semantics journal article listed by the project.

The hdt-cpp repository is the C++ implementation and tool suite. Its README describes tools such as rdf2hdt for creating HDT from RDF, hdt2rdf for exporting RDF, hdtSearch for triple-pattern queries, hdtInfo for headers, and replaceHeader for metadata maintenance. GitHub release history shows a post-Google-Code release in 2015, which reflects a migration from earlier hosting into the GitHub-centered packaging era.

Adoption history

HDT adoption grew around Linked Data distribution, where the pain point is not just storing RDF but moving and querying huge dumps. The RDF HDT site lists use cases such as sharing RDF data on the Web, mirroring SPARQL endpoints, data analysis, visualization, embedded devices, and federated querying.

The project's datasets page shows HDT used to distribute large public knowledge graphs, including DBpedia, Freebase, YAGO, WordNet, DBLP, and multiple Wikidata dumps. That page also notes collections with billions of triples, including LOD-a-lot, demonstrating HDT's role as an interchange format for people who need local, compressed, indexed RDF snapshots.

The implementation family includes C++ tools, Java libraries, Jena integration, a GUI, an online conversion service, and HDT-backed dataset publishing. The Homebrew `hdt` formula packages the Unix CLI side of that ecosystem for local conversion and inspection.

How it is used

Typical command-line usage starts with converting an RDF serialization to an HDT file using rdf2hdt. A user can then query it interactively with hdtSearch, export it back with hdt2rdf, inspect metadata with hdtInfo, or replace header information without rebuilding the whole dataset.

HDT is read-optimized. Its project site emphasizes that an HDT file is already indexed and can be searched or browsed without prior decompression, which is why it is attractive for large dumps that would otherwise require a database import before the first useful query.

Why package nerds care

For package maintainers, hdt is a classic data-tool package: a research format turned into a practical CLI. It pulls in native C/C++ build tooling, RDF parser dependencies such as Serd, and compression support, then exposes a small set of executables that slot into data-publishing pipelines.

The package matters because RDF dump users often want repeatable local workflows rather than a bespoke triplestore setup. Installing hdt gives them the compact-file workflow directly: convert, inspect, query, and ship a single indexed artifact.

Timeline

  • 2010: HDT was presented in ISWC slide material on compact representation of large RDF datasets.
  • 2011-03: W3C published the HDT Member Submission.
  • 2012: HDT work appeared at ESWC and WWW venues on exchanging and consuming huge RDF data.
  • 2013: The project lists the Web Semantics article Binary RDF Representation for Publication and Exchange (HDT).
  • 2014-04: The hdt-cpp GitHub repository was created.
  • 2015-12: hdt-cpp v1.1.1 was published as a post-Google-Code release.
  • 2017-09: hdt-cpp v1.2.0 was released.
  • 2019-01: hdt-cpp v1.3.3 added bug fixes and 64-bit support.

Related projects

  • hdt-java provides Java libraries around the same HDT format.
  • Jena integration and Fuseki support connect HDT files to SPARQL tooling.
  • LOD-a-lot and LOD Laundromat are related large-scale Linked Open Data distribution efforts that make HDT attractive.
  • DBpedia, Wikidata, YAGO, Freebase, WordNet, and DBLP appear as datasets distributed or mirrored in HDT form.

security posture

Risk level: yellow

broad file, network, media, or database tool signal. generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • broad file, network, media, or database tool signal
  • generalized runtime or code generation signal

Signals

  • text:compress
  • text:repl

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 4 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
hdt2rdfcliglobal executable
hdtInfocliglobal executable
hdtSearchcliglobal executable
modifyHeadercliglobal executable
rdf2hdtcliglobal executable
replaceHeadercliglobal executable
searchHeadercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.3.3
manager updated
local dataok
upstreamcurrent
latest detectedv1.3.3

https://github.com/rdfhdt/hdt-cpp

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:hdt
Version1.3.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/hdt
Homepagehttps://github.com/rdfhdt/hdt-cpp
Repositoryhttps://github.com/rdfhdt/hdt-cpp
Upstream docshttps://www.rdfhdt.org/manual-of-the-c-hdt-library
LicenseLGPL-2.1-or-later
Source archivehttps://github.com/rdfhdt/hdt-cpp/archive/refs/tags/v1.3.3.tar.gz
Dependenciesserd
Build dependenciesautoconf, automake, libtool, pkgconf
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namehdt
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

hdt

nix profile install nixpkgs#hdt
  • normalized package name match
  • Matched by: Hdt
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/hd/hdt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment