ranking-agent / strider

A TRAPI-compliant component of ARAGORN that queries distributed KPs and assembles answers to user questions.
MIT License
3 stars 0 forks source link

Incorrect types #410

Open cbizon opened 1 year ago

cbizon commented 1 year ago

Query:

{
  "edges": {
    "e00": {
      "object": "n01",
      "subject": "n00"
    }
  },
  "nodes": {
    "n00": {
      "constraints": [],
      "ids": [
        "PUBCHEM.COMPOUND:73441863"
      ],
    },
    "n01": {
      "constraints": [],
      "ids": [
        "UniProtKB:P49768"
      ],
    }
  }
}

Is returning a single edge from service provider. But the type on one of the nodes is just biolink:BiologicalEntity. It should have all of the super/subclasses including biolink:Gene. This produces TRAPI validation errors.

maximusunc commented 1 year ago

Could you provide the full original query please?

cbizon commented 1 year ago

It's just what's above (with a "message": "query_graph": {} around it). Not a creative query or anything.

maximusunc commented 1 year ago

The edge doesn't have a predicate, so I was confused.

cbizon commented 1 year ago

Yeah, I was trying to see what relationships existed between the two entities. It could also have a "biolink:related_to"

maximusunc commented 1 year ago

So Strider doesn't manipulate the categories. We use NodeNorm to find the preferred curie, but we don't do anything with the categories of the nodes. I think this goes back to Patrick era, but I think I remember this being a decision we made. I would say this is an issue for Service Provider.

maximusunc commented 1 week ago

I reran this today, and it looks like both Service Provider and Molepro respond with a single node category, and then Robokop and binding-db automats return the same edge but with all the category hierarchy. Strider then merges and returns the full category hierarchy. @cbizon what do you think? Should we open issues on those two KPs, or should we be replacing the categories with what we get from NN?

cbizon commented 4 days ago

My opinion is that we should use the categories from NN. The one possibility that this creates is if a KP disagrees with NN about a category. So we ask for Chemical and they return X and we send NN to X and NN says it's a Gene, not a Chemical. Then what do we do? My opinion there is that we drop X.