Interface ObsoleteTermCorrectionService
- All Known Implementing Classes:
ObsoleteTermCorrectionServiceImpl
public interface ObsoleteTermCorrectionService
Rewrites annotations that use an obsolete ontology term to the successor the ontology asserts.
Only acts on terms OntologyService.findObsoleteTermsInUse(long, TimeUnit) marked
autoCorrectable — i.e. where the replacement was DERIVED from IAO:0100001 or a merge record
rather than decided by anyone. A term whose ontology offers only oboInOwl:consider candidates is never
touched here; choosing between them is curation and belongs to a curator.
- Author:
- phase 3 ontology maintenance
-
Field Summary
FieldsModifier and TypeFieldDescriptionTerms that are mechanically correctable but that Paul has deferred (2026-08-19). -
Method Summary
Modifier and TypeMethodDescriptionapply(Collection<String> uris, boolean dryRun, long timeout, TimeUnit timeUnit) Apply the corrections.
-
Field Details
-
DEFERRED_URIS
Terms that are mechanically correctable but that Paul has deferred (2026-08-19). They are skipped unless a caller names one explicitly inuris, so a blanket run can never sweep them up.EFO_0000408is the "disease" CATEGORY on ~7,600 experiments, so correcting it rewrites the shape of the annotation rather than one of its terms.OBI_0003109is single-NUCLEUS RNA-seq, which OBI merged into the general single-CELL term — mechanically correct and semantically lossy, since it discards a distinction Gemma can currently make on 321 experiments.
-
-
Method Details
-
apply
ObsoleteTermCorrectionResult apply(Collection<String> uris, boolean dryRun, long timeout, TimeUnit timeUnit) throws TimeoutException Apply the corrections.- Parameters:
uris- restrict to these obsolete term URIs; empty or null means every auto-correctable term exceptDEFERRED_URIS. Naming a deferred term here does act on it — that is the deliberate override.dryRun- when true, nothing is written and nothing is resynced, but the returned counts are the ones a live run would produce.timeout- budget for resolving terms against the loaded ontologies- Throws:
TimeoutException
-