INCATools / INCATools/ontology-access-kit
Add a generate-categories method
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
Interface:
tbd
- add to BasicOntologyInterface
- make a new interface
?
the input will be a curie or curies, and an optional list of preferred systems, drawn from:
- biolink
- cob
- UMLS STY
- owl vocabulary (e.g. owl:Class)
- design pattern
these are typically indicated via rdf:type (but not in OWL-DL), dc:conformsTo, subproperties of rdf:type (e.g. biolink:category)
the results will be an iterator of tuples (curie, system, category_curie)
Implementation:
not all implementations will be able to resolve this for all systems. if the preferred systems is empty, it will do a best effort. if preferred systems are passed and cannot be satisfied, throw a NotImplemented
for now start with ubergraph, this precomputes biolink categories, so it should be a simple lookup query
out of scope for this issue but in future:
- add cob categories to ubergraph implementation, depends on https://github.com/INCATools/ubergraph/issues/55
- use either graph walking or relation-graph (e.g. for sqldb which already loads RG) to compute other categories - related to what @jhc is doing
Contributor guide
Assessment
This issue has not been assessed yet.