Knowledge-Graph-Hub / universalizer

The KG-Hub Universalizer provides functions for knowledge graph cleanup and identifier normalization.
BSD 3-Clause "New" or "Revised" License
3 stars 2 forks source link

Error on checking for list of edges to remove #21

Closed caufieldjh closed 1 year ago

caufieldjh commented 1 year ago

When updating graph files (here, with Bioportal OPDRE):

Found 59 unexpected identifiers.
Retrieving categories in transformed/ontologies/OPDRE/OPDRE_1_nodes.tsv...
All categories in transformed/ontologies/OPDRE/OPDRE_1_nodes.tsv are as expected.
No identifiers in transformed/ontologies/OPDRE/OPDRE_1_nodes.tsv will be normalized.
Updating graph files...
Could not remap any node IDs.
Traceback (most recent call last):
  File "/home/harry/BioPortal-to-KGX/run.py", line 138, in <module>
    run()
  File "/home/harry/.cache/pypoetry/virtualenvs/bioportal-to-kgx-BG6p1jeu-py3.9/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/harry/.cache/pypoetry/virtualenvs/bioportal-to-kgx-BG6p1jeu-py3.9/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/harry/.cache/pypoetry/virtualenvs/bioportal-to-kgx-BG6p1jeu-py3.9/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/harry/.cache/pypoetry/virtualenvs/bioportal-to-kgx-BG6p1jeu-py3.9/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/harry/BioPortal-to-KGX/run.py", line 113, in run
    transform_status = do_transforms(
  File "/home/harry/BioPortal-to-KGX/bioportal_to_kgx/functions.py", line 339, in do_transforms
    if not clean_and_normalize_graph(filepath=outdir,
  File "/home/harry/.cache/pypoetry/virtualenvs/bioportal-to-kgx-BG6p1jeu-py3.9/lib/python3.9/site-packages/universalizer/norm.py", line 159, in clean_and_normalize_graph
    if rem_edge_count > 0:
UnboundLocalError: local variable 'rem_edge_count' referenced before assignment

This is a case where we're trying to update the edgefile by removing edges now treated as node properties, but we haven't defined the list yet.