microbiomedata / nmdc-ontology

Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

subClassOf cycles in nmdco-classes.json breaks the nmdc-server ingest #49

Closed turbomam closed 6 months ago

turbomam commented 6 months ago

In recent builds of nmdco-classes.json, there has been a cycle between ChEBI's role CHEBI:50906 and BFO's role BFO:0000023. See image below.

This can be observed by configuring and starting the nmdc-server Docker environment, accessing the backend container's shell and running

nmdc-server ingest

The relevant error here is

Updating NMDC functions for the active database. ... File "/app/nmdc_server/ingest/envo.py", line 29, in populate_envo_ancestor raise Exception(f"Cyclic graph detected ({node})") Exception: Cyclic graph detected (CHEBI:50906)

And comes from https://github.com/microbiomedata/nmdc-server/blame/10cdc936387b7be890890d225b59875f0a83718e/nmdc_server/ingest/envo.py#L16-L29

I believe I found the most recent nmdco-classes.json that does parse, and I retroactively made a release

https://raw.githubusercontent.com/microbiomedata/nmdc-ontology/2024-02-16/nmdco-classes.json

image

turbomam commented 6 months ago

Moving parts: