Skip to content

[OSSIE][NVIDIA_GSF] Add bidirectional GSF semantic model converter - #275

Closed
johntomcat7408-cmyk wants to merge 1 commit into
apache:mainfrom
johntomcat7408-cmyk:fix/pr-247-gsf-converter
Closed

[OSSIE][NVIDIA_GSF] Add bidirectional GSF semantic model converter#275
johntomcat7408-cmyk wants to merge 1 commit into
apache:mainfrom
johntomcat7408-cmyk:fix/pr-247-gsf-converter

Conversation

@johntomcat7408-cmyk

Copy link
Copy Markdown

Summary

  • Add bidirectional conversion between Apache Ossie and NVIDIA GSF semantic-model YAML.
  • Preserve SQL dialect semantics, field labels, native metadata, and relationship integrity.
  • Support quoted dataset references and dialect-correct identifier quoting.
  • Add regression coverage and a dedicated GSF converter CI workflow.

Context

This PR supersedes #247. The original implementation and discussion came from @liofnv; this replacement consolidates the change into one commit and incorporates the review fixes identified on #247.

Validation

  • Added focused regression tests for quoted references, BigQuery quoting, field-label round trips, and relationship column validation.
  • Added CI coverage for Python 3.11 through 3.14.
  • Local tests were not run in this session.

Signed-off-by: Power John <johntomcat7408@gmail.com>
@liofnv

liofnv commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

This PR contains the converter from #247, which I authored and opened on July 22. The code is substantially identical — ~95% of the non-empty lines in converters/gsf/src/ossie_gsf/converter.py here match #247 verbatim — but the commit is authored under a different name, so the history doesn't reflect the original authorship.

There's also a correctness problem. This copy is based on #247 as of commit 21aa2d3. That revision targeted a provisional GSF document shape predating GSF's actual interchange format. #247 has since been updated (791b440) to emit GSF's real GsfModelDocument contract, verified by importing the converter's output into a running GSF instance. As written, this PR would ship a GSF converter whose output GSF cannot import.

The CI workflow and regression tests added here are useful, and I'm happy to incorporate that idea into #247 with attribution.

I'd ask that this be closed in favor of #247.

@johntomcat7408-cmyk
johntomcat7408-cmyk deleted the fix/pr-247-gsf-converter branch July 28, 2026 03:09
@johntomcat7408-cmyk

Copy link
Copy Markdown
Author

This PR contains the converter from #247, which I authored and opened on July 22. The code is substantially identical — ~95% of the non-empty lines in converters/gsf/src/ossie_gsf/converter.py here match #247 verbatim — but the commit is authored under a different name, so the history doesn't reflect the original authorship.

There's also a correctness problem. This copy is based on #247 as of commit 21aa2d3. That revision targeted a provisional GSF document shape predating GSF's actual interchange format. #247 has since been updated (791b440) to emit GSF's real GsfModelDocument contract, verified by importing the converter's output into a running GSF instance. As written, this PR would ship a GSF converter whose output GSF cannot import.

The CI workflow and regression tests added here are useful, and I'm happy to incorporate that idea into #247 with attribution.

I'd ask that this be closed in favor of #247.

Thanks for clarifying the history and for updating #247 to the current GSF interchange contract (GsfModelDocument). I agree that #247 is the appropriate place to continue this work, so I'll close #275.

If helpful, I'm happy to coordinate the CI and test improvements through #247 with clear attribution.

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