Knowledge-Graph-Hub / kg-idg

A Knowledge Graph to Illuminate the Druggable Genome
https://knowledge-graph-hub.github.io/kg-idg/
BSD 3-Clause "New" or "Revised" License
9 stars 2 forks source link

Build fails due to AttributeError: 'EnumDefinition' object has no attribute 'range' #123

Closed caufieldjh closed 1 year ago

caufieldjh commented 1 year ago

Describe the bug

During the most recent Jenkins build, this happens while producing the nt version of the merged graph:

18:17:18  [KGX][cli_utils.py][               merge] INFO: Merged graph has 555871 nodes and 4425365 edges
18:19:24  [KGX][cli_utils.py][               merge] INFO: Writing merged graph to merged-kg-tsv
19:02:00  [KGX][cli_utils.py][               merge] INFO: Writing merged graph to merged-kg-nt
19:22:06  Traceback (most recent call last):
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/run.py", line 167, in <module>
19:22:06      cli()
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
19:22:06      return self.main(*args, **kwargs)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1055, in main
19:22:06      rv = self.invoke(ctx)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
19:22:06      return _process_result(sub_ctx.command.invoke(sub_ctx))
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
19:22:06      return ctx.invoke(self.callback, **ctx.params)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 760, in invoke
19:22:06      return __callback(*args, **kwargs)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/run.py", line 86, in merge
19:22:06      load_and_merge(yaml, processes)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/kg_idg/merge_utils/merge_kg.py", line 34, in load_and_merge
19:22:06      merged_graph = merge(yaml_file, processes=processes)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/cli/cli_utils.py", line 728, in merge
19:22:06      transformer.transform(input_args, output_args)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/transformer.py", line 281, in transform
19:22:06      sink = self.get_sink(**output_args)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/transformer.py", line 436, in get_sink
19:22:06      return s(self, **kwargs)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/sink/rdf_sink.py", line 75, in __init__
19:22:06      self.property_types = get_biolink_property_types()
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/utils/kgx_utils.py", line 487, in get_biolink_property_types
19:22:06      property_type = get_type_for_property(p)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/utils/kgx_utils.py", line 529, in get_type_for_property
19:22:06      t = get_type_for_property(r)
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/kgx/utils/kgx_utils.py", line 522, in get_type_for_property
19:22:06      r = e.range
19:22:06    File "/var/lib/jenkins/workspace/nowledge-graph-hub_kg-idg_master/gitrepo/venv/lib/python3.9/site-packages/jsonasobj2/_jsonobj.py", line 160, in __getattr__
19:22:06      return super().__getattribute__(item)
19:22:06  AttributeError: 'EnumDefinition' object has no attribute 'range'

KGX tries to get the range of something without it.

Workaround: don't produce the nt version. It's really preferable to have it, but for now it is breaking the build.