nmdc-schema 11.11.1__py3-none-any.whl → 11.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
nmdc_schema/nmdc.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # Auto generated from nmdc.yaml by pythongen.py version: 0.0.1
2
- # Generation date: 2025-09-19T01:08:09
2
+ # Generation date: 2025-10-09T17:14:07
3
3
  # Schema: NMDC
4
4
  #
5
5
  # id: https://w3id.org/nmdc/nmdc
@@ -60,7 +60,7 @@ from linkml_runtime.linkml_model.types import Boolean, Decimal, Double, Float, I
60
60
  from linkml_runtime.utils.metamodelcore import Bool, Decimal, URIorCURIE
61
61
 
62
62
  metamodel_version = "1.7.0"
63
- version = "11.11.1"
63
+ version = "11.12.0"
64
64
 
65
65
  # Namespaces
66
66
  BFO = CurieNamespace('BFO', 'http://purl.obolibrary.org/obo/BFO_')
@@ -1194,6 +1194,74 @@ class GeolocationValue(AttributeValue):
1194
1194
  self.type = str(self.class_class_curie)
1195
1195
 
1196
1196
 
1197
+ @dataclass(repr=False)
1198
+ class PropertyAssertion(AttributeValue):
1199
+ """
1200
+ A structured record of data that doesn't fit nicely within the constraints of other NMDC AttributeValues. Uses
1201
+ primitive ranges only.
1202
+ """
1203
+ _inherited_slots: ClassVar[list[str]] = []
1204
+
1205
+ class_class_uri: ClassVar[URIRef] = NMDC["PropertyAssertion"]
1206
+ class_class_curie: ClassVar[str] = "nmdc:PropertyAssertion"
1207
+ class_name: ClassVar[str] = "PropertyAssertion"
1208
+ class_model_uri: ClassVar[URIRef] = NMDC.PropertyAssertion
1209
+
1210
+ type: Union[str, URIorCURIE] = None
1211
+ has_raw_value: str = None
1212
+ has_attribute_label: Optional[str] = None
1213
+ has_attribute_id: Optional[Union[str, URIorCURIE]] = None
1214
+ has_quantity_kind_id: Optional[Union[str, URIorCURIE]] = None
1215
+ has_value_term_id: Optional[Union[str, URIorCURIE]] = None
1216
+ has_boolean_value: Optional[Union[bool, Bool]] = None
1217
+ has_datetime_value: Optional[str] = None
1218
+ has_numeric_value: Optional[Decimal] = None
1219
+ has_minimum_numeric_value: Optional[Decimal] = None
1220
+ has_maximum_numeric_value: Optional[Decimal] = None
1221
+ has_unit: Optional[str] = None
1222
+
1223
+ def __post_init__(self, *_: str, **kwargs: Any):
1224
+ if self._is_empty(self.has_raw_value):
1225
+ self.MissingRequiredField("has_raw_value")
1226
+ if not isinstance(self.has_raw_value, str):
1227
+ self.has_raw_value = str(self.has_raw_value)
1228
+
1229
+ if self.has_attribute_label is not None and not isinstance(self.has_attribute_label, str):
1230
+ self.has_attribute_label = str(self.has_attribute_label)
1231
+
1232
+ if self.has_attribute_id is not None and not isinstance(self.has_attribute_id, URIorCURIE):
1233
+ self.has_attribute_id = URIorCURIE(self.has_attribute_id)
1234
+
1235
+ if self.has_quantity_kind_id is not None and not isinstance(self.has_quantity_kind_id, URIorCURIE):
1236
+ self.has_quantity_kind_id = URIorCURIE(self.has_quantity_kind_id)
1237
+
1238
+ if self.has_value_term_id is not None and not isinstance(self.has_value_term_id, URIorCURIE):
1239
+ self.has_value_term_id = URIorCURIE(self.has_value_term_id)
1240
+
1241
+ if self.has_boolean_value is not None and not isinstance(self.has_boolean_value, Bool):
1242
+ self.has_boolean_value = Bool(self.has_boolean_value)
1243
+
1244
+ if self.has_datetime_value is not None and not isinstance(self.has_datetime_value, str):
1245
+ self.has_datetime_value = str(self.has_datetime_value)
1246
+
1247
+ if self.has_numeric_value is not None and not isinstance(self.has_numeric_value, Decimal):
1248
+ self.has_numeric_value = Decimal(self.has_numeric_value)
1249
+
1250
+ if self.has_minimum_numeric_value is not None and not isinstance(self.has_minimum_numeric_value, Decimal):
1251
+ self.has_minimum_numeric_value = Decimal(self.has_minimum_numeric_value)
1252
+
1253
+ if self.has_maximum_numeric_value is not None and not isinstance(self.has_maximum_numeric_value, Decimal):
1254
+ self.has_maximum_numeric_value = Decimal(self.has_maximum_numeric_value)
1255
+
1256
+ if self.has_unit is not None and not isinstance(self.has_unit, str):
1257
+ self.has_unit = str(self.has_unit)
1258
+
1259
+ super().__post_init__(**kwargs)
1260
+ if self._is_empty(self.type):
1261
+ self.MissingRequiredField("type")
1262
+ self.type = str(self.class_class_curie)
1263
+
1264
+
1197
1265
  @dataclass(repr=False)
1198
1266
  class NamedThing(YAMLRoot):
1199
1267
  """
@@ -1848,7 +1916,7 @@ class Biosample(Sample):
1848
1916
  micro_biomass_meth: Optional[str] = None
1849
1917
  microbial_biomass: Optional[Union[dict, QuantityValue]] = None
1850
1918
  mineral_nutr_regm: Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]] = empty_list()
1851
- misc_param: Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]] = empty_list()
1919
+ misc_param: Optional[Union[Union[dict, PropertyAssertion], list[Union[dict, PropertyAssertion]]]] = empty_list()
1852
1920
  n_alkanes: Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]] = empty_list()
1853
1921
  nitrate: Optional[Union[dict, QuantityValue]] = None
1854
1922
  nitrite: Optional[Union[dict, QuantityValue]] = None
@@ -2949,7 +3017,7 @@ class Biosample(Sample):
2949
3017
 
2950
3018
  if not isinstance(self.misc_param, list):
2951
3019
  self.misc_param = [self.misc_param] if self.misc_param is not None else []
2952
- self.misc_param = [v if isinstance(v, TextValue) else TextValue(**as_dict(v)) for v in self.misc_param]
3020
+ self.misc_param = [v if isinstance(v, PropertyAssertion) else PropertyAssertion(**as_dict(v)) for v in self.misc_param]
2953
3021
 
2954
3022
  if not isinstance(self.n_alkanes, list):
2955
3023
  self.n_alkanes = [self.n_alkanes] if self.n_alkanes is not None else []
@@ -4008,7 +4076,8 @@ class FieldResearchSite(Site):
4008
4076
  @dataclass(repr=False)
4009
4077
  class Instrument(MaterialEntity):
4010
4078
  """
4011
- A material entity that is designed to perform a function in a scientific investigation, but is not a reagent.
4079
+ A material entity that is designed to perform a function in a scientific investigation, but is not a reagent. This
4080
+ class models the make and model of the instrument, not the specific instance of the instrument.
4012
4081
  """
4013
4082
  _inherited_slots: ClassVar[list[str]] = []
4014
4083
 
@@ -4736,6 +4805,8 @@ class Protocol(YAMLRoot):
4736
4805
  url: Optional[str] = None
4737
4806
  name: Optional[str] = None
4738
4807
  description: Optional[str] = None
4808
+ protocol_for: Optional[Union[str, "ProtocolForEnum"]] = None
4809
+ analysis_type: Optional[Union[Union[str, "AnalysisTypeEnum"], list[Union[str, "AnalysisTypeEnum"]]]] = empty_list()
4739
4810
 
4740
4811
  def __post_init__(self, *_: str, **kwargs: Any):
4741
4812
  if self._is_empty(self.type):
@@ -4751,6 +4822,13 @@ class Protocol(YAMLRoot):
4751
4822
  if self.description is not None and not isinstance(self.description, str):
4752
4823
  self.description = str(self.description)
4753
4824
 
4825
+ if self.protocol_for is not None and not isinstance(self.protocol_for, ProtocolForEnum):
4826
+ self.protocol_for = ProtocolForEnum(self.protocol_for)
4827
+
4828
+ if not isinstance(self.analysis_type, list):
4829
+ self.analysis_type = [self.analysis_type] if self.analysis_type is not None else []
4830
+ self.analysis_type = [v if isinstance(v, AnalysisTypeEnum) else AnalysisTypeEnum(v) for v in self.analysis_type]
4831
+
4754
4832
  super().__post_init__(**kwargs)
4755
4833
 
4756
4834
 
@@ -6950,6 +7028,9 @@ class UnitEnum(EnumDefinitionImpl):
6950
7028
  cm = PermissibleValue(
6951
7029
  text="cm",
6952
7030
  description="The Unified Code for Units of Measure (UCUM) representation of centimeter.")
7031
+ cP = PermissibleValue(
7032
+ text="cP",
7033
+ description="The Unified Code for Units of Measure (UCUM) representation of centipoise.")
6953
7034
  d = PermissibleValue(
6954
7035
  text="d",
6955
7036
  description="The Unified Code for Units of Measure (UCUM) representation of day.")
@@ -6986,27 +7067,21 @@ class UnitEnum(EnumDefinitionImpl):
6986
7067
  atm = PermissibleValue(
6987
7068
  text="atm",
6988
7069
  description="The Unified Code for Units of Measure (UCUM) representation of atmosphere.")
7070
+ V = PermissibleValue(
7071
+ text="V",
7072
+ description="The Unified Code for Units of Measure (UCUM) representation of volt.")
6989
7073
  mV = PermissibleValue(
6990
7074
  text="mV",
6991
7075
  description="The Unified Code for Units of Measure (UCUM) representation of millivolt.")
6992
- PSU = PermissibleValue(
6993
- text="PSU",
6994
- description="The Unified Code for Units of Measure (UCUM) representation of practical salinity unit.")
6995
7076
  L = PermissibleValue(
6996
7077
  text="L",
6997
7078
  description="The Unified Code for Units of Measure (UCUM) representation of liter.")
6998
7079
  um = PermissibleValue(
6999
7080
  text="um",
7000
7081
  description="The Unified Code for Units of Measure (UCUM) representation of micrometer.")
7001
- y = PermissibleValue(
7002
- text="y",
7003
- description="The Unified Code for Units of Measure (UCUM) representation of year.")
7004
7082
  kg = PermissibleValue(
7005
7083
  text="kg",
7006
7084
  description="The Unified Code for Units of Measure (UCUM) representation of kilogram.")
7007
- ppt = PermissibleValue(
7008
- text="ppt",
7009
- description="The Unified Code for Units of Measure (UCUM) representation of parts per thousand.")
7010
7085
  lx = PermissibleValue(
7011
7086
  text="lx",
7012
7087
  description="The Unified Code for Units of Measure (UCUM) representation of lux.")
@@ -7106,30 +7181,30 @@ class UnitEnum(EnumDefinitionImpl):
7106
7181
  kW = PermissibleValue(
7107
7182
  text="kW",
7108
7183
  description="The Unified Code for Units of Measure (UCUM) representation of kilowatt.")
7109
- API = PermissibleValue(
7110
- text="API",
7111
- description="The Unified Code for Units of Measure (UCUM) representation of API units.")
7112
7184
  mbar = PermissibleValue(
7113
7185
  text="mbar",
7114
7186
  description="The Unified Code for Units of Measure (UCUM) representation of millibar.")
7115
- ratio = PermissibleValue(
7116
- text="ratio",
7117
- description="The Unified Code for Units of Measure (UCUM) representation of ratio (dimensionless).")
7118
- people = PermissibleValue(
7119
- text="people",
7120
- description="The Unified Code for Units of Measure (UCUM) representation of people count.")
7121
- pets = PermissibleValue(
7122
- text="pets",
7123
- description="The Unified Code for Units of Measure (UCUM) representation of pet count.")
7124
- plants = PermissibleValue(
7125
- text="plants",
7126
- description="The Unified Code for Units of Measure (UCUM) representation of plant count.")
7127
- pH = PermissibleValue(
7128
- text="pH",
7129
- description="The Unified Code for Units of Measure (UCUM) representation of pH units.")
7130
- NTU = PermissibleValue(
7131
- text="NTU",
7132
- description="The Unified Code for Units of Measure (UCUM) representation of Nephelometric Turbidity Units.")
7187
+ mg = PermissibleValue(
7188
+ text="mg",
7189
+ description="The Unified Code for Units of Measure (UCUM) representation of milligram.")
7190
+ wk = PermissibleValue(
7191
+ text="wk",
7192
+ description="The Unified Code for Units of Measure (UCUM) representation of week.")
7193
+ Gy = PermissibleValue(
7194
+ text="Gy",
7195
+ description="The Unified Code for Units of Measure (UCUM) representation of gray (absorbed dose).")
7196
+ RAD = PermissibleValue(
7197
+ text="RAD",
7198
+ description="The Unified Code for Units of Measure (UCUM) representation of rad (radiation absorbed dose).")
7199
+ m3 = PermissibleValue(
7200
+ text="m3",
7201
+ description="The Unified Code for Units of Measure (UCUM) representation of cubic meter.")
7202
+ ug = PermissibleValue(
7203
+ text="ug",
7204
+ description="The Unified Code for Units of Measure (UCUM) representation of microgram.")
7205
+ cm2 = PermissibleValue(
7206
+ text="cm2",
7207
+ description="The Unified Code for Units of Measure (UCUM) representation of square centimeter.")
7133
7208
 
7134
7209
  _defn = EnumDefinition(
7135
7210
  name="UnitEnum",
@@ -7237,6 +7312,10 @@ class UnitEnum(EnumDefinitionImpl):
7237
7312
  PermissibleValue(
7238
7313
  text="uL/kg",
7239
7314
  description="""The Unified Code for Units of Measure (UCUM) representation of microliters per kilogram."""))
7315
+ setattr(cls, "[ppth]",
7316
+ PermissibleValue(
7317
+ text="[ppth]",
7318
+ description="The Unified Code for Units of Measure (UCUM) representation of parts per thousand."))
7240
7319
  setattr(cls, "g/g",
7241
7320
  PermissibleValue(
7242
7321
  text="g/g",
@@ -7297,14 +7376,10 @@ class UnitEnum(EnumDefinitionImpl):
7297
7376
  PermissibleValue(
7298
7377
  text="pg/mL",
7299
7378
  description="""The Unified Code for Units of Measure (UCUM) representation of picograms per milliliter."""))
7300
- setattr(cls, "J/Cel",
7379
+ setattr(cls, "1/d",
7301
7380
  PermissibleValue(
7302
- text="J/Cel",
7303
- description="The Unified Code for Units of Measure (UCUM) representation of joules per Celsius."))
7304
- setattr(cls, "uE/m2/s",
7305
- PermissibleValue(
7306
- text="uE/m2/s",
7307
- description="""The Unified Code for Units of Measure (UCUM) representation of microeinsteins per square meter per second."""))
7381
+ text="1/d",
7382
+ description="The Unified Code for Units of Measure (UCUM) representation of per day (frequency)."))
7308
7383
  setattr(cls, "kW/m2",
7309
7384
  PermissibleValue(
7310
7385
  text="kW/m2",
@@ -7321,10 +7396,22 @@ class UnitEnum(EnumDefinitionImpl):
7321
7396
  PermissibleValue(
7322
7397
  text="L/h",
7323
7398
  description="The Unified Code for Units of Measure (UCUM) representation of liters per hour."))
7399
+ setattr(cls, "[pH]",
7400
+ PermissibleValue(
7401
+ text="[pH]",
7402
+ description="The Unified Code for Units of Measure (UCUM) representation of pH units."))
7324
7403
  setattr(cls, "kW/m2/d",
7325
7404
  PermissibleValue(
7326
7405
  text="kW/m2/d",
7327
7406
  description="""The Unified Code for Units of Measure (UCUM) representation of kilowatts per square meter per day."""))
7407
+ setattr(cls, "[NTU]",
7408
+ PermissibleValue(
7409
+ text="[NTU]",
7410
+ description="""The Unified Code for Units of Measure (UCUM) representation of Nephelometric Turbidity Units."""))
7411
+ setattr(cls, "[FNU]",
7412
+ PermissibleValue(
7413
+ text="[FNU]",
7414
+ description="""The Unified Code for Units of Measure (UCUM) representation of Formazin Nephelometric Units."""))
7328
7415
  setattr(cls, "m3/min",
7329
7416
  PermissibleValue(
7330
7417
  text="m3/min",
@@ -7333,6 +7420,94 @@ class UnitEnum(EnumDefinitionImpl):
7333
7420
  PermissibleValue(
7334
7421
  text="km/h",
7335
7422
  description="The Unified Code for Units of Measure (UCUM) representation of kilometers per hour."))
7423
+ setattr(cls, "[lb_av]",
7424
+ PermissibleValue(
7425
+ text="[lb_av]",
7426
+ description="The Unified Code for Units of Measure (UCUM) representation of pound (avoirdupois)."))
7427
+ setattr(cls, "kg/kg",
7428
+ PermissibleValue(
7429
+ text="kg/kg",
7430
+ description="The Unified Code for Units of Measure (UCUM) representation of kilogram per kilogram."))
7431
+ setattr(cls, "ug/m3",
7432
+ PermissibleValue(
7433
+ text="ug/m3",
7434
+ description="""The Unified Code for Units of Measure (UCUM) representation of micrograms per cubic meter."""))
7435
+ setattr(cls, "meq/L",
7436
+ PermissibleValue(
7437
+ text="meq/L",
7438
+ description="""The Unified Code for Units of Measure (UCUM) representation of milliequivalents per liter."""))
7439
+ setattr(cls, "lm/m2",
7440
+ PermissibleValue(
7441
+ text="lm/m2",
7442
+ description="""The Unified Code for Units of Measure (UCUM) representation of lumens per square meter."""))
7443
+ setattr(cls, "umol/L/h",
7444
+ PermissibleValue(
7445
+ text="umol/L/h",
7446
+ description="""The Unified Code for Units of Measure (UCUM) representation of micromoles per liter per hour."""))
7447
+ setattr(cls, "g/cm3",
7448
+ PermissibleValue(
7449
+ text="g/cm3",
7450
+ description="""The Unified Code for Units of Measure (UCUM) representation of grams per cubic centimeter."""))
7451
+ setattr(cls, "g/L",
7452
+ PermissibleValue(
7453
+ text="g/L",
7454
+ description="The Unified Code for Units of Measure (UCUM) representation of grams per liter."))
7455
+ setattr(cls, "[g]",
7456
+ PermissibleValue(
7457
+ text="[g]",
7458
+ description="The Unified Code for Units of Measure (UCUM) representation of standard gravity."))
7459
+ setattr(cls, "m/s2",
7460
+ PermissibleValue(
7461
+ text="m/s2",
7462
+ description="""The Unified Code for Units of Measure (UCUM) representation of meters per second squared."""))
7463
+ setattr(cls, "mol/g",
7464
+ PermissibleValue(
7465
+ text="mol/g",
7466
+ description="The Unified Code for Units of Measure (UCUM) representation of moles per gram."))
7467
+ setattr(cls, "g/m2/d",
7468
+ PermissibleValue(
7469
+ text="g/m2/d",
7470
+ description="""The Unified Code for Units of Measure (UCUM) representation of grams per square meter per day."""))
7471
+ setattr(cls, "[sft_i]",
7472
+ PermissibleValue(
7473
+ text="[sft_i]",
7474
+ description="The Unified Code for Units of Measure (UCUM) representation of square feet."))
7475
+ setattr(cls, "[cft_i]",
7476
+ PermissibleValue(
7477
+ text="[cft_i]",
7478
+ description="The Unified Code for Units of Measure (UCUM) representation of cubic feet."))
7479
+ setattr(cls, "mm/a",
7480
+ PermissibleValue(
7481
+ text="mm/a",
7482
+ description="The Unified Code for Units of Measure (UCUM) representation of millimeters per year."))
7483
+ setattr(cls, "erg/cm2/s",
7484
+ PermissibleValue(
7485
+ text="erg/cm2/s",
7486
+ description="""The Unified Code for Units of Measure (UCUM) representation of ergs per square centimeter per second."""))
7487
+ setattr(cls, "g/m2",
7488
+ PermissibleValue(
7489
+ text="g/m2",
7490
+ description="The Unified Code for Units of Measure (UCUM) representation of grams per square meter."))
7491
+ setattr(cls, "L/s",
7492
+ PermissibleValue(
7493
+ text="L/s",
7494
+ description="The Unified Code for Units of Measure (UCUM) representation of liters per second."))
7495
+ setattr(cls, "cm3/cm3",
7496
+ PermissibleValue(
7497
+ text="cm3/cm3",
7498
+ description="""The Unified Code for Units of Measure (UCUM) representation of cubic centimeters per cubic centimeter."""))
7499
+ setattr(cls, "[kn_i]",
7500
+ PermissibleValue(
7501
+ text="[kn_i]",
7502
+ description="""The Unified Code for Units of Measure (UCUM) representation of knot (nautical miles per hour)."""))
7503
+ setattr(cls, "m3/s",
7504
+ PermissibleValue(
7505
+ text="m3/s",
7506
+ description="""The Unified Code for Units of Measure (UCUM) representation of cubic meters per second."""))
7507
+ setattr(cls, "[in_i]",
7508
+ PermissibleValue(
7509
+ text="[in_i]",
7510
+ description="The Unified Code for Units of Measure (UCUM) representation of inch."))
7336
7511
 
7337
7512
  class ExecutionResourceEnum(EnumDefinitionImpl):
7338
7513
 
@@ -8198,6 +8373,46 @@ class FailureWhereEnum(EnumDefinitionImpl):
8198
8373
  description="""The permitted values for describing where in the process, either a lab or analysis workflow step, the failure occurred.""",
8199
8374
  )
8200
8375
 
8376
+ class ProtocolForEnum(EnumDefinitionImpl):
8377
+ """
8378
+ The permitted values for describing the type of planned process that a protocol describes.
8379
+ """
8380
+ AnnotatingWorkflow = PermissibleValue(text="AnnotatingWorkflow")
8381
+ ChemicalConversionProcess = PermissibleValue(text="ChemicalConversionProcess")
8382
+ ChromatographicSeparationProcess = PermissibleValue(text="ChromatographicSeparationProcess")
8383
+ CollectingBiosamplesFromSite = PermissibleValue(text="CollectingBiosamplesFromSite")
8384
+ DataEmitterProcess = PermissibleValue(text="DataEmitterProcess")
8385
+ DataGeneration = PermissibleValue(text="DataGeneration")
8386
+ DissolvingProcess = PermissibleValue(text="DissolvingProcess")
8387
+ Extraction = PermissibleValue(text="Extraction")
8388
+ FiltrationProcess = PermissibleValue(text="FiltrationProcess")
8389
+ LibraryPreparation = PermissibleValue(text="LibraryPreparation")
8390
+ MagsAnalysis = PermissibleValue(text="MagsAnalysis")
8391
+ MassSpectrometry = PermissibleValue(text="MassSpectrometry")
8392
+ MaterialProcessing = PermissibleValue(text="MaterialProcessing")
8393
+ MetabolomicsAnalysis = PermissibleValue(text="MetabolomicsAnalysis")
8394
+ MetagenomeAnnotation = PermissibleValue(text="MetagenomeAnnotation")
8395
+ MetagenomeAssembly = PermissibleValue(text="MetagenomeAssembly")
8396
+ MetaproteomicsAnalysis = PermissibleValue(text="MetaproteomicsAnalysis")
8397
+ MetatranscriptomeAnnotation = PermissibleValue(text="MetatranscriptomeAnnotation")
8398
+ MetatranscriptomeAssembly = PermissibleValue(text="MetatranscriptomeAssembly")
8399
+ MetatranscriptomeExpressionAnalysis = PermissibleValue(text="MetatranscriptomeExpressionAnalysis")
8400
+ MixingProcess = PermissibleValue(text="MixingProcess")
8401
+ NomAnalysis = PermissibleValue(text="NomAnalysis")
8402
+ NucleotideSequencing = PermissibleValue(text="NucleotideSequencing")
8403
+ PlannedProcess = PermissibleValue(text="PlannedProcess")
8404
+ Pooling = PermissibleValue(text="Pooling")
8405
+ ReadBasedTaxonomyAnalysis = PermissibleValue(text="ReadBasedTaxonomyAnalysis")
8406
+ ReadQcAnalysis = PermissibleValue(text="ReadQcAnalysis")
8407
+ StorageProcess = PermissibleValue(text="StorageProcess")
8408
+ SubSamplingProcess = PermissibleValue(text="SubSamplingProcess")
8409
+ WorkflowExecution = PermissibleValue(text="WorkflowExecution")
8410
+
8411
+ _defn = EnumDefinition(
8412
+ name="ProtocolForEnum",
8413
+ description="The permitted values for describing the type of planned process that a protocol describes.",
8414
+ )
8415
+
8201
8416
  class ArchStrucEnum(EnumDefinitionImpl):
8202
8417
 
8203
8418
  building = PermissibleValue(text="building")
@@ -10838,7 +11053,7 @@ slots.has_raw_value = Slot(uri=NMDC['attribute_values/has_raw_value'], name="has
10838
11053
  model_uri=NMDC.has_raw_value, domain=None, range=Optional[str])
10839
11054
 
10840
11055
  slots.has_unit = Slot(uri=NMDC['attribute_values/has_unit'], name="has_unit", curie=NMDC.curie('attribute_values/has_unit'),
10841
- model_uri=NMDC.has_unit, domain=None, range=Union[str, "UnitEnum"], mappings = [QUD["unit"], SCHEMA["unitCode"]])
11056
+ model_uri=NMDC.has_unit, domain=None, range=Optional[str], mappings = [QUD["unit"], SCHEMA["unitCode"]])
10842
11057
 
10843
11058
  slots.type = Slot(uri=RDF.type, name="type", curie=RDF.curie('type'),
10844
11059
  model_uri=NMDC.type, domain=None, range=Union[str, URIorCURIE])
@@ -10865,6 +11080,21 @@ slots.websites = Slot(uri=NMDC['attribute_values/websites'], name="websites", cu
10865
11080
  model_uri=NMDC.websites, domain=None, range=Optional[Union[str, list[str]]],
10866
11081
  pattern=re.compile(r'^[Hh][Tt][Tt][Pp][Ss]?:\/\/(?!.*[Dd][Oo][Ii]\.[Oo][Rr][Gg]).*$'))
10867
11082
 
11083
+ slots.has_attribute_label = Slot(uri=NMDC['attribute_values/has_attribute_label'], name="has_attribute_label", curie=NMDC.curie('attribute_values/has_attribute_label'),
11084
+ model_uri=NMDC.has_attribute_label, domain=None, range=Optional[str])
11085
+
11086
+ slots.has_attribute_id = Slot(uri=NMDC['attribute_values/has_attribute_id'], name="has_attribute_id", curie=NMDC.curie('attribute_values/has_attribute_id'),
11087
+ model_uri=NMDC.has_attribute_id, domain=None, range=Optional[Union[str, URIorCURIE]])
11088
+
11089
+ slots.has_quantity_kind_id = Slot(uri=NMDC['attribute_values/has_quantity_kind_id'], name="has_quantity_kind_id", curie=NMDC.curie('attribute_values/has_quantity_kind_id'),
11090
+ model_uri=NMDC.has_quantity_kind_id, domain=None, range=Optional[Union[str, URIorCURIE]])
11091
+
11092
+ slots.has_value_term_id = Slot(uri=NMDC['attribute_values/has_value_term_id'], name="has_value_term_id", curie=NMDC.curie('attribute_values/has_value_term_id'),
11093
+ model_uri=NMDC.has_value_term_id, domain=None, range=Optional[Union[str, URIorCURIE]])
11094
+
11095
+ slots.has_datetime_value = Slot(uri=NMDC['attribute_values/has_datetime_value'], name="has_datetime_value", curie=NMDC.curie('attribute_values/has_datetime_value'),
11096
+ model_uri=NMDC.has_datetime_value, domain=None, range=Optional[str])
11097
+
10868
11098
  slots.processing_institution_workflow_metadata = Slot(uri=NMDC.processing_institution_workflow_metadata, name="processing_institution_workflow_metadata", curie=NMDC.curie('processing_institution_workflow_metadata'),
10869
11099
  model_uri=NMDC.processing_institution_workflow_metadata, domain=None, range=Optional[str], mappings = [NCIT["C165211"]])
10870
11100
 
@@ -11116,6 +11346,9 @@ slots.qc_failure_where = Slot(uri=NMDC['basic_classes/qc_failure_where'], name="
11116
11346
  slots.qc_failure_what = Slot(uri=NMDC['basic_classes/qc_failure_what'], name="qc_failure_what", curie=NMDC.curie('basic_classes/qc_failure_what'),
11117
11347
  model_uri=NMDC.qc_failure_what, domain=None, range=Optional[Union[str, "FailureWhatEnum"]])
11118
11348
 
11349
+ slots.protocol_for = Slot(uri=NMDC['basic_classes/protocol_for'], name="protocol_for", curie=NMDC.curie('basic_classes/protocol_for'),
11350
+ model_uri=NMDC.protocol_for, domain=None, range=Optional[Union[str, "ProtocolForEnum"]])
11351
+
11119
11352
  slots.emsl_store_temp = Slot(uri=NMDC.emsl_store_temp, name="emsl_store_temp", curie=NMDC.curie('emsl_store_temp'),
11120
11353
  model_uri=NMDC.emsl_store_temp, domain=None, range=Optional[str])
11121
11354
 
@@ -12049,7 +12282,7 @@ slots.mineral_nutr_regm = Slot(uri=MIXS['0000570'], name="mineral_nutr_regm", cu
12049
12282
  model_uri=NMDC.mineral_nutr_regm, domain=None, range=Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]])
12050
12283
 
12051
12284
  slots.misc_param = Slot(uri=MIXS['0000752'], name="misc_param", curie=MIXS.curie('0000752'),
12052
- model_uri=NMDC.misc_param, domain=None, range=Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]])
12285
+ model_uri=NMDC.misc_param, domain=None, range=Optional[Union[Union[dict, PropertyAssertion], list[Union[dict, PropertyAssertion]]]])
12053
12286
 
12054
12287
  slots.n_alkanes = Slot(uri=MIXS['0000503'], name="n_alkanes", curie=MIXS.curie('0000503'),
12055
12288
  model_uri=NMDC.n_alkanes, domain=None, range=Optional[Union[Union[dict, TextValue], list[Union[dict, TextValue]]]])
@@ -13224,9 +13457,6 @@ slots.Biosample_al_sat = Slot(uri=MIXS['0000607'], name="Biosample_al_sat", curi
13224
13457
  slots.Biosample_al_sat_meth = Slot(uri=MIXS['0000324'], name="Biosample_al_sat_meth", curie=MIXS.curie('0000324'),
13225
13458
  model_uri=NMDC.Biosample_al_sat_meth, domain=Biosample, range=Optional[Union[dict, TextValue]])
13226
13459
 
13227
- slots.Biosample_annual_precpt = Slot(uri=MIXS['0000644'], name="Biosample_annual_precpt", curie=MIXS.curie('0000644'),
13228
- model_uri=NMDC.Biosample_annual_precpt, domain=Biosample, range=Optional[Union[dict, QuantityValue]])
13229
-
13230
13460
  slots.Biosample_cur_vegetation = Slot(uri=MIXS['0000312'], name="Biosample_cur_vegetation", curie=MIXS.curie('0000312'),
13231
13461
  model_uri=NMDC.Biosample_cur_vegetation, domain=Biosample, range=Optional[Union[dict, TextValue]])
13232
13462
 
@@ -13257,9 +13487,6 @@ slots.Biosample_tot_carb = Slot(uri=MIXS['0000525'], name="Biosample_tot_carb",
13257
13487
  slots.Biosample_tot_nitro_cont_meth = Slot(uri=MIXS['0000338'], name="Biosample_tot_nitro_cont_meth", curie=MIXS.curie('0000338'),
13258
13488
  model_uri=NMDC.Biosample_tot_nitro_cont_meth, domain=Biosample, range=Optional[str])
13259
13489
 
13260
- slots.Biosample_tot_nitro_content = Slot(uri=MIXS['0000530'], name="Biosample_tot_nitro_content", curie=MIXS.curie('0000530'),
13261
- model_uri=NMDC.Biosample_tot_nitro_content, domain=Biosample, range=Optional[Union[dict, QuantityValue]])
13262
-
13263
13490
  slots.Biosample_tot_org_c_meth = Slot(uri=MIXS['0000337'], name="Biosample_tot_org_c_meth", curie=MIXS.curie('0000337'),
13264
13491
  model_uri=NMDC.Biosample_tot_org_c_meth, domain=Biosample, range=Optional[Union[dict, TextValue]])
13265
13492
 
@@ -13327,6 +13554,12 @@ slots.GeolocationValue_latitude = Slot(uri=WGS84.lat, name="GeolocationValue_lat
13327
13554
  slots.GeolocationValue_longitude = Slot(uri=WGS84.long, name="GeolocationValue_longitude", curie=WGS84.curie('long'),
13328
13555
  model_uri=NMDC.GeolocationValue_longitude, domain=GeolocationValue, range=float, mappings = [SCHEMA["longitude"]])
13329
13556
 
13557
+ slots.PropertyAssertion_has_raw_value = Slot(uri=NMDC['attribute_values/has_raw_value'], name="PropertyAssertion_has_raw_value", curie=NMDC.curie('attribute_values/has_raw_value'),
13558
+ model_uri=NMDC.PropertyAssertion_has_raw_value, domain=PropertyAssertion, range=str)
13559
+
13560
+ slots.PropertyAssertion_has_unit = Slot(uri=NMDC['attribute_values/has_unit'], name="PropertyAssertion_has_unit", curie=NMDC.curie('attribute_values/has_unit'),
13561
+ model_uri=NMDC.PropertyAssertion_has_unit, domain=PropertyAssertion, range=Optional[str], mappings = [QUD["unit"], SCHEMA["unitCode"]])
13562
+
13330
13563
  slots.OntologyClass_id = Slot(uri=NMDC.id, name="OntologyClass_id", curie=NMDC.curie('id'),
13331
13564
  model_uri=NMDC.OntologyClass_id, domain=OntologyClass, range=Union[str, OntologyClassId],
13332
13565
  pattern=re.compile(r'^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,]*$'))