You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ossie.apache.org by Yufei Gu <fl...@gmail.com> on 2026/09/11 23:58:40 UTC

[DISCUSS] One semantic model per Ossie document

Hi all,

I'd like to propose simplifying the Ossie JSON/YAML format to contain
exactly one semantic model per document, with its properties directly at
the root.

This may have been discussed elsewhere already, please share a pointer if
there is an earlier thread. Khushboo and I discussed removing the array
offline a few weeks ago, and I'd like to bring this proposal here for
broader feedback.

The proposed format would look like:

version: 0.2.0.dev0
name: sales_analytics
datasets:
  - name: orders
    source: sales.public.orders

This removes both the semantic_model array and its wrapper. A model would
still support multiple datasets, relationships, and metrics.

Several converters currently warn and convert only the first model in a
document. One model per document would simplify authoring and conversion
and give each model an independent unit for validation and versioning.

Bulk exchange remains useful, for example, for exporting multiple Polaris
namespaces. Separate model files, optionally packaged in an archive, could
serve that use case without requiring collections in the core format.

This is a breaking change to the unreleased development specification.
Migration would move a single model's properties to the root or split
multiple models into separate documents, preserving their contents and
document metadata.

The draft PR updates the spec, examples, and validator. SDK and converter
changes would follow separately:
https://github.com/apache/ossie/pull/383

Are there use cases that require multiple models in one core document, or
reasons to retain the wrapper?

Thanks,
Yufei

Re: [DISCUSS] One semantic model per Ossie document

Posted by Yufei Gu <fl...@gmail.com>.
Thanks, JB and Khushboo!

For a sequencing plan, I’ve opened a follow-up PR to update the
converters: https://github.com/apache/ossie/pull/396. We can merge the
spec PR first, then the converter updates shortly afterward to
minimize the gap. Converter contributors can use the follow-up PR to
coordinate their changes.

Yufei

Yufei


On Mon, Sep 14, 2026 at 8:57 AM Khushboo Bhatia
<kh...@gmail.com> wrote:
>
> Hey Yufei,
> Thanks for starting this discussion. I support this change.
>
> Khushboo
>
> On Fri, Sep 11, 2026 at 10:50 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
> > Hi Yufei,
> >
> > Your proposal essentially collapses the current top-level shape from:
> >
> > version: 0.2.0.dev0
> > semantic_model:
> >   - name: sales_analytics
> >     datasets: [...]
> >
> > into:
> >
> > version: 0.2.0.dev0
> > name: sales_analytics
> > datasets: [...]
> >
> > This removes the semantic_model array/wrapper and places the model
> > fields (name, datasets, relationships, metrics, custom_extensions,
> > etc.) at the document root, alongside dialects and vendors.
> >
> > I think this is a good idea and do not see any major risks.
> >
> > Regarding the PR, keeping it focused on the spec for now makes sense.
> > However, because it impacts the converters, I suggest defining a
> > sequencing plan before merging the spec PR. Otherwise, we risk a
> > window where the core spec uses the new shape while converter fixtures
> > and tests still assume the old wrapped-array structure, which can lead
> > to confusing round-trip bugs. I am already working on several
> > converters, but it would be helpful to clearly communicate our plan to
> > the converter contributors.
> >
> > Regards,
> > JB
> >
> > On Sat, Sep 12, 2026 at 1:59 AM Yufei Gu <fl...@gmail.com> wrote:
> > >
> > > Hi all,
> > >
> > > I'd like to propose simplifying the Ossie JSON/YAML format to contain
> > > exactly one semantic model per document, with its properties directly at
> > > the root.
> > >
> > > This may have been discussed elsewhere already, please share a pointer if
> > > there is an earlier thread. Khushboo and I discussed removing the array
> > > offline a few weeks ago, and I'd like to bring this proposal here for
> > > broader feedback.
> > >
> > > The proposed format would look like:
> > >
> > > version: 0.2.0.dev0
> > > name: sales_analytics
> > > datasets:
> > >   - name: orders
> > >     source: sales.public.orders
> > >
> > > This removes both the semantic_model array and its wrapper. A model would
> > > still support multiple datasets, relationships, and metrics.
> > >
> > > Several converters currently warn and convert only the first model in a
> > > document. One model per document would simplify authoring and conversion
> > > and give each model an independent unit for validation and versioning.
> > >
> > > Bulk exchange remains useful, for example, for exporting multiple Polaris
> > > namespaces. Separate model files, optionally packaged in an archive,
> > could
> > > serve that use case without requiring collections in the core format.
> > >
> > > This is a breaking change to the unreleased development specification.
> > > Migration would move a single model's properties to the root or split
> > > multiple models into separate documents, preserving their contents and
> > > document metadata.
> > >
> > > The draft PR updates the spec, examples, and validator. SDK and converter
> > > changes would follow separately:
> > > https://github.com/apache/ossie/pull/383
> > >
> > > Are there use cases that require multiple models in one core document, or
> > > reasons to retain the wrapper?
> > >
> > > Thanks,
> > > Yufei
> >

Re: [DISCUSS] One semantic model per Ossie document

Posted by Khushboo Bhatia <kh...@gmail.com>.
Hey Yufei,
Thanks for starting this discussion. I support this change.

Khushboo

On Fri, Sep 11, 2026 at 10:50 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Hi Yufei,
>
> Your proposal essentially collapses the current top-level shape from:
>
> version: 0.2.0.dev0
> semantic_model:
>   - name: sales_analytics
>     datasets: [...]
>
> into:
>
> version: 0.2.0.dev0
> name: sales_analytics
> datasets: [...]
>
> This removes the semantic_model array/wrapper and places the model
> fields (name, datasets, relationships, metrics, custom_extensions,
> etc.) at the document root, alongside dialects and vendors.
>
> I think this is a good idea and do not see any major risks.
>
> Regarding the PR, keeping it focused on the spec for now makes sense.
> However, because it impacts the converters, I suggest defining a
> sequencing plan before merging the spec PR. Otherwise, we risk a
> window where the core spec uses the new shape while converter fixtures
> and tests still assume the old wrapped-array structure, which can lead
> to confusing round-trip bugs. I am already working on several
> converters, but it would be helpful to clearly communicate our plan to
> the converter contributors.
>
> Regards,
> JB
>
> On Sat, Sep 12, 2026 at 1:59 AM Yufei Gu <fl...@gmail.com> wrote:
> >
> > Hi all,
> >
> > I'd like to propose simplifying the Ossie JSON/YAML format to contain
> > exactly one semantic model per document, with its properties directly at
> > the root.
> >
> > This may have been discussed elsewhere already, please share a pointer if
> > there is an earlier thread. Khushboo and I discussed removing the array
> > offline a few weeks ago, and I'd like to bring this proposal here for
> > broader feedback.
> >
> > The proposed format would look like:
> >
> > version: 0.2.0.dev0
> > name: sales_analytics
> > datasets:
> >   - name: orders
> >     source: sales.public.orders
> >
> > This removes both the semantic_model array and its wrapper. A model would
> > still support multiple datasets, relationships, and metrics.
> >
> > Several converters currently warn and convert only the first model in a
> > document. One model per document would simplify authoring and conversion
> > and give each model an independent unit for validation and versioning.
> >
> > Bulk exchange remains useful, for example, for exporting multiple Polaris
> > namespaces. Separate model files, optionally packaged in an archive,
> could
> > serve that use case without requiring collections in the core format.
> >
> > This is a breaking change to the unreleased development specification.
> > Migration would move a single model's properties to the root or split
> > multiple models into separate documents, preserving their contents and
> > document metadata.
> >
> > The draft PR updates the spec, examples, and validator. SDK and converter
> > changes would follow separately:
> > https://github.com/apache/ossie/pull/383
> >
> > Are there use cases that require multiple models in one core document, or
> > reasons to retain the wrapper?
> >
> > Thanks,
> > Yufei
>

Re: [DISCUSS] One semantic model per Ossie document

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Yufei,

Your proposal essentially collapses the current top-level shape from:

version: 0.2.0.dev0
semantic_model:
  - name: sales_analytics
    datasets: [...]

into:

version: 0.2.0.dev0
name: sales_analytics
datasets: [...]

This removes the semantic_model array/wrapper and places the model
fields (name, datasets, relationships, metrics, custom_extensions,
etc.) at the document root, alongside dialects and vendors.

I think this is a good idea and do not see any major risks.

Regarding the PR, keeping it focused on the spec for now makes sense.
However, because it impacts the converters, I suggest defining a
sequencing plan before merging the spec PR. Otherwise, we risk a
window where the core spec uses the new shape while converter fixtures
and tests still assume the old wrapped-array structure, which can lead
to confusing round-trip bugs. I am already working on several
converters, but it would be helpful to clearly communicate our plan to
the converter contributors.

Regards,
JB

On Sat, Sep 12, 2026 at 1:59 AM Yufei Gu <fl...@gmail.com> wrote:
>
> Hi all,
>
> I'd like to propose simplifying the Ossie JSON/YAML format to contain
> exactly one semantic model per document, with its properties directly at
> the root.
>
> This may have been discussed elsewhere already, please share a pointer if
> there is an earlier thread. Khushboo and I discussed removing the array
> offline a few weeks ago, and I'd like to bring this proposal here for
> broader feedback.
>
> The proposed format would look like:
>
> version: 0.2.0.dev0
> name: sales_analytics
> datasets:
>   - name: orders
>     source: sales.public.orders
>
> This removes both the semantic_model array and its wrapper. A model would
> still support multiple datasets, relationships, and metrics.
>
> Several converters currently warn and convert only the first model in a
> document. One model per document would simplify authoring and conversion
> and give each model an independent unit for validation and versioning.
>
> Bulk exchange remains useful, for example, for exporting multiple Polaris
> namespaces. Separate model files, optionally packaged in an archive, could
> serve that use case without requiring collections in the core format.
>
> This is a breaking change to the unreleased development specification.
> Migration would move a single model's properties to the root or split
> multiple models into separate documents, preserving their contents and
> document metadata.
>
> The draft PR updates the spec, examples, and validator. SDK and converter
> changes would follow separately:
> https://github.com/apache/ossie/pull/383
>
> Are there use cases that require multiple models in one core document, or
> reasons to retain the wrapper?
>
> Thanks,
> Yufei