Repository navigation
Link each Symptom individual to its shared symptom (symptomConcept) - #152
Merged
Merged
Conversation
…ncept Same-label Symptom individuals stay one per disease (PR #148): each holds that disease's likelihood, description and source, and the editor destroys an individual when it is removed from a disease. To query "Fatigue" across its 76 diseases as one thing, each individual now points at its ARIS class in notebook/symptom-mapping/ari_symptoms.owl with a new symptomConcept annotation. symptom_mapping.tsv owns the link, keyed by symptom string; build_symptom_mapping.py writes it into ari_t1d.owl line by line (idempotent) and drops the reverse ariSymptomIndividual links from ari_symptoms.owl. 2,249 individuals linked (all 2,243 live ones). validate_mappings.py checks links against the TSV: mismatch is an error, an unmapped or not-yet-linked symptom a warning. Report 4 picks up ontology disease counts stale since #143/#144. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t-links # Conflicts: # changelog.md # ontologies/ari_t1d.owl
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
PR #148 kept same-label Symptom individuals apart. Each one is a symptom in one disease: it holds that disease's likelihood, description and source. The editor also destroys an individual when it is removed from a disease, so a shared individual would be removed or edited for every disease at once. This PR keeps the individuals and links each one to its shared ARIS symptom (ARI#142). "Fatigue" across its 76 diseases can then be queried as one thing:
What
symptomConceptis a new annotation property inontologies/ari_t1d.owl. Its value is the IRI of theARIS_…class innotebook/symptom-mapping/ari_symptoms.owl. It is an annotation property rather than an object property because the target is a class in another file.symptom_mapping.tsv, keyed by symptom string, decides the concept, andbuild_symptom_mapping.pywrites it.not a symptomstring links nothing.symptomConceptlines, and a second run changes nothing.not a symptomentries.ari_symptoms.owlno longer carries the reverseariSymptomIndividuallinks.validate_mappings.pychecks each Symptom individual's link against the TSV, and the PR gate now also runs when the TSV changes.--sincemode.Checked
python .github/scripts/validate_mappings.py: 0 errors, 5 warnings. The 5 warnings were already onmain.--since origin/main: 0 errors, 0 warnings.symptom-unmappedwarningsymptom-concept-missingwarningsymptom-concept-mismatcherrormainis additions only: 2,253 lines, which are the 2,248 links plus the 5-line declaration.symptomConcept, and keeps all 2,248 links through a load and save. The editor's saves won't drop them.Follow-up (app repo)
KrishnaTO/ARI-metadata-manager needs a change so that a curator adding or renaming a symptom sets
symptomConceptfrom the TSV row for the new label, or clears it when there is no row. Until then, those symptoms show the warnings above until the next build.🤖 Generated with Claude Code