The difference between "contains" and every other type of relationship is
that it is the minimum essential requirement for some types to exist.  A
package cannot be a package without having contents.  It's "packageness" is
defined by the fact that it has contents.  The same cannot be said for all
of the other relationship types - a Package and a BOM can exist without
patches, variants, ancestors, dependencies, examples, etc.

If any of those other relationship types were essential for a Package or
BOM to exist, then the model would include "dependency_element",
"patch_element" properties in addition to the contents ("element")
property, and the version of the Package would change whenever the
properties change.  The reason dependency is not a property is because a
Package and its version don't change every time some other Package
references / uses / becomes dependent on it.

Contains is special and different from all other relationships because if
the content of a Package changes, it is a different version of the Package.

Dave


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#4332): https://lists.spdx.org/g/Spdx-tech/message/4332
Mute This Topic: https://lists.spdx.org/mt/88669484/21656
Group Owner: spdx-tech+ow...@lists.spdx.org
Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to