Nisha,

That's a great way of illustrating serialization without looking at the
text/syntax.  Thanks!  I think when the group gets into discussing
serialization alternatives, using graphs like this makes it easy to
visualize different ways that data represents the identical logical model.
For example, the left subgraph under SBOM doesn't exist in the logical
model at all, it exists only to make units of transfer more readable and
efficient.  The only things that exist in the logical model are the
numbered nodes under elements in the right subgraph.

There are also two ways of serializing those elements:
1. as a list as shown, where each numbered (0..4) element has an id, type
and name
2. as a map, where each element is named by its id replacing the number,
with type and name properties below it.

I arbitrarily used the list approach for the information model, which is
why the json data and your graph appear that way.  But a different
information model for the identical logical model would use the map
approach - it's a matter of taste which way the TC prefers the data to look
like.  There will be myriad other places where taste choices can be made
between equivalent alternatives. (I already chose to make Hash a map from
algorithm to value instead of separate algorithm and value properties.
Either way works, the map is much cleaner.)

So I think rather than pulling a bunch of graphs into my repo, it makes
more sense for you to just graph specific unit-of-transfer files when
issues like that come up in a serialization discussion.  I think just
blindly graphing all the JSON examples would be a waste, when the current
examples are all from the same information model, created for the purpose
of discussing relationships.  When two information models are being
compared, a single example graph for each would be very helpful for
visualizing differences and making decisions.

Thanks,
David

On Tue, Feb 8, 2022 at 9:42 AM Nisha Kumar <[email protected]> wrote:

> Hi Dave,
>
> I have a script that generates graphs from JSON. Would you like me to
> submit PRs to your repo with equivalent diagrams? I’ve attached an example
> for “package-property-rev1.json”
>
>
>
> -Nisha
>
>
>
> *From: *[email protected] <[email protected]> on behalf of
> David Kemp via lists.spdx.org <[email protected]>
> *Date: *Saturday, February 5, 2022 at 7:02 PM
> *To: *SPDX-list <[email protected]>
> *Subject: *[spdx-tech] SPDX v3 serialization
>
> Now that we have examined William's example elements to discuss graph
> updates, they seem like good concrete examples that can be reused for other
> purposes.  I've converted them into full serialized units of transfer to
> discuss how syntax defined by an information model can be represented in
> the logical diagram.  The examples, information model, and logical diagram
> are available at
> https://github.com/davaya/spdxv3-template-tool/tree/main/Data3
> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdavaya%2Fspdxv3-template-tool%2Ftree%2Fmain%2FData3&data=04%7C01%7Cnishak%40vmware.com%7Ce5a98ab7c7ca45c62da608d9e91d131d%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637797133362630403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=1TtEL6eGNYwbxWp2oelN52UgveUVxBHupBmh%2BRlS1nw%3D&reserved=0>
> for whenever the weekly discussion turns to serialization.
>
> Dave
>
> 
>


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#4369): https://lists.spdx.org/g/Spdx-tech/message/4369
Mute This Topic: https://lists.spdx.org/mt/88942711/21656
Group Owner: [email protected]
Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to