diff --git a/schema/bom-1.5.proto b/schema/bom-1.5.proto
index f6b565f84..a6ecd79d1 100644
--- a/schema/bom-1.5.proto
+++ b/schema/bom-1.5.proto
@@ -1009,6 +1009,8 @@ message ModelCard {
optional QuantitativeAnalysis quantitativeAnalysis = 3;
// What considerations should be taken into account regarding the model's construction, training, and application?
optional ModelCardConsiderations considerations = 4;
+ // Specifies optional, custom, properties
+ repeated Property properties = 5;
message ModelParameters {
// The overall approach to learning used by the model for problem solving.
diff --git a/schema/bom-1.5.xsd b/schema/bom-1.5.xsd
index dd5fe9d30..cf00327e9 100644
--- a/schema/bom-1.5.xsd
+++ b/schema/bom-1.5.xsd
@@ -3008,6 +3008,16 @@ limitations under the License.
+
+
+ Provides the ability to document properties in a name/value store.
+ This provides flexibility to include data not officially supported in the standard
+ without having to use additional namespaces or create extensions. Property names
+ of interest to the general public are encouraged to be registered in the
+ CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy.
+ Formal registration is OPTIONAL.
+
+
diff --git a/schema/bom-1.6.proto b/schema/bom-1.6.proto
index 3c96195dd..737a133af 100644
--- a/schema/bom-1.6.proto
+++ b/schema/bom-1.6.proto
@@ -1152,6 +1152,8 @@ message ModelCard {
optional QuantitativeAnalysis quantitativeAnalysis = 3;
// What considerations should be taken into account regarding the model's construction, training, and application?
optional ModelCardConsiderations considerations = 4;
+ // Specifies optional, custom, properties
+ repeated Property properties = 5;
message ModelParameters {
// The overall approach to learning used by the model for problem-solving.
diff --git a/schema/bom-1.6.xsd b/schema/bom-1.6.xsd
index ec5bb7180..67167615b 100644
--- a/schema/bom-1.6.xsd
+++ b/schema/bom-1.6.xsd
@@ -3386,6 +3386,16 @@ limitations under the License.
+
+
+ Provides the ability to document properties in a name/value store.
+ This provides flexibility to include data not officially supported in the standard
+ without having to use additional namespaces or create extensions. Property names
+ of interest to the general public are encouraged to be registered in the
+ CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy.
+ Formal registration is OPTIONAL.
+
+
diff --git a/schema/bom-1.7.proto b/schema/bom-1.7.proto
index e288d618a..5a1dc6c84 100644
--- a/schema/bom-1.7.proto
+++ b/schema/bom-1.7.proto
@@ -1254,6 +1254,8 @@ message ModelCard {
optional QuantitativeAnalysis quantitativeAnalysis = 3;
// What considerations should be taken into account regarding the model's construction, training, and application?
optional ModelCardConsiderations considerations = 4;
+ // Specifies optional, custom, properties
+ repeated Property properties = 5;
message ModelParameters {
// The overall approach to learning used by the model for problem-solving.
diff --git a/schema/bom-1.7.xsd b/schema/bom-1.7.xsd
index a6d2804c1..c1c4ff7ca 100644
--- a/schema/bom-1.7.xsd
+++ b/schema/bom-1.7.xsd
@@ -3629,6 +3629,16 @@ limitations under the License.
+
+
+ Provides the ability to document properties in a name/value store.
+ This provides flexibility to include data not officially supported in the standard
+ without having to use additional namespaces or create extensions. Property names
+ of interest to the general public are encouraged to be registered in the
+ CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy.
+ Formal registration is OPTIONAL.
+
+
diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json
index 59dc3ceef..15ff354da 100644
--- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json
+++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json
@@ -85,7 +85,17 @@
"mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
]
- }
+ },
+ "properties": [
+ {
+ "name": "modelcard:custom-property",
+ "value": "custom-value"
+ },
+ {
+ "name": "modelcard:another-custom-property",
+ "value": "another-custom-value"
+ }
+ ]
}
}
]
diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto
index 4e54321d7..a95a91200 100644
--- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto
+++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto
@@ -62,5 +62,13 @@ components {
mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
}
+ properties: {
+ name: "modelcard:custom-property"
+ value: "custom-value"
+ }
+ properties: {
+ name: "modelcard:another-custom-property"
+ value: "another-custom-value"
+ }
}
}
diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml
index 7c541ecb8..a347856d2 100644
--- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml
+++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml
@@ -86,6 +86,10 @@
+
+ custom-value
+ another-custom-value
+
diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json
index dbd0ea7b6..6ab6c4a68 100644
--- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json
+++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json
@@ -87,7 +87,17 @@
"mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
]
- }
+ },
+ "properties": [
+ {
+ "name": "modelcard:custom-property",
+ "value": "custom-value"
+ },
+ {
+ "name": "modelcard:another-custom-property",
+ "value": "another-custom-value"
+ }
+ ]
}
}
]
diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto
index 54452d656..145c80dc7 100644
--- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto
+++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto
@@ -77,5 +77,13 @@ components {
mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
}
+ properties: {
+ name: "modelcard:custom-property"
+ value: "custom-value"
+ }
+ properties: {
+ name: "modelcard:another-custom-property"
+ value: "another-custom-value"
+ }
}
}
diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml
index 6013b1c3d..524790bd8 100644
--- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml
+++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml
@@ -86,6 +86,10 @@
+
+ custom-value
+ another-custom-value
+
diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json
index cb64ee801..3283961cf 100644
--- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json
+++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json
@@ -95,7 +95,17 @@
"mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
]
- }
+ },
+ "properties": [
+ {
+ "name": "modelcard:custom-property",
+ "value": "custom-value"
+ },
+ {
+ "name": "modelcard:another-custom-property",
+ "value": "another-custom-value"
+ }
+ ]
}
}
]
diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto
index 25b78f5dc..487c3c721 100644
--- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto
+++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto
@@ -76,5 +76,13 @@ components: {
mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented."
}
}
+ properties: {
+ name: "modelcard:custom-property"
+ value: "custom-value"
+ }
+ properties: {
+ name: "modelcard:another-custom-property"
+ value: "another-custom-value"
+ }
}
}
diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml
index 38df43ff7..721544960 100644
--- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml
+++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml
@@ -88,6 +88,10 @@
+
+ custom-value
+ another-custom-value
+