Update class inheritance to support multi-parent schemas (biothings/discovery-app#330)#23
Merged
NikkiBytes merged 13 commits intomasterfrom Aug 21, 2025
Merged
Conversation
…, also cleaned up test_bioschemas.py using different test data
Contributor
Author
|
Notes on Validator Enhancements (
|
marcodarko
approved these changes
Aug 15, 2025
…ta, extended test_schema_validatior with tests for validation merging and extended test_bioschemas with multi-inheritances tests
…ed test_bioschemas.py back to use that data, and modified for empty list of lists
marcodarko
approved these changes
Aug 19, 2025
marcodarko
approved these changes
Aug 20, 2025
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.
Enhance parent validation merging with support for multi-inheritance and list merging
This update improves the recursive parent validation logic in
validator.py:rdfs:subClassOfparents (previously only a single parent was handled).visitedtracking to prevent cyclic recursion or duplicate merging.merge()to combine lists (e.g., merging"required"fields across parents), instead of skipping or overwriting them.These changes enable the system to correctly handle complex ontologies with multi-inheritance and overlapping validation fields.