Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Biolink 4.2.0 issue with 'treats' predicates #2339

Closed
amykglen opened this issue Jul 31, 2024 · 4 comments
Closed

Biolink 4.2.0 issue with 'treats' predicates #2339

amykglen opened this issue Jul 31, 2024 · 4 comments
Assignees
Labels

Comments

@amykglen
Copy link
Member

so @mohsenht kindly brought it to my attention that PloverDB (2.10.0c) isn't answering this related_to query in an undirected fashion:

{
   "edges":{
      "e00_1":{
         "object":"n00",
         "subject":"n00_1",
         "predicates":[
            "biolink:related_to"
         ]
      }
   },
   "nodes":{
      "n00":{
         "ids":[
            "UMLS:C2931133"
         ]
      },
      "n00_1":{
         "ids":[
            "UMLS:C0279936"
         ]
      }
   }
}

it gives an answer as is, but if you swap the subject/object, it doesn't give any answers. which isn't how predicate reasoning is supposed to work (since related_to is a symmetric predicate).

I traced this to an issue in Biolink 4.2.0 (which KG2.10.0 uses) where the treats predicate (and other treats-ish predicates) aren't listed as descendants of the overarching related_to predicate. this apparently caused issues for other teams as well (e.g., see this comment) and was fixed in Biolink 4.2.1.

I rebuilt a dev Plover using Biolink 4.2.1 and the query is now answered properly (and all other Plover pytests still pass as well). I'm going to push this change so that it goes to the ITRB CI Plover, but I think we should also likely bump up ARAX/KG2 API's Biolink version to 4.2.1. I will try this in a branch and see if anything breaks..

I think Biolink 4.2.0 and 4.2.1 are otherwise similar enough that we shouldn't have issues with KG2pre being on 4.2.0 while the rest of the system is on 4.2.1, but I wonder if it would be easy enough to use Biolink 4.2.1 (or later) in the next build of KG2pre? (@ecwood)

@amykglen amykglen added the bug label Jul 31, 2024
@amykglen amykglen self-assigned this Jul 31, 2024
@amykglen
Copy link
Member Author

amykglen commented Jul 31, 2024

I suppose I should add - the distinction between regular predicates and mixin predicates in Biolink is becoming very confusing to me - I've reached out to Sierra about this to get some clarification. basically now some, but not all(?), mixin predicates are descendants of related_to, the root regular predicate.. so if we are using mixin predicates on edges in KG2pre other than treats and treats_or_applied_or_studied_to_treat, those may still produce the same issue as we were seeing here..

@ecwood
Copy link
Collaborator

ecwood commented Aug 1, 2024

It shouldn't be difficult to use Biolink 4.2.1 in the KG2.10.1 build. Also, if you get clarification on the regular/mixin predicates from Sierra, please let me know (this has a significant impact on KG2pre as well).

We are also using studied_to_treat and applied_to_treat on edges, but I'm not sure if those are mixins.

@amykglen
Copy link
Member Author

amykglen commented Aug 2, 2024

awesome, thanks! I think in 4.2.1 studied_to_treat and applied_to_treat are not mixins, but I don't get why they wouldn't be while treats_or_applied_or_studied_to_treat is... rather confusing. :) I'll let you know what I hear!

@colleenXu
Copy link

Our team suggests using 4.2.2 instead. We noticed a domain/range problem with 4.2.1 that we thought could affect the reasoner-validator (see this comment).

So we waited until 4.2.2 released and are now planning to use it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants