Skip to content

Name Resolution Service

Richard Bruskiewich edited this page Jan 24, 2024 · 11 revisions

Back to Home

Introduction

The operation of Translator relies heavily on Compact URIs (CURIEs); see here for a Translator glossary. However, Translator users are humans who refer to concepts using names rather than identifiers. We therefore need a way to transform strings into identifiers.

This service takes lexical strings and attempts to map them to identifiers (curies) from a vocabulary or ontology. The lookup is not exact, but includes partial matches.

String matching does not produce unique or foolproof results, and usually require a human to identify the correct response. Multiple results may be returned representing possible conceptual matches, but all of the identifiers have been correctly normalized using the NodeNormalization service.

Usage

The lookup function of the Name Resolution service accepts a string and returns a series of concepts that string-match the query term:

curl -X 'POST' \
  'https://name-resolution-sri.renci.org/lookup?string=cheese&offset=0&limit=10' \
  -H 'accept: application/json' \
  -d ''

Response:

{
  "MONDO:0003955": [
    "Swiss cheese disease",
    "juvenile breast papillomatosis",
    "breast juvenile papillomatosis",
    "juvenile papillomatosis of breast",
    "juvenile papillomatosis of the breast"
  ],
  "HP:0011625": [
    "Swiss cheese ventricular septal defect"
  ]
}

It is also possible to look up synonyms for a particular CURIE (or list of CURIEs):

curl -X 'POST' \
  'https://name-resolution-sri.renci.org/reverse_lookup' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "curies": [
    "MONDO:0003955"
  ]
}'

Response:

{
  "MONDO:0003955": [
    "juvenile breast papillomatosis",
    "juvenile papillomatosis of breast",
    "juvenile papillomatosis of the breast",
    "Swiss cheese disease",
    "breast juvenile papillomatosis"
  ]
}

More examples can be seen in the Documentation Notebook

Reporting an Issue

Issues with the Name Resolution Service can be reported and viewed at the services github repository here.

Deployment

The service can be built into a docker container, deployable using docker or kubernetes. Details are given in the github README

Links

Clone this wiki locally