webyrd / mediKanren

Proof-of-concept for reasoning over the SemMedDB knowledge base, using miniKanren + heuristics + indexing.
MIT License
323 stars 53 forks source link

Unsecret Agent not returning results for connections to UMLS identifiers for vomiting/nausea #46

Closed MarkDWilliams closed 3 years ago

MarkDWilliams commented 3 years ago

In attempting to recreate the results of the TIDBIT regarding cyclic vomiting, I sent out several queries for connections to various identifiers related to vomiting, nausea, etc. There are connections to these identifiers present in SemMedDB, but no results are returned from Unsecret. This query graph was submitted to Unsecret through the ARS.

{"message":{

  "query_graph": {
    "nodes": [
      {
        "id": "n0",
        "set": false,
        "curie":"UMLS:C0520909",
        "type": "ChemicalSubstance"
      },
      {
        "id": "n1",
        "type": "named_thing",
        "set": false
      }
    ],
    "edges": [
      {
        "id": "e0",
        "source_id": "n1",
        "target_id": "n0"
      }
    ]
  }
}}

The following identifiers were also used without results being returned: UMLS:C0027497 UMLS:C0027498 UMLS:C0718572 UMLS:C0722001 UMLS:C0520904 UMLS:C0520909

gregr commented 3 years ago

Hi @MarkDWilliams , I tried your query and noticed you were giving the type "ChemicalSubstance" to "UMLS:C0520909", but that curie is actually the disease/phenotype "Postoperative Nausea and Vomiting".

Also, we don't currently support concept subtyping, so "named_thing" is going to miss possible results. Here is a modified version of your query (changing only the type of each node) that gives back some answers:

{"message":{

  "query_graph": {
    "nodes": [
      {
        "id": "n0",
        "set": false,
        "curie":"UMLS:C0520909"
      },
      {
        "id": "n1",
        "type": "disease",
        "set": false
      }
    ],
    "edges": [
      {
        "id": "e0",
        "source_id": "n1",
        "target_id": "n0"
      }
    ]
  }
}}