Skip to content

The open relational mesh for biology.

Rafflesia Ontology declares the namespaces, coordinate frames, relation shapes, and measured bridges between biological databases. Rafflesia curates and serves the bytes; Requel loads generated RQL bindings to make agent research version-controlled, reviewable, and reproducible.

CLI

Unified biological knowledge

One identity across every source.

Biological data lives in dozens of sources, and each one names the same thing its own way: different ids, different conventions, different coordinates, all describing the same underlying biology. Rafflesia Ontology preserves those distinct value spaces and declares evidence-backed correspondences between them, so similarity is never mistaken for equality.

  • Every identifier carries a declared namespace, so look-alike ids never match by accident
  • Values that share a name but not a meaning stay distinct until an equivalence is declared
  • Every source is checked against one shared, versioned schema before a join is allowed
structures@rcsb
structure_id1ABCpdb_id
chain_idAauth_asym
residue_number142auth_seq
residues@pdbe
structure_idstr_88213pdbe_uid
chain_idBlabel_asym
residue_number20label_seq

[ Starlark → SQL ]

Starlark modules that render to inspectable SQL.

Rafflesia Ontology is authored as portable YAML and deterministically exports ordinary .rql modules. Those generated modules declare relations, keys, value spaces, and measured bridges without making Requel the ontology owner. A project’s callable entrypoint declares params(...) and def query(p), then returns reviewed SQL fragments. requel render loads the mesh bindings and lowers those fragments to the configured connector’s SQL dialect while keeping caller values bound.

Starlark
# One row per detected pocket.
pocket_features = relation(
backing = "pocket_features",
key = ["structure_id", "pocket_id"],
doc = "Measured features for one detected pocket.",
)

A reusable module declares the physical source, key, and grain once. Entrypoints load the exported relation by path.

[ Benchmark ]

The same models, far better with the ontology.

Point a frontier model at raw biological tables and it guesses at joins and identifiers. Give it the typed ontology and the same model answers correctly far more often, because the meaning it needs is declared instead of inferred. The lift holds across models.

Answer accuracy on biology queries · higher is better