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:
| Entity | Count | Identifier | Example |
|---|---|---|---|
| Protein | ~575,503 | UniProt accession | P38398 (BRCA1) |
| Trial | ~589,453 | NCT id | NCT00001496 |
| Disease | ~139,194 | Mondo id | MONDO_0016419 |
| Gene | ~566,984 | gene symbol | BRCA1 |
| GO term | ~28,507 | GO id | GO: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
- Concepts & Terms — the entities, identifiers, and the node/edge model.
- Accessing the Data — base URL, endpoints, and the no-auth browse layer.
- Browsing the Index — the index, listings, entries, and backlinks.
- Searching — the search API and how to embed a query.
- Recipes — copy-paste tasks with
curland Python. - Data Sources & Licensing — where the data comes from and your obligations.
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.