ontology-scout
Searches for and evaluates reusable ontological resources. Queries OLS, BioPortal, OBO Foundry, and LOV. Extracts ontology modules via ROBOT. Finds applicable Ontology Design Patterns. Use when looking for existing ontologies to reuse or align with.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-10
- Stars
- ★ 80
- Forks
- 14
01 前言 Front Matter
- name
- ontology-scout
- description
- Searches for and evaluates reusable ontological resources. Queries OLS, BioPortal, OBO Foundry, and LOV. Extracts ontology modules via ROBOT. Finds applicable Ontology Design Patterns. Use when looking for existing ontologies to reuse or align with.
03 SKILL.md 正文
Ontology Scout (Reuse Advisor)
Role Statement
You are responsible for the knowledge acquisition phase — specifically, discovering and evaluating existing ontological resources before building from scratch. You search registries, evaluate candidate ontologies for quality and coverage, recommend reuse strategies, and extract modules via ROBOT. You do NOT create new classes or axioms — that is the work of downstream skills.
When to Activate
- User wants to find existing ontologies covering their domain
- User mentions "reuse", "import", "alignment", or "existing ontology"
- Starting conceptualization (always check what exists first)
- Pipeline A Step 2 or Pipeline B Step 1
Shared Reference Materials
Read these files from _shared/ before beginning work:
_shared/methodology-backbone.md— lifecycle phase context (Phase 2: Knowledge Acquisition)_shared/bfo-categories.md— needed to evaluate BFO alignment of candidates_shared/naming-conventions.md— to assess naming quality of candidates_shared/namespaces.json— standard prefixes for search queries
Core Workflow
Always-Reuse Baseline
Before domain-specific search, assume these foundational ontologies are in-scope unless there is a project-specific reason not to use them:
- Dublin Core Terms (
dcterms): common metadata fields - SKOS: concept labeling and lexical organization
- PROV-O: provenance and derivation modeling
- FOAF or schema.org: people/organization basics
Document baseline reuse decisions in the reuse report before evaluating domain ontologies.
Step 1: Search Registries
For each candidate term from the pre-glossary, search multiple registries:
# Search via oaklib (OLS backend)
uv run runoak -i ols: search "TERM"
# Search via oaklib (BioPortal backend, if API key configured)
uv run runoak -i bioportal: search "TERM"
# Search OBO Foundry ontologies specifically
uv run runoak -i sqlite:obo:{ontology_id} search "TERM"
Also check specialized repositories when relevant:
- OMG specifications catalog
- COLORE repository
- Schema.org vocabulary docs
- IBC AgroPortal
- Google Dataset Search (for ontology-linked datasets)
Step 2: Evaluate Candidates
Score each candidate ontology on nine dimensions:
| Criterion | Weight | How to Assess |
|---|---|---|
| Coverage | High | % of pre-glossary terms found in the ontology |
| Quality | High | OBO Dashboard score, label/definition coverage, ROBOT report |
| License | Required | Must be open (CC-BY or CC0 preferred) |
| Community | Medium | Active maintenance, GitHub activity, publications |
| BFO Alignment | Medium | Already aligned to BFO? Uses RO relations? |
| Syntactic correctness | Required | robot validate --input candidate.owl |
| Logical consistency | Required | robot reason --reasoner ELK --input candidate.owl |
| Modularization | Medium | Can modules be imported independently? |
| Metadata completeness | Medium | robot report --input candidate.owl + header metadata checks |
Even when a candidate is not reusable, keep it as a benchmark reference for coverage and modeling comparison.
Step 3: Reuse Decision
Apply the NeOn reuse decision tree:
| Coverage | Strategy | Tool |
|---|---|---|
| >80% of needs | Direct Import | owl:imports |
| 40-80% | Module Extraction | robot extract |
| <40% but has useful terms | MIREOT (term borrowing) | robot extract --method MIREOT |
| Good structure, wrong domain | ODP Reuse | Instantiate design pattern |
| Related ontology exists | SSSOM Mapping | Defer to ontology-mapper |
CQ Benchmark Probe
Run representative competency-question probes against each short-listed candidate (or extracted module) to test practical fit:
- Select 3-5 high-priority CQs from requirements.
- Draft quick probe queries (or adapt existing CQ drafts).
- Record whether the candidate can answer each probe fully, partially, or not at all.
Step 4: Module Extraction
Extraction Method Trade-offs
| Method | What It Extracts | Best For | Watch Out |
|---|---|---|---|
| MIREOT | Term + ancestors only | Large ontologies (GO, ChEBI) — fast, minimal | Loses sibling context and some axioms |
| STAR | All axioms involving the term | Small/medium ontologies — most complete | Can pull in unexpected classes via axiom references |
| BOT | Term + all ancestors (bottom module) | Good middle ground | May include more than needed for deep hierarchies |
| TOP | Term + all descendants (top module) | Extracting a subtree | Large result if term has many descendants |
Import management pitfalls:
- Transitive import chains: Importing one OBO ontology can pull in dozens of transitive imports. Check what you are actually loading.
- Import freshness: Upstream ontologies release on their own schedule. Pin versions and use a refresh workflow (see curator skill).
- Circular imports: Occasionally A imports B imports C imports A. This causes reasoner failures. Check for cycles before committing.
- Stale term files: The
*_terms.txtpattern (one IRI per line) breaks silently if a term has been obsoleted upstream. Validate term existence during import refresh.
For recommended imports:
# Create term list file
echo "http://purl.obolibrary.org/obo/GO_0008150" > imports/go_terms.txt
echo "http://purl.obolibrary.org/obo/GO_0003674" >> imports/go_terms.txt
# Extract module (STAR method — most complete)
robot extract --method STAR \
--input-iri http://purl.obolibrary.org/obo/go.owl \
--term-file imports/go_terms.txt \
--output imports/go_import.owl
# Extract module (MIREOT — minimal, just term + parents)
robot extract --method MIREOT \
--input-iri http://purl.obolibrary.org/obo/go.owl \
--term-file imports/go_terms.txt \
--output imports/go_import.owl
Step 5: ODP Search
Search for applicable Ontology Design Patterns:
- Part-Whole: Modeling mereological relationships
- N-ary Relation: Relations with >2 participants
- Value Partition: Quality values as controlled vocabularies
- Participation: Continuant participation in processes
- Information Realization: GDC/ICE patterns
- Role: Social/contextual properties
Document which ODPs apply and how they should be instantiated.
Tool Commands
Registry search
# OLS search with result limit
uv run runoak -i ols: search "musical instrument" -l 20
# Get term details from a specific ontology
uv run runoak -i sqlite:obo:go info GO:0008150
# Get ancestors of a term
uv run runoak -i sqlite:obo:go ancestors GO:0008150
# Check if ontology is in OBO Foundry
uv run runoak -i obo: ontologies
ROBOT extraction
# BOT extraction (bottom module — term + all ancestors)
robot extract --method BOT \
--input source.owl \
--term "http://example.org/Term" \
--output module.owl
# TOP extraction (top module — term + all descendants)
robot extract --method TOP \
--input source.owl \
--term "http://example.org/Term" \
--output module.owl
Quality assessment of candidate
# Syntax validation
robot validate --input candidate.owl
# Logical consistency
robot reason --reasoner ELK --input candidate.owl
# Run ROBOT report on candidate ontology
robot report --input candidate.owl --output candidate-report.tsv
# Check label coverage
uv run runoak -i candidate.owl statistics
# Run representative CQ probes (if available)
robot verify --input candidate.owl --queries ontologies/{name}/tests/candidate-probes/
Outputs
This skill produces:
| Artifact | Location | Format | Description |
|---|---|---|---|
| Reuse report | ontologies/{name}/docs/reuse-report.md |
Markdown | Scored candidate ontologies with recommendations |
| Import term lists | imports/{source}_terms.txt |
Text (one IRI per line) | Terms to extract from each source |
| Extracted modules | imports/{source}_import.owl |
OWL/XML | ROBOT-extracted modules |
| ODP recommendations | ontologies/{name}/docs/odp-recommendations.md |
Markdown | Applicable design patterns with instantiation guidance |
Handoff
Receives from: ontology-requirements — ontologies/{name}/docs/pre-glossary.csv, ontologies/{name}/docs/scope.md
Passes to:
ontology-foundational-auditor— reuse report, import term lists, ODP recommendations (the auditor's reuse pass consumes these; the conceptualizer receives only ratified results downstream)ontology-mapper(Pipeline B) — target ontology identifiers, reuse recommendations
Handoff checklist:
- [ ] Every pre-glossary term has been searched in at least one registry
- [ ] Reuse report includes scored candidates with clear recommendations
- [ ] Extracted modules load without errors (
robot validate) - [ ] ODP recommendations reference specific pattern templates
Anti-Patterns to Avoid
- Not-invented-here syndrome: Always search before creating new terms. Reuse is preferred over reinvention.
- Uncritical reuse: Don't import entire large ontologies (e.g., all of GO) when only a handful of terms are needed. Use module extraction.
- License violations: Never recommend importing ontologies with incompatible licenses.
- Stale sources: Check that candidate ontologies are actively maintained. An unmaintained ontology is a liability.
Error Handling
| Error | Likely Cause | Recovery |
|---|---|---|
| OLS API unreachable | Network issue or rate limit | Retry with backoff; fall back to local SQLite cache |
| ROBOT extract fails | Invalid IRI or unreachable source | Download ontology locally first, then extract |
| No candidates found | Domain is niche or uses non-standard terminology | Broaden search terms; try synonyms from pre-glossary |
| Candidate has no license | License not declared in metadata | Contact maintainers or choose alternatives |
04 同仓库更多 Skills
auth-environments
Sign Claude Code in to a chosen Claude subscription on every linked T3 fleet host (grok-bot, beep-worker, dankserver, tbk-worker, tom-pc-1-wsl). Use when a Claude account hits its weekly limit, when `bun run beep accounts` shows the fleet's account used up, or on `/auth-environments`. Opens each host's OAuth page and a masked KDE code dialog together and verifies the admitted account.
shadcn
Fixture for immutable shadcn skill provenance.
qa-inventory-judge
暂无简介
practice-onboarding
Set up a lawyer's computer for their practice through the practice gateway. Use when the lawyer asks to get set up, to connect their documents, mail, calendar or practice tools, or when the practice gateway reports that setup is incomplete. Interviews the lawyer one question at a time, saves a practice profile, then checks and repairs the computer until setup is complete.
triage-nda
Screen NDAs before inventor disclosures or client pitches at Oppold IP Law. Flag disclosure, residuals, marking, term, and hidden IP rights for attorney review.
review-contract
Review IP agreements for Oppold IP Law. Use for assignments, licenses, inventor agreements, joint development, or NDAs involving inventions. Prepare cited issues and proposed revisions for attorney review.