Skip to content

feat(processing): add module to process inlining #408

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Silvanoc
Copy link
Contributor

@Silvanoc Silvanoc commented Jul 17, 2025

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.

@Silvanoc Silvanoc force-pushed the inlining-inference branch from 2c70022 to a9453e1 Compare July 17, 2025 16:14
Trying to address issue 2813 [1] 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.

[1]: linkml/linkml#2813

Signed-off-by: Silvano Cirujano Cuesta <[email protected]>
@Silvanoc Silvanoc force-pushed the inlining-inference branch from a9453e1 to 36ac9be Compare July 17, 2025 20:02
Copy link

codecov bot commented Jul 17, 2025

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 ⚠️
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     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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