Open jamesamcl opened 1 year ago
I REALLY hate the way this works in OLS3.
You can resolve TopObjectProperty at https://www.ebi.ac.uk/ols/api/ontologies/efo/properties/http%253A%252F%252Fwww.w3.org%252F2002%252F07%252Fowl%2523TopObjectProperty. It has is_root
true BUT has_children
false!
Yet you CAN retrieve its children (even though we were just told it didn't have any): https://www.ebi.ac.uk/ols/api/ontologies/efo/properties/http%253A%252F%252Fwww.w3.org%252F2002%252F07%252Fowl%2523TopObjectProperty/children
And they also have is_root
true. So both TopObjectProperty
and its children are roots, which totally breaks the whole purpose of is_root
.
I think we should make a breaking change and completely remove this behaviour in OLS4 even for the OLS3 backwards compatibility layer. There's never any reason to retrieve TopObjectProperty. It's not part of the ontology, it's an implicit part of the OWL spec. The OLS3 behaviour feels like a bug to me and we probably would have fixed it in OLS3 if OLS4 wasn't being developed.
@henrietteharmse @dosumis what do you think?
OLS3:
OLS4: