linkml-runtime
linkml-runtime copied to clipboard
feat(processing): add module to process inlining
Trying to address issue 2813 inconsistencies have been identified WRT how object inlining is behaving depending on the values of inlined, inlined_as_list and the presence/absence of an identifier in the range class. These inconsistencies appear from the fact that no normalization is happening on schema loading (not only in SchemaLoader, but also in SchemaView) and some consumers apply their own logic.
This patch provides a module that should be used on any schema loading (as of now SchemaLoader and SchemaView) to have a common behavior. The code is structured in a way that it covers all potential combinations in an easy to understand manner.
Unit testing is also provided for the module.
Codecov Report
Attention: Patch coverage is 82.00000% with 9 lines in your changes missing coverage. Please review.
Project coverage is 64.59%. Comparing base (
346f415) to head (36ac9be).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| linkml_runtime/processing/inlining.py | 82.00% | 3 Missing and 6 partials :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #408 +/- ##
==========================================
+ Coverage 64.49% 64.59% +0.09%
==========================================
Files 62 63 +1
Lines 8849 8899 +50
Branches 2557 2566 +9
==========================================
+ Hits 5707 5748 +41
- Misses 2533 2536 +3
- Partials 609 615 +6
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
This PR will make more sense after merging into linkml to have a monorepo.