ontodev/nanobot.rs

Add ontology term(s) tree JSON shape

Closed this issue · 0 comments

TODO: Finish writing this issue.

Building on XXXX, this issue is about the hierarchy. OLS does the best job of displaying ontology trees, so we should copy them. UBERON 'lung' is a good example of one of the most complex trees we would expect to have: https://www.ebi.ac.uk/ols/ontologies/uberon/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FUBERON_0002048.

The hierarchy is a tree view that locates the subject in the ontology, and should handle: classes, properties, individuals, and selected existential restrictions such as 'has part'; it should include all ancestors, children, and whether the child has children.

The JSON for the hierarchy should be a set of nested objects, starting from the root terms. We also need labels for all the terms.

Although ontology browsers usually focus on a single subject at a time, it would be good to think about how we would represent more than one subject. We should also think about representing subjects in graphs more generally, but ontologies with their subclass hierarchies are the priority.