ncbo / bioportal_web_ui

A Rails application for biological ontologies
http://bioportal.bioontology.org/
Other
21 stars 2 forks source link

Property "has endpoint" is missing from BAO property tree. #263

Closed mdorf closed 1 year ago

mdorf commented 1 year ago

Per a user report on the support list, the property "has endpoint" does not appear in the UI display of the ontology properties:

image

https://bioportal.bioontology.org/ontologies/BAO/?p=properties

A quick check of the /properties REST endpoint revealed that the property IS present in the result: https://data.bioontology.org/ontologies/BAO/properties

I believe the cause of the issue is in this code in the Ruby Client: https://github.com/ncbo/ontologies_api_ruby_client/blob/master/lib/ontologies_api_client/models/ontology.rb#L83

This code filters out all properties that have parents. The property "has endpoint" (http://www.bioassayontology.org/bao#BAO_0000208) does have a parent with ID "http://www.w3.org/2002/07/owl#topObjectProperty"

A further investigation is required on the proper fix for this issue.

jvendetti commented 1 year ago

I don't think there's an issue in the code - the property isn't missing as the end user originally reported.

has endpoint is present in the property tree underneath topObjectProperty:

Screen Shot 2023-05-10 at 4 12 15 PM

I believe this is the correct graphical representation because the ontology authors declared this property as a sub-property of topObjectProperty:

Screen Shot 2023-05-10 at 4 25 30 PM

There are other object properties displayed at the root of the property tree, and it's due to a lack of any subPropertyOf description. To follow are two axioms where the difference is visible:

<!-- http://www.bioassayontology.org/bao#BAO_0000208 -->

<owl:ObjectProperty rdf:about="http://www.bioassayontology.org/bao#BAO_0000208">
  <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/>
  <rdfs:label>has endpoint</rdfs:label>
</owl:ObjectProperty>

<!-- http://www.bioassayontology.org/bao#BAO_0002858 -->

<owl:ObjectProperty rdf:about="http://www.bioassayontology.org/bao#BAO_0002858">
  <rdfs:label xml:lang="en">has endpoint modifier</rdfs:label>
</owl:ObjectProperty>