Skip to content

Report 12: resolve absolute IRIs in the research-gaps builder - #158

Merged
KrishnaTO merged 1 commit into
mainfrom
fix/research-gaps-absolute-iris
Oct 26, 2026
Merged

KrishnaTO merged 1 commit into
mainfrom
fix/research-gaps-absolute-iris

Conversation

@KrishnaTO

@KrishnaTO KrishnaTO commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Why

Since the canonical ROBOT layout (#154) every rdf:about / rdf:resource in ontologies/ari_t1d.owl is absolute (http://www.aurint.org/ontologies/ari-disease#…, diseases under https://diseases.autoimmuneregistry.org/disease/…). notebook/research-gaps/build_research_gaps.py keyed nodes by about.lstrip("#") and matched #AutoimmuneDisease, so report 12 reported 0 diseases.

What

  • build_research_gaps.py resolves every IRI against the file's xml:base (the same urljoin approach as build_uberon_import.py's resolve()) and compares full IRIs (ARI + "AutoimmuneDisease", ARI + "Tissue_Systemic", typed links). It reads the ontology as XML, and nothing else changed. It now finds 228 diseases.
  • data/4-reports/12_Research_Gaps.xlsx is regenerated. Compared cell by cell with the committed 2026-10-16 report, every difference comes from curation made since then:
    • +1 disease: ARI:0001168 Primary immune deficiency (Dysregulation). It publishes Disease Type and SNOMED; every other field is Research.
    • ARI:0001091 Evans syndrome: Synonyms went from Research to Published (Update Evans syndrome #156).
    • ARI:0001176 Secondary Raynaud's phenomenon: cited-type items went from 20 to 19 (0 cited either way).
    • The legend and all other rows are unchanged.
  • import_columns.py, import_gaps.py are marked HISTORICAL in their docstrings and raise SystemExit, following the pattern import_prevalence.py already uses. They don't only look up nodes: they also splice ari_t1d.owl line by line, anchoring on rdf:about="#…" declarations and writing rdf:resource="#{cls}". Fixing only their lookups would still leave a writer that breaks the canonical layout. Their imports already landed in Import master-list data that report 12 marked 'In repo - import' #141. import_prevalence.py already refuses to run, so it is untouched.
  • Changelog entry under ## fix/research-gaps-absolute-iris.

Note on #157

#157 (ontology modules split, still open) renames ari_t1d.owl to ari_disease.owl.

🤖 Generated with Claude Code

Since the canonical ROBOT layout (#154) every rdf:about / rdf:resource in
ari_t1d.owl is absolute, but build_research_gaps.py keyed nodes by
about.lstrip("#") and matched "#AutoimmuneDisease", so report 12 found
0 diseases. It now resolves IRIs against the file's xml:base and compares
full IRIs, finding 228 diseases again. Report 12 is regenerated; its only
changes against 2026-10-16 are curation made since.

import_columns.py and import_gaps.py edit the OWL line by line around
relative # IRIs, so they are marked historical and refuse to run, like
import_prevalence.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KrishnaTO
KrishnaTO merged commit 335dd98 into main Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant