Skip to content

Add curated PHENOTYPE prefix for uphenotizer classes - #87

Open
kevinschaper wants to merge 3 commits into
mainfrom
add-phenotype-prefix
Open

kevinschaper wants to merge 3 commits into
mainfrom
add-phenotype-prefix

Conversation

@kevinschaper

Copy link
Copy Markdown
Contributor

Adds a curated PHENOTYPE prefix for https://w3id.org/monarch-initiative/entity/PHENOTYPE_.

uphenotizer mints pre-composed phenotype classes for FlyBase and SGD annotations under this namespace, and PHENIO imports them. They now appear in the Monarch KG, but no upstream source has the prefix, so merged.monarch can't expand or compress them. Consumers would each have to patch it locally.

Changes

  • Add the prefix to linked_data.curated.yaml.
  • Add one row to each of linked_data.csv, merged.csv, merged.monarch.csv and merged.oak.csv.
  • Add a test that round-trips a CURIE through all four contexts.

For reviewers

  • The CSVs aren't from a full ETL run. make etl would refresh every upstream source and bury this change, so I added the rows with the package's own parser and writer. expansion_source was then set to linkml by hand, to match other curated rows. A later refresh should produce the same rows.
  • This reaches all merged contexts, not just merged.monarch. They're all built from the same sources, so merged and merged.oak get it too. No existing prefix or namespace conflicts with it, in any of the sources they merge, but PHENOTYPE is a fairly generic name to claim.

Testing

pytest tests/test_core passes, excluding test_from_upstream, which needs network access to refresh from upstream.

https://claude.ai/code/session_01GvqCPJKxcq1SNMtoHoMpYJ

uphenotizer mints phenotype classes under
https://w3id.org/monarch-initiative/entity/PHENOTYPE_, and PHENIO imports them.
No upstream source has this prefix, so CURIEs for these classes can't be expanded
through the merged contexts, and their IRIs can't be compressed.

Add it to the curated linked_data context. The generated CSVs are updated by
hand-applied rows rather than a full ETL run, so this diff doesn't pull in
unrelated upstream changes.

Claude-Session: https://claude.ai/code/session_01GvqCPJKxcq1SNMtoHoMpYJ
@kevinschaper
kevinschaper requested a review from matentzn November 6, 2026 17:55
@matentzn

matentzn commented Nov 6, 2026

Copy link
Copy Markdown

Does it have to be this weird generic name? I was hoping more for something like monarch.phenotype or if you must monarchinitiative: and have phenotype be part of the id?

This branch has not been deployed

No deployments
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.

2 participants