Knowledge-Graph-Hub / kg-phenio

A Graph for experiments doing ML on ontologies.
BSD 3-Clause "New" or "Revised" License
6 stars 4 forks source link

Update fields to align with Biolink Model 4.2.0 #143

Closed caufieldjh closed 1 month ago

caufieldjh commented 2 months ago

Biolink Model 4.2.0 adds two new, required edge properties: knowledge_level and agent_type. By default these may be set to not_provided.

See https://github.com/NCATSTranslator/ReasonerAPI/blob/master/ImplementationGuidance/Specifications/knowledge_level_agent_type_specification.md

caufieldjh commented 1 month ago

The most recent auto-build failed because it uses Biolink 4.2.0 but doesn't assign the edge properties, so this happens:

9:17:43  Adding node sources using kg_phenio/transform_utils/phenio/phenio_node_sources.yaml
09:17:43  Adding edge sources using kg_phenio/transform_utils/phenio/phenio_edge_sources.yaml
09:17:43  Traceback (most recent call last):
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/run.py", line 100, in <module>
09:17:43      cli()
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
09:17:43      return self.main(*args, **kwargs)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1078, in main
09:17:43      rv = self.invoke(ctx)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
09:17:43      return _process_result(sub_ctx.command.invoke(sub_ctx))
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
09:17:43      return ctx.invoke(self.callback, **ctx.params)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/click/core.py", line 783, in invoke
09:17:43      return __callback(*args, **kwargs)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/run.py", line 75, in transform
09:17:43      kg_transform(*args, **kwargs)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform.py", line 36, in transform
09:17:43      t.run()
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_transform.py", line 73, in run
09:17:43      self.parse(k, data_file, k)
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_transform.py", line 181, in parse
09:17:43      transform_source(
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/koza/cli_runner.py", line 86, in transform_source
09:17:43      koza_app.process_sources()
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/koza/app.py", line 112, in process_sources
09:17:43      raise ve
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/koza/app.py", line 100, in process_sources
09:17:43      transform_module = importlib.import_module(transform_code)
09:17:43    File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
09:17:43      return _bootstrap._gcd_import(name[level:], package, level)
09:17:43    File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
09:17:43    File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
09:17:43    File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
09:17:43    File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
09:17:43    File "<frozen importlib._bootstrap_external>", line 855, in exec_module
09:17:43    File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/kg_phenio/transform_utils/phenio/phenio_edge_sources.py", line 93, in <module>
09:17:43      association = AssocClass(
09:17:43    File "/var/lib/jenkins/workspace/ledge-graph-hub_kg-phenio_master/gitrepo/venv/lib/python3.9/site-packages/pydantic/main.py", line 176, in __init__
09:17:43      self.__pydantic_validator__.validate_python(data, self_instance=self)
09:17:43  pydantic_core._pydantic_core.ValidationError: 2 validation errors for Association
09:17:43  knowledge_level
09:17:43    Field required [type=missing, input_value={'id': 'urn:uuid:dd783c5e...ce': ['infores:phenio']}, input_type=dict]
09:17:43      For further information visit https://errors.pydantic.dev/2.7/v/missing
09:17:43  agent_type
09:17:43    Field required [type=missing, input_value={'id': 'urn:uuid:dd783c5e...ce': ['infores:phenio']}, input_type=dict]
09:17:43      For further information visit https://errors.pydantic.dev/2.7/v/missing