biothings / biothings_explorer_jsonld

Apache License 2.0
4 stars 4 forks source link

Curies with multiple prefixes #14

Open lhannest opened 5 years ago

lhannest commented 5 years ago

This endpoint returns some odd data entries: http://biothings.io/explorer/api/v2/crawler?input_type=mondo&input_value=0018911

These identifiers (all belonging to EquivalantAssociations) look like errors:

"MESH.DISEASE:ICD10CM:E11.8", "MESH.DISEASE:KEGG:04950", "MESH.DISEASE:OMIM:606391", "MESH.DISEASE:ORDO:552"

If there's a reason for having multiple prefixes (I have also seen duplicated prefixes, e.g. HP:HP:0000089, which I assumed to be a mistake) then please explain.

Also, when I try querying on that first identifier I get an error:

http://biothings.io/explorer/api/v2/crawler?input_type=mesh.disease&input_value=ICD10CM:E11.8

Traceback (most recent call last):
  File "/home/ubuntu/opt/devpy3/lib/python3.5/site-packages/tornado/web.py", line 1509, in _execute
    result = method(*self.path_args, **self.path_kwargs)
  File "/home/ubuntu/opt/biothings_explorer_web/src/handlers/entitycrawler.py", line 308, in get
    results = exploreinput(input_type, input_value)
  File "/home/ubuntu/opt/biothings_explorer_web/src/handlers/entitycrawler.py", line 160, in exploreinput
    synonyms = IDConverter().find_synonym(input_value, input_type)
  File "/home/ubuntu/opt/biothings_explorer_web/src/biothings_explorer/id_converter.py", line 89, in find_synonym
    return self.find_disease_synonym(input_value, input_type)
  File "/home/ubuntu/opt/biothings_explorer_web/src/biothings_explorer/id_converter.py", line 176, in find_disease_synonym
    params = self.mydisease_params_template.replace('{input_value}', str(input_value)).replace('{input_type}', MYDISEASE_URI2SCOPE[input_type])
KeyError: 'mesh.disease'

But mesh.disease should be a valid prefix to use.