Colophon
lvciszh is a vocabulary browser for the Library of Congress Subject Headings (LCSH). It lets you navigate term relationships — especially broader and narrower hierarchies — through a web interface built for catalogers and subject-heading editors who need to see how a term fits within the wider vocabulary.
How it works
The LCSH MADS/RDF XML bulk download from id.loc.gov is fetched, streamed through an XML parser, and loaded into a SQLite database. Full-text search is powered by SQLite FTS5 with Porter stemming. Each subject page builds a directed acyclic graph (DAG) of the term's place in the hierarchy on the server, rendered client-side with d3-dag's Sugiyama layered layout so every node appears once even when a term has several broader terms (polyhierarchy).
Beyond the graph, lvciszh groups narrower and peer terms by their broader grouping — the set of broader terms they share — to make large relationship sets readable. Breadcrumb trails, expandable narrower terms, and prefix/variant search round out navigation.
Built with
Python and Flask; HTMX and Tailwind CSS on the front end; SQLite (with FTS5) for storage; and d3-dag for the hierarchy visualization. lvciszh is developed collaboratively by its maintainer and an AI coding assistant (Claude, via Claude Code).
Source & notes
The source code and the design and research notes (data lifecycle, the hierarchy-navigation analysis, and more) are on GitHub: github.com/dchud/lvciszh.