diff --git a/model/Core/Classes/Relationship.md b/model/Core/Classes/Relationship.md index a1e2ce7f8..bfd53a14d 100644 --- a/model/Core/Classes/Relationship.md +++ b/model/Core/Classes/Relationship.md @@ -11,6 +11,13 @@ Describes a relationship between one or more elements. A Relationship is a grouping of characteristics unique to an assertion that one Element is related to one or more other Elements in some way. +To explicitly assert that no such relationships exist, the `to` property +should contain the 'NONE' individual and no other elements. +A relationship that contains 'NONE' and additional elements in the `to` property is not valid. + +To explicitly assert that no assertions are being made regarding the +existence of such relationships, the `to` property should contain the 'NOASSERTION' individual. + ## Metadata - name: Relationship @@ -25,7 +32,7 @@ that one Element is related to one or more other Elements in some way. - maxCount: 1 - to - type: Element - - minCount: 0 + - minCount: 1 - relationshipType - type: RelationshipType - minCount: 1 diff --git a/model/Core/Individuals/NoAssertionElement.md b/model/Core/Individuals/NoAssertionElement.md new file mode 100644 index 000000000..2e098de78 --- /dev/null +++ b/model/Core/Individuals/NoAssertionElement.md @@ -0,0 +1,26 @@ +SPDX-License-Identifier: Community-Spec-1.0 + +# NoAssertionElement + +## Summary +An Individual Value for Element representing a set of Elements of unknown +identify or cardinality (number). + +## Description + +NoAssertionElement should be used if +the SPDX creator has attempted to but cannot reach a reasonable objective determination; +the SPDX creator has made no attempt to determine this field; or +the SPDX creator has intentionally provided no information (no meaning should be implied by doing so). + +For example, a Relationship with `from`=Element1, `relationshipType`="ancestorOf", +and `to`=NOASSERTION is explicitly expressing that no assertion is being made about any potential descendents of Element1. + +## Metadata + +- name: NoAssertionElement +- type: Element + +## Property Values + +- name: "NOASSERTION" diff --git a/model/Core/Individuals/NoneElement.md b/model/Core/Individuals/NoneElement.md new file mode 100644 index 000000000..54f122e3b --- /dev/null +++ b/model/Core/Individuals/NoneElement.md @@ -0,0 +1,25 @@ +SPDX-License-Identifier: Community-Spec-1.0 + +# NoneElement + +## Summary + +An Individual Value for Element representing a set of Elements with +cardinality (number/count) of zero. + +## Description + +NoneLicenseElement should be used if the SPDX creator desires to assert that +there are NO elements for the given context of use. + +For example, a Relationship with `from`=Element1, `relationshipType`="ancestorOf", +and `to`=NONE is explicitly expressing an assertion that Element1 has no descendents. + +## Metadata + +- name: NoneElement +- type: Element + +## Property Values + +- name: "NONE"