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: [email protected]
Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-