Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

lmmol.com is a cross-referenced biomedical knowledge graph assembled from open public data. It brings five kinds of entities into one navigable, machine-readable structure:

EntityCountIdentifierExample
Protein~575,503UniProt accessionP38398 (BRCA1)
Trial~589,453NCT idNCT00001496
Disease~139,194Mondo idMONDO_0016419
Gene~566,984gene symbolBRCA1
GO term~28,507GO idGO:0006281

These are cross-referenced: a protein links to its diseases, genes, and the literature; a clinical trial links to the conditions it studies; diseases link back to their proteins and trials; genes link to diseases through clinically-significant variants. The result is a graph you can walk from any starting point.

Two ways to find things

lmmol is built around the idea that search and browse are two ends of one spectrum of information-finding — and it serves both, for humans and for LLM agents.

  • Search — give a natural-language query, get back the most relevant entities ranked by semantic similarity. Good for "what is relevant to this idea?"
  • Browse — navigate a complete, multi-level index to land on exact entries and everything connected to them, with no loss. Good for "give me exactly this record, and all of its cross-references."

Browsing as an alternative to vector RAG

Most retrieval-augmented systems lean entirely on vector search: embed a query, fetch the nearest chunks, and hope the right facts are in there. lmmol's browse index is a plain, deterministic alternative. Every entity is reachable by following ids and paths — no embeddings, no similarity threshold, no truncation, nothing hidden. An LLM agent can walk

index.json → index/list/<type> → an entry → its cross-reference backlinks

to retrieve exactly the records it needs. Search is then one optional entry point into that graph, not the whole story. The rest of this book shows you how to use both.

What this book covers

Command-line tooling lives in separate projects; the data needs no special client, so everything here works with any HTTP library in any language.

Scope. This guide is about using lmmol.com's published data. It does not describe how that data is produced.