
Embl Ebi Ols
Wire agents and apps to EBI Ontology Lookup Service for term search, hierarchy traversal, and standardized biomedical labels.
Overview
EMBL-EBI OLS is an agent skill for the Build phase that maps the Ontology Lookup Service REST API for search, terms, and hierarchical ontology queries.
Install
npx skills add https://github.com/google-deepmind/science-skills --skill embl-ebi-olsWhat is this skill?
- Base URL and search, suggest, and select endpoints for cross-ontology lookup
- Ontology listing plus term retrieval by double-encoded IRI
- Parent, child, ancestor, descendant, and hierarchical relation routes beyond is-a
- Graph JSON endpoint for term neighborhood exploration
- Documents OLS4 base URL `https://www.ebi.ac.uk/ols4/api`
- Covers search, suggest, select, ontology, and term graph endpoint families
Adoption & trust: 542 installs on skills.sh; 1.7k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need standard ontology term IDs and parent graphs but manual OLS browsing does not scale inside an automated pipeline or agent tool.
Who is it for?
Indie bioinformatics tools, lab-notebook automations, and AI agents enriching scientific text with EBI-backed ontology links.
Skip if: General-purpose JSON APIs unrelated to ontologies or teams with no need for controlled vocabulary alignment.
When should I use this skill?
Calling EBI Ontology Lookup Service for term search, ontology browse, or parent and descendant expansion in scientific software.
What do I get? / Deliverables
Your integration calls the correct OLS4 paths for search, term detail, and ancestor or descendant expansion with encoded IRIs.
- API call sequences for search and hierarchical term resolution
- Encoded IRI patterns for term-specific OLS routes
Recommended Skills
Journey fit
Build/integrations is the canonical shelf because the skill is an API contract map for OLS4 REST endpoints. Integrations subphase reflects connecting products and research tools to external ontology services—not frontend polish or launch SEO.
How it compares
API integration reference for EBI OLS—not a full ontology reasoner or local OWL file editor.
Common Questions / FAQ
Who is embl-ebi-ols for?
Builders and agent authors integrating life-science products who must query public ontologies via the EBI OLS4 HTTP API.
When should I use embl-ebi-ols?
During Build when implementing term search, autocomplete, or hierarchy walks against `https://www.ebi.ac.uk/ols4/api`.
Is embl-ebi-ols safe to install?
It describes read-oriented public API usage; review the Security Audits panel on this page and avoid sending sensitive patient data in query strings.
SKILL.md
READMESKILL.md - Embl Ebi Ols
# OLS API Reference Base URL: `https://www.ebi.ac.uk/ols4/api` ## Key Endpoints ### Search & Suggest | Endpoint | Description | |---|---| | `/search?q={query}` | Full-text search across all ontologies | | `/suggest?q={query}` | Autocomplete suggestions for partial term names | | `/select?q={query}` | Select endpoint (similar to search with additional filters) | ### Ontologies | Endpoint | Description | |---|---| | `/ontologies` | List all ontologies | | `/ontologies/{id}` | Get ontology details | ### Terms (Classes) | Endpoint | Description | |---|---| | `/ontologies/{id}/terms` | List/browse terms in an ontology | | `/ontologies/{id}/terms/{iri}` | Get term by double-encoded IRI | | `/ontologies/{id}/terms/{iri}/parents` | Direct parents (is-a only) | | `/ontologies/{id}/terms/{iri}/children` | Direct children (is-a only) | | `/ontologies/{id}/terms/{iri}/ancestors` | All ancestors (is-a only) | | `/ontologies/{id}/terms/{iri}/descendants` | All descendants (is-a only) | | `/ontologies/{id}/terms/{iri}/hierarchicalParents` | Parents including transitive relations (part_of, develops_from) | | `/ontologies/{id}/terms/{iri}/hierarchicalChildren` | Children including transitive relations | | `/ontologies/{id}/terms/{iri}/hierarchicalAncestors` | All ancestors including transitive relations | | `/ontologies/{id}/terms/{iri}/hierarchicalDescendants` | All descendants including transitive relations | | `/ontologies/{id}/terms/{iri}/graph` | Graph JSON for a term | | `/ontologies/{id}/terms/roots` | Root terms of an ontology | | `/ontologies/{id}/terms/preferredRoots` | Preferred root terms | ### Properties | Endpoint | Description | |---|---| | `/ontologies/{id}/properties` | List properties in an ontology | | `/ontologies/{id}/properties/{iri}` | Get property details | | `/ontologies/{id}/properties/{iri}/parents` | Property parents | | `/ontologies/{id}/properties/{iri}/children` | Property children | | `/ontologies/{id}/properties/{iri}/ancestors` | Property ancestors | | `/ontologies/{id}/properties/{iri}/descendants` | Property descendants | | `/ontologies/{id}/properties/roots` | Root properties | ### Individuals (Instances) | Endpoint | Description | |---|---| | `/ontologies/{id}/individuals` | List individuals in an ontology | | `/ontologies/{id}/individuals/{iri}` | Get individual details | | `/ontologies/{id}/individuals/{iri}/types` | Get direct types (classes) | | `/ontologies/{id}/individuals/{iri}/alltypes` | Get all types including ancestors | ### Statistics | Endpoint | Description | |---|---| | `/v2/stats` | Index statistics (ontology/class/property/individual counts) | ## OBO ID Format OBO IDs follow the pattern `PREFIX:NUMBER`, e.g., `GO:0005634`. The corresponding IRI is typically: `http://purl.obolibrary.org/obo/PREFIX_NUMBER` (e.g., `http://purl.obolibrary.org/obo/GO_0005634`). When passing IRIs to the API, they must be **double URL-encoded**. ## Hierarchical vs Regular Relations - **Regular** (`parents`, `children`, `ancestors`, `descendants`): Follow only `subClassOf` (is-a) relationships. - **Hierarchical** (`hierarchicalParents`, `hierarchicalChildren`, etc.): Follow `subClassOf` **plus** transitive properties like `part of`, `develops from`, etc. This gives a more complete picture of the ontology structure. ## Common Ontology IDs | ID | Name | Focus | |---|---|---| | `go` | Gene Ontology | Molecular function, biological process, cellular component | | `doid` | Disease Ontology | Human disease classification | | `efo` | Experimental Factor Ontology | Experimental variables (GWAS, expression) | | `hp` | Human Phenotype Ontology | Human phenotypic abnormalities | | `chebi` | Chemical Entities of Biological Interest | Small molecules | | `mondo` | Mondo Disease Ontology | Cross-species disease integration | | `ncit` | NCI Thesaurus | Cancer-related terminology | | `cl` | Cell Ontology | Cell types | | `uberon` | Uberon | Cross-species anatomical structures | | `so` | Sequence Ontology |