update_literal_mappings
- update_literal_mappings(literal_mappings: list[LiteralMapping], mappings: list[Mapping]) list[LiteralMapping][source]
Use a priority mapping to re-write terms with priority groundings.
- Parameters:
literal_mappings – A list of literal mappings
mappings – A list of SeMRA mapping objects, constituting a priority mapping. This means that each mapping has a unique subject.
- Returns:
A new list of literal mappings that have been remapped
from itertools import chain from pyobo import get_literal_mappings from ssslm.ner import make_grounder from semra import Configuration, Input from semra.api import update_literal_mappings prefixes = ["doid", "mondo", "efo"] # 1. Get terms literal_mappings = chain.from_iterable(get_literal_mappings(p) for p in prefixes) # 2. Get mappings configuration = Configuration.from_prefixes(name="Diseases", prefixes=prefixes) mappings = configuration.get_mappings() # 3. Update terms and use them (i.e., to construct a grounder) new_literal_mappings = update_literal_mappings(literal_mappings, mappings) grounder = make_grounder(new_literal_mappings)