QGI not interpreting query graph correctly
In this result: https://arax.ncats.io/?r=50233 This query:
{
"edges": {
"e00": {
"subject": "n00",
"object": "n01"
}
},
"nodes": {
"n00": {
"ids": ["MONDO:0021783"],
"categories": ["biolink:Disease"]
},
"n01": {
"categories": ["biolink:ChemicalEntity"]
}
}
}
Should match this template. However, it appears to be matching this template instead.
@edeutsch Is the QGI greedy, in that it selects the first template it sees and just runs with it? I figured since this query matched a more specific one, it would have triggered that.
It's been a long time since I looked at this code, but I'm pretty sure to computes a goodness-of-match for all possible templates and selects the closest. Not the just first.
Ok, I'll keep poking at it
So I figured out what was going on: a) categories were being ignored if curies were present and b) the template requires categories like categories=['biolink:Disease'] not categories=biolinkDisease.
The question now is: do we want master to have these changes? My concerns are:
- If there are operations and workflow, we don't want the QGI overriding these (I don't think it does currently, but not 100% sure)
- Make sure that the
inferredis handled correctly, since this property is likely ignored by the QGI when doing template matching
See PR #1858
Associated PR was closed, and this is also depreciated due to the inferred mode