nmdc-schema 11.13.0__py3-none-any.whl → 11.14.0rc1__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/migrators/migrator_from_11_13_0_to_11_14_0.py +113 -0
- nmdc_schema/nmdc-pydantic.py +11 -26
- nmdc_schema/nmdc.py +6 -12
- nmdc_schema/nmdc.schema.json +2 -4
- nmdc_schema/nmdc_materialized_patterns.json +27 -37
- nmdc_schema/nmdc_materialized_patterns.schema.json +2 -4
- nmdc_schema/nmdc_materialized_patterns.yaml +29 -39
- {nmdc_schema-11.13.0.dist-info → nmdc_schema-11.14.0rc1.dist-info}/METADATA +1 -1
- {nmdc_schema-11.13.0.dist-info → nmdc_schema-11.14.0rc1.dist-info}/RECORD +12 -11
- {nmdc_schema-11.13.0.dist-info → nmdc_schema-11.14.0rc1.dist-info}/WHEEL +0 -0
- {nmdc_schema-11.13.0.dist-info → nmdc_schema-11.14.0rc1.dist-info}/entry_points.txt +0 -0
- {nmdc_schema-11.13.0.dist-info → nmdc_schema-11.14.0rc1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
from linkml.validator import Validator
|
|
2
|
+
|
|
3
|
+
from nmdc_schema.migrators.migrator_base import MigratorBase
|
|
4
|
+
import sys
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from nmdc_schema.migrators.helpers import create_schema_view, get_classes_with_slots_by_range, \
|
|
7
|
+
get_database_collections_for_class
|
|
8
|
+
from nmdc_schema import NmdcSchemaValidationPlugin
|
|
9
|
+
|
|
10
|
+
project_root = Path(__file__).parent.parent.parent
|
|
11
|
+
sys.path.insert(0, str(project_root))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Migrator(MigratorBase):
|
|
15
|
+
r"""A check-only migrator that raises an exception if any QuantityValue's has_unit slot
|
|
16
|
+
is not valid against the slot's storage_unit or UnitEnum constraints."""
|
|
17
|
+
|
|
18
|
+
_from_version = '11.13.0'
|
|
19
|
+
_to_version = '11.14.0'
|
|
20
|
+
|
|
21
|
+
def __init__(self, *args, **kwargs):
|
|
22
|
+
super().__init__(*args, **kwargs)
|
|
23
|
+
|
|
24
|
+
self.schema_view = create_schema_view()
|
|
25
|
+
self.validator = Validator(
|
|
26
|
+
self.schema_view.schema,
|
|
27
|
+
# This is intentionally *only* using the NMDC plugin, because this migrator is *only*
|
|
28
|
+
# concerned with validating the QuantityValue-related constraints that the plugin
|
|
29
|
+
# implements.
|
|
30
|
+
validation_plugins=[
|
|
31
|
+
NmdcSchemaValidationPlugin()
|
|
32
|
+
]
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
def upgrade(self, commit_changes: bool = False) -> None:
|
|
36
|
+
r'''
|
|
37
|
+
Migrates the database from conforming to the original schema, to conforming to the new schema.
|
|
38
|
+
'''
|
|
39
|
+
|
|
40
|
+
# Get the schema classes which have slots with range QuantityValue
|
|
41
|
+
classes_with_qv_slots = get_classes_with_slots_by_range(self.schema_view, 'QuantityValue')
|
|
42
|
+
|
|
43
|
+
# Get the Database collection names that can hold these classes
|
|
44
|
+
eligible_collection_names = set()
|
|
45
|
+
for class_name in classes_with_qv_slots.keys():
|
|
46
|
+
collection_names = get_database_collections_for_class(self.schema_view, class_name)
|
|
47
|
+
eligible_collection_names.update(collection_names)
|
|
48
|
+
|
|
49
|
+
# Apply migrator through collections
|
|
50
|
+
self.logger.info("Checking QuantityValue units against UnitEnum and storage_units constraints")
|
|
51
|
+
for collection_name in eligible_collection_names:
|
|
52
|
+
self.logger.info(f" Checking collection '{collection_name}'")
|
|
53
|
+
self.adapter.do_for_each_document(collection_name, self.confirm_units_fit_unitenum_and_storage_units)
|
|
54
|
+
|
|
55
|
+
def confirm_units_fit_unitenum_and_storage_units(self, document: dict) -> None:
|
|
56
|
+
r'''
|
|
57
|
+
Raise an exception if the QuantityValue's has_unit slot is not valid against slot's storage_unit or UnitEnum constraints.
|
|
58
|
+
|
|
59
|
+
>>> m = Migrator()
|
|
60
|
+
|
|
61
|
+
# Test: valid QuantityValue with proper units in biosample
|
|
62
|
+
>>> valid_biosample = {
|
|
63
|
+
... "id": "test1",
|
|
64
|
+
... "type": "nmdc:Biosample",
|
|
65
|
+
... "bulk_elect_conductivity": {
|
|
66
|
+
... "type": "nmdc:QuantityValue",
|
|
67
|
+
... "has_unit": "mS/cm",
|
|
68
|
+
... "has_numeric_value": 25.0
|
|
69
|
+
... }
|
|
70
|
+
... }
|
|
71
|
+
>>> m.confirm_units_fit_unitenum_and_storage_units(valid_biosample) # Should not raise
|
|
72
|
+
|
|
73
|
+
# Test: unit not allowed for bulk_elect_conductivity's storage_units
|
|
74
|
+
>>> invalid_biosample_storage = {
|
|
75
|
+
... "id": "test2",
|
|
76
|
+
... "type": "nmdc:Biosample",
|
|
77
|
+
... "bulk_elect_conductivity": {
|
|
78
|
+
... "type": "nmdc:QuantityValue",
|
|
79
|
+
... "has_unit": "Cel",
|
|
80
|
+
... "has_numeric_value": 25.0
|
|
81
|
+
... }
|
|
82
|
+
... }
|
|
83
|
+
>>> m.confirm_units_fit_unitenum_and_storage_units(invalid_biosample_storage)
|
|
84
|
+
Traceback (most recent call last):
|
|
85
|
+
...
|
|
86
|
+
ValueError: In test2:
|
|
87
|
+
QuantityValue at /bulk_elect_conductivity has unit 'Cel' which is not allowed for slot 'bulk_elect_conductivity' (allowed: mS/cm)
|
|
88
|
+
|
|
89
|
+
# Test: unit not allowed for substances_volume's storage_units
|
|
90
|
+
>>> invalid_chem_storage = {
|
|
91
|
+
... "id": "test3",
|
|
92
|
+
... "type": "nmdc:ChemicalConversionProcess",
|
|
93
|
+
... "substances_volume": {
|
|
94
|
+
... "type": "nmdc:QuantityValue",
|
|
95
|
+
... "has_unit": "J/K", # Wrong unit type for substances_volume
|
|
96
|
+
... "has_numeric_value": 25.0
|
|
97
|
+
... }
|
|
98
|
+
... }
|
|
99
|
+
>>> m.confirm_units_fit_unitenum_and_storage_units(invalid_chem_storage)
|
|
100
|
+
Traceback (most recent call last):
|
|
101
|
+
...
|
|
102
|
+
ValueError: In test3:
|
|
103
|
+
QuantityValue at /substances_volume has unit 'J/K' which is not allowed for slot 'substances_volume' (allowed: mL)
|
|
104
|
+
'''
|
|
105
|
+
|
|
106
|
+
document_id = document.get('id', '<unknown id>')
|
|
107
|
+
document_type = document.get('type')
|
|
108
|
+
if not document_type:
|
|
109
|
+
raise ValueError(f"Unable to infer target_class for document with id '{document_id}'")
|
|
110
|
+
target_class = document_type.replace('nmdc:', '')
|
|
111
|
+
report = self.validator.validate(document, target_class)
|
|
112
|
+
if report.results:
|
|
113
|
+
raise ValueError(f"In {document_id}:\n" + "\n".join(" " + result.message for result in report.results))
|
nmdc_schema/nmdc-pydantic.py
CHANGED
|
@@ -27,7 +27,7 @@ from pydantic import (
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
metamodel_version = "None"
|
|
30
|
-
version = "11.
|
|
30
|
+
version = "11.14.0rc1"
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class ConfiguredBaseModel(BaseModel):
|
|
@@ -3422,25 +3422,17 @@ class SubmissionStatusEnum(str, Enum):
|
|
|
3422
3422
|
"""
|
|
3423
3423
|
Submission is ready for NMDC review, the submitter cannot edit.
|
|
3424
3424
|
"""
|
|
3425
|
-
Resubmitted___Pending_review = "ResubmittedPendingReview"
|
|
3426
|
-
"""
|
|
3427
|
-
Submission has been resubmitted after updates. It is now ready for NMDC review. The submitter cannot edit.
|
|
3428
|
-
"""
|
|
3429
3425
|
Approved___Held = "ApprovedHeld"
|
|
3430
3426
|
"""
|
|
3431
3427
|
Submission has been reviewed and approved. Information is complete, but not yet shared on the data portal. The submitter cannot edit.
|
|
3432
3428
|
"""
|
|
3433
|
-
|
|
3429
|
+
Approved___Sent_to_User_Facility = "ApprovedPendingUserFacility"
|
|
3434
3430
|
"""
|
|
3435
|
-
Submission has been reviewed and approved
|
|
3431
|
+
Submission has been reviewed and approved by NMDC. Sample information has been shared with designated user facility and is ready for their review. The submitter cannot edit.
|
|
3436
3432
|
"""
|
|
3437
3433
|
Updates_Required = "UpdatesRequired"
|
|
3438
3434
|
"""
|
|
3439
|
-
Submission has been reviewed and submitter edits are required for approval. The submitter can
|
|
3440
|
-
"""
|
|
3441
|
-
In_Progress___UpdateSOLIDUSAddition = "InProgressUpdate"
|
|
3442
|
-
"""
|
|
3443
|
-
NMDC reviewer has reopened submission on behalf of submitter. The submitter is currently editing the submission.
|
|
3435
|
+
Submission has been reviewed and submitter edits are required for approval. The submitter can edit the submission.
|
|
3444
3436
|
"""
|
|
3445
3437
|
Denied = "Denied"
|
|
3446
3438
|
"""
|
|
@@ -10196,8 +10188,7 @@ class Biosample(Sample):
|
|
|
10196
10188
|
'occurrence': {'tag': 'occurrence', 'value': '1'},
|
|
10197
10189
|
'preferred_unit': {'tag': 'preferred_unit',
|
|
10198
10190
|
'value': 'gram of air, kilogram of air'},
|
|
10199
|
-
'
|
|
10200
|
-
'value': 'mixs_inconsistent'}},
|
|
10191
|
+
'storage_units': {'tag': 'storage_units', 'value': 'g/kg'}},
|
|
10201
10192
|
'domain_of': ['Biosample'],
|
|
10202
10193
|
'examples': [{'value': '15 per kilogram of air'}],
|
|
10203
10194
|
'is_a': 'core field',
|
|
@@ -10686,8 +10677,7 @@ class Biosample(Sample):
|
|
|
10686
10677
|
'value': 'measurement value'},
|
|
10687
10678
|
'occurrence': {'tag': 'occurrence', 'value': '1'},
|
|
10688
10679
|
'preferred_unit': {'tag': 'preferred_unit', 'value': 'meter'},
|
|
10689
|
-
'
|
|
10690
|
-
'value': 'complex_unit'}},
|
|
10680
|
+
'storage_units': {'tag': 'storage_units', 'value': 'm'}},
|
|
10691
10681
|
'domain_of': ['Biosample'],
|
|
10692
10682
|
'examples': [{'value': ''}],
|
|
10693
10683
|
'is_a': 'core field',
|
|
@@ -11455,8 +11445,7 @@ class Biosample(Sample):
|
|
|
11455
11445
|
'slot_group': 'Sample ID',
|
|
11456
11446
|
'string_serialization': '{text}:{text}'} })
|
|
11457
11447
|
bulk_elect_conductivity: Optional[QuantityValue] = Field(default=None, title="bulk electrical conductivity", description="""Electrical conductivity is a measure of the ability to carry electric current, which is mostly dictated by the chemistry of and amount of water.""", json_schema_extra = { "linkml_meta": {'alias': 'bulk_elect_conductivity',
|
|
11458
|
-
'annotations': {'
|
|
11459
|
-
'value': 'pending_analysis'}},
|
|
11448
|
+
'annotations': {'storage_units': {'tag': 'storage_units', 'value': 'mS/cm'}},
|
|
11460
11449
|
'comments': ['Provide the value output of the field instrument.'],
|
|
11461
11450
|
'domain_of': ['Biosample'],
|
|
11462
11451
|
'examples': [{'description': 'The conductivity measurement was 0.017 '
|
|
@@ -13575,8 +13564,7 @@ class SubSamplingProcess(MaterialProcessing):
|
|
|
13575
13564
|
'name': 'volume'}}})
|
|
13576
13565
|
|
|
13577
13566
|
container_size: Optional[QuantityValue] = Field(default=None, description="""The volume of the container an analyte is stored in or an activity takes place in""", json_schema_extra = { "linkml_meta": {'alias': 'container_size',
|
|
13578
|
-
'annotations': {'
|
|
13579
|
-
'value': 'pending_analysis'}},
|
|
13567
|
+
'annotations': {'storage_units': {'tag': 'storage_units', 'value': 'mL'}},
|
|
13580
13568
|
'contributors': ['ORCID:0009-0001-1555-1601', 'ORCID:0000-0002-8683-0050'],
|
|
13581
13569
|
'domain_of': ['SubSamplingProcess', 'FiltrationProcess']} })
|
|
13582
13570
|
contained_in: Optional[ContainerCategoryEnum] = Field(default=None, description="""A type of container.""", json_schema_extra = { "linkml_meta": {'alias': 'contained_in',
|
|
@@ -13985,8 +13973,7 @@ class FiltrationProcess(MaterialProcessing):
|
|
|
13985
13973
|
'domain_of': ['FiltrationProcess'],
|
|
13986
13974
|
'list_elements_ordered': True} })
|
|
13987
13975
|
container_size: Optional[QuantityValue] = Field(default=None, description="""The volume of the container an analyte is stored in or an activity takes place in""", json_schema_extra = { "linkml_meta": {'alias': 'container_size',
|
|
13988
|
-
'annotations': {'
|
|
13989
|
-
'value': 'pending_analysis'}},
|
|
13976
|
+
'annotations': {'storage_units': {'tag': 'storage_units', 'value': 'mL'}},
|
|
13990
13977
|
'contributors': ['ORCID:0009-0001-1555-1601', 'ORCID:0000-0002-8683-0050'],
|
|
13991
13978
|
'domain_of': ['SubSamplingProcess', 'FiltrationProcess']} })
|
|
13992
13979
|
filter_material: Optional[str] = Field(default=None, description="""A porous material on which solid particles present in air or other fluid which flows through it are largely caught and retained.""", json_schema_extra = { "linkml_meta": {'alias': 'filter_material',
|
|
@@ -14002,8 +13989,7 @@ class FiltrationProcess(MaterialProcessing):
|
|
|
14002
13989
|
'(0.45−0.8 μm are commonly employed).'],
|
|
14003
13990
|
'domain_of': ['FiltrationProcess']} })
|
|
14004
13991
|
filter_pore_size: Optional[QuantityValue] = Field(default=None, description="""A quantitative or qualitative measurement of the physical dimensions of the pores in a material.""", json_schema_extra = { "linkml_meta": {'alias': 'filter_pore_size',
|
|
14005
|
-
'annotations': {'
|
|
14006
|
-
'value': 'pending_analysis'}},
|
|
13992
|
+
'annotations': {'storage_units': {'tag': 'storage_units', 'value': 'um'}},
|
|
14007
13993
|
'domain_of': ['FiltrationProcess']} })
|
|
14008
13994
|
filtration_category: Optional[str] = Field(default=None, description="""The type of conditioning applied to a filter, device, etc.""", json_schema_extra = { "linkml_meta": {'alias': 'filtration_category', 'domain_of': ['FiltrationProcess']} })
|
|
14009
13995
|
is_pressurized: Optional[bool] = Field(default=None, description="""Whether or not pressure was applied to a thing or process.""", json_schema_extra = { "linkml_meta": {'alias': 'is_pressurized', 'domain_of': ['FiltrationProcess']} })
|
|
@@ -14599,8 +14585,7 @@ class ChemicalConversionProcess(MaterialProcessing):
|
|
|
14599
14585
|
'ChemicalConversionProcess',
|
|
14600
14586
|
'MobilePhaseSegment']} })
|
|
14601
14587
|
substances_volume: Optional[QuantityValue] = Field(default=None, description="""The volume of the combined substances that was included in a ChemicalConversionProcess.""", json_schema_extra = { "linkml_meta": {'alias': 'substances_volume',
|
|
14602
|
-
'annotations': {'
|
|
14603
|
-
'value': 'pending_analysis'}},
|
|
14588
|
+
'annotations': {'storage_units': {'tag': 'storage_units', 'value': 'mL'}},
|
|
14604
14589
|
'domain_of': ['ChemicalConversionProcess']} })
|
|
14605
14590
|
instrument_used: Optional[list[str]] = Field(default=None, description="""What instrument was used during DataGeneration or MaterialProcessing.""", json_schema_extra = { "linkml_meta": {'alias': 'instrument_used',
|
|
14606
14591
|
'domain_of': ['MaterialProcessing', 'DataGeneration'],
|
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-
|
|
2
|
+
# Generation date: 2025-11-19T00:25:31
|
|
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.
|
|
63
|
+
version = "11.14.0rc1"
|
|
64
64
|
|
|
65
65
|
# Namespaces
|
|
66
66
|
BFO = CurieNamespace('BFO', 'http://purl.obolibrary.org/obo/BFO_')
|
|
@@ -10473,21 +10473,15 @@ class SubmissionStatusEnum(EnumDefinitionImpl):
|
|
|
10473
10473
|
SubmittedPendingReview = PermissibleValue(
|
|
10474
10474
|
text="SubmittedPendingReview",
|
|
10475
10475
|
description="Submission is ready for NMDC review, the submitter cannot edit.")
|
|
10476
|
-
ResubmittedPendingReview = PermissibleValue(
|
|
10477
|
-
text="ResubmittedPendingReview",
|
|
10478
|
-
description="""Submission has been resubmitted after updates. It is now ready for NMDC review. The submitter cannot edit.""")
|
|
10479
10476
|
ApprovedHeld = PermissibleValue(
|
|
10480
10477
|
text="ApprovedHeld",
|
|
10481
10478
|
description="""Submission has been reviewed and approved. Information is complete, but not yet shared on the data portal. The submitter cannot edit.""")
|
|
10482
|
-
|
|
10483
|
-
text="
|
|
10484
|
-
description="""Submission has been reviewed and approved
|
|
10479
|
+
ApprovedPendingUserFacility = PermissibleValue(
|
|
10480
|
+
text="ApprovedPendingUserFacility",
|
|
10481
|
+
description="""Submission has been reviewed and approved by NMDC. Sample information has been shared with designated user facility and is ready for their review. The submitter cannot edit.""")
|
|
10485
10482
|
UpdatesRequired = PermissibleValue(
|
|
10486
10483
|
text="UpdatesRequired",
|
|
10487
|
-
description="""Submission has been reviewed and submitter edits are required for approval. The submitter can
|
|
10488
|
-
InProgressUpdate = PermissibleValue(
|
|
10489
|
-
text="InProgressUpdate",
|
|
10490
|
-
description="""NMDC reviewer has reopened submission on behalf of submitter. The submitter is currently editing the submission.""")
|
|
10484
|
+
description="""Submission has been reviewed and submitter edits are required for approval. The submitter can edit the submission.""")
|
|
10491
10485
|
Denied = PermissibleValue(
|
|
10492
10486
|
text="Denied",
|
|
10493
10487
|
description="Submission has been reviewed and denied. The submitter cannot edit.")
|
nmdc_schema/nmdc.schema.json
CHANGED
|
@@ -14917,11 +14917,9 @@
|
|
|
14917
14917
|
"enum": [
|
|
14918
14918
|
"InProgress",
|
|
14919
14919
|
"SubmittedPendingReview",
|
|
14920
|
-
"ResubmittedPendingReview",
|
|
14921
14920
|
"ApprovedHeld",
|
|
14922
|
-
"
|
|
14921
|
+
"ApprovedPendingUserFacility",
|
|
14923
14922
|
"UpdatesRequired",
|
|
14924
|
-
"InProgressUpdate",
|
|
14925
14923
|
"Denied",
|
|
14926
14924
|
"Released"
|
|
14927
14925
|
],
|
|
@@ -15715,5 +15713,5 @@
|
|
|
15715
15713
|
},
|
|
15716
15714
|
"title": "NMDC",
|
|
15717
15715
|
"type": "object",
|
|
15718
|
-
"version": "11.
|
|
15716
|
+
"version": "11.14.0rc1"
|
|
15719
15717
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"not importing any MIxS terms where the relationship between the name (SCN) and the id isn't 1:1"
|
|
7
7
|
],
|
|
8
8
|
"id": "https://w3id.org/nmdc/nmdc",
|
|
9
|
-
"version": "11.
|
|
9
|
+
"version": "11.14.0rc1",
|
|
10
10
|
"license": "https://creativecommons.org/publicdomain/zero/1.0/",
|
|
11
11
|
"prefixes": {
|
|
12
12
|
"BFO": {
|
|
@@ -7708,31 +7708,21 @@
|
|
|
7708
7708
|
"description": "Submission is ready for NMDC review, the submitter cannot edit.",
|
|
7709
7709
|
"title": "Submitted - Pending Review"
|
|
7710
7710
|
},
|
|
7711
|
-
"ResubmittedPendingReview": {
|
|
7712
|
-
"text": "ResubmittedPendingReview",
|
|
7713
|
-
"description": "Submission has been resubmitted after updates. It is now ready for NMDC review. The submitter cannot edit.",
|
|
7714
|
-
"title": "Resubmitted - Pending review"
|
|
7715
|
-
},
|
|
7716
7711
|
"ApprovedHeld": {
|
|
7717
7712
|
"text": "ApprovedHeld",
|
|
7718
7713
|
"description": "Submission has been reviewed and approved. Information is complete, but not yet shared on the data portal. The submitter cannot edit.",
|
|
7719
7714
|
"title": "Approved - Held"
|
|
7720
7715
|
},
|
|
7721
|
-
"
|
|
7722
|
-
"text": "
|
|
7723
|
-
"description": "Submission has been reviewed and approved
|
|
7724
|
-
"title": "
|
|
7716
|
+
"ApprovedPendingUserFacility": {
|
|
7717
|
+
"text": "ApprovedPendingUserFacility",
|
|
7718
|
+
"description": "Submission has been reviewed and approved by NMDC. Sample information has been shared with designated user facility and is ready for their review. The submitter cannot edit.",
|
|
7719
|
+
"title": "Approved - Sent to User Facility"
|
|
7725
7720
|
},
|
|
7726
7721
|
"UpdatesRequired": {
|
|
7727
7722
|
"text": "UpdatesRequired",
|
|
7728
|
-
"description": "Submission has been reviewed and submitter edits are required for approval. The submitter can
|
|
7723
|
+
"description": "Submission has been reviewed and submitter edits are required for approval. The submitter can edit the submission.",
|
|
7729
7724
|
"title": "Updates Required"
|
|
7730
7725
|
},
|
|
7731
|
-
"InProgressUpdate": {
|
|
7732
|
-
"text": "InProgressUpdate",
|
|
7733
|
-
"description": "NMDC reviewer has reopened submission on behalf of submitter. The submitter is currently editing the submission.",
|
|
7734
|
-
"title": "In Progress - Update/Addition"
|
|
7735
|
-
},
|
|
7736
7726
|
"Denied": {
|
|
7737
7727
|
"text": "Denied",
|
|
7738
7728
|
"description": "Submission has been reviewed and denied. The submitter cannot edit.",
|
|
@@ -8290,9 +8280,9 @@
|
|
|
8290
8280
|
"container_size": {
|
|
8291
8281
|
"name": "container_size",
|
|
8292
8282
|
"annotations": {
|
|
8293
|
-
"
|
|
8294
|
-
"tag": "
|
|
8295
|
-
"value": "
|
|
8283
|
+
"storage_units": {
|
|
8284
|
+
"tag": "storage_units",
|
|
8285
|
+
"value": "mL"
|
|
8296
8286
|
}
|
|
8297
8287
|
},
|
|
8298
8288
|
"description": "The volume of the container an analyte is stored in or an activity takes place in",
|
|
@@ -8315,9 +8305,9 @@
|
|
|
8315
8305
|
"filter_pore_size": {
|
|
8316
8306
|
"name": "filter_pore_size",
|
|
8317
8307
|
"annotations": {
|
|
8318
|
-
"
|
|
8319
|
-
"tag": "
|
|
8320
|
-
"value": "
|
|
8308
|
+
"storage_units": {
|
|
8309
|
+
"tag": "storage_units",
|
|
8310
|
+
"value": "um"
|
|
8321
8311
|
}
|
|
8322
8312
|
},
|
|
8323
8313
|
"description": "A quantitative or qualitative measurement of the physical dimensions of the pores in a material.",
|
|
@@ -8393,9 +8383,9 @@
|
|
|
8393
8383
|
"input_volume": {
|
|
8394
8384
|
"name": "input_volume",
|
|
8395
8385
|
"annotations": {
|
|
8396
|
-
"
|
|
8397
|
-
"tag": "
|
|
8398
|
-
"value": "
|
|
8386
|
+
"storage_units": {
|
|
8387
|
+
"tag": "storage_units",
|
|
8388
|
+
"value": "mL"
|
|
8399
8389
|
}
|
|
8400
8390
|
},
|
|
8401
8391
|
"description": "The volume of the input sample.",
|
|
@@ -8439,9 +8429,9 @@
|
|
|
8439
8429
|
"substances_volume": {
|
|
8440
8430
|
"name": "substances_volume",
|
|
8441
8431
|
"annotations": {
|
|
8442
|
-
"
|
|
8443
|
-
"tag": "
|
|
8444
|
-
"value": "
|
|
8432
|
+
"storage_units": {
|
|
8433
|
+
"tag": "storage_units",
|
|
8434
|
+
"value": "mL"
|
|
8445
8435
|
}
|
|
8446
8436
|
},
|
|
8447
8437
|
"description": "The volume of the combined substances that was included in a ChemicalConversionProcess.",
|
|
@@ -8470,9 +8460,9 @@
|
|
|
8470
8460
|
"bulk_elect_conductivity": {
|
|
8471
8461
|
"name": "bulk_elect_conductivity",
|
|
8472
8462
|
"annotations": {
|
|
8473
|
-
"
|
|
8474
|
-
"tag": "
|
|
8475
|
-
"value": "
|
|
8463
|
+
"storage_units": {
|
|
8464
|
+
"tag": "storage_units",
|
|
8465
|
+
"value": "mS/cm"
|
|
8476
8466
|
}
|
|
8477
8467
|
},
|
|
8478
8468
|
"description": "Electrical conductivity is a measure of the ability to carry electric current, which is mostly dictated by the chemistry of and amount of water.",
|
|
@@ -21849,9 +21839,9 @@
|
|
|
21849
21839
|
"tag": "occurrence",
|
|
21850
21840
|
"value": "1"
|
|
21851
21841
|
},
|
|
21852
|
-
"
|
|
21853
|
-
"tag": "
|
|
21854
|
-
"value": "
|
|
21842
|
+
"storage_units": {
|
|
21843
|
+
"tag": "storage_units",
|
|
21844
|
+
"value": "g/kg"
|
|
21855
21845
|
}
|
|
21856
21846
|
},
|
|
21857
21847
|
"description": "The mass of water vapour in a unit mass of moist air, usually expressed as grams of vapour per kilogram of air, or, in air conditioning, as grains per pound.",
|
|
@@ -23260,9 +23250,9 @@
|
|
|
23260
23250
|
"tag": "occurrence",
|
|
23261
23251
|
"value": "1"
|
|
23262
23252
|
},
|
|
23263
|
-
"
|
|
23264
|
-
"tag": "
|
|
23265
|
-
"value": "
|
|
23253
|
+
"storage_units": {
|
|
23254
|
+
"tag": "storage_units",
|
|
23255
|
+
"value": "m"
|
|
23266
23256
|
}
|
|
23267
23257
|
},
|
|
23268
23258
|
"description": "True vertical depth subsea (TVDSS) of the hydrocarbon resource where the original temperature was measured (e.g. 1345 m).",
|
|
@@ -15013,11 +15013,9 @@
|
|
|
15013
15013
|
"enum": [
|
|
15014
15014
|
"InProgress",
|
|
15015
15015
|
"SubmittedPendingReview",
|
|
15016
|
-
"ResubmittedPendingReview",
|
|
15017
15016
|
"ApprovedHeld",
|
|
15018
|
-
"
|
|
15017
|
+
"ApprovedPendingUserFacility",
|
|
15019
15018
|
"UpdatesRequired",
|
|
15020
|
-
"InProgressUpdate",
|
|
15021
15019
|
"Denied",
|
|
15022
15020
|
"Released"
|
|
15023
15021
|
],
|
|
@@ -15811,5 +15809,5 @@
|
|
|
15811
15809
|
},
|
|
15812
15810
|
"title": "NMDC",
|
|
15813
15811
|
"type": "object",
|
|
15814
|
-
"version": "11.
|
|
15812
|
+
"version": "11.14.0rc1"
|
|
15815
15813
|
}
|
|
@@ -13,7 +13,7 @@ notes:
|
|
|
13
13
|
- not importing any MIxS terms where the relationship between the name (SCN) and the
|
|
14
14
|
id isn't 1:1
|
|
15
15
|
id: https://w3id.org/nmdc/nmdc
|
|
16
|
-
version: 11.
|
|
16
|
+
version: 11.14.0rc1
|
|
17
17
|
license: https://creativecommons.org/publicdomain/zero/1.0/
|
|
18
18
|
prefixes:
|
|
19
19
|
BFO:
|
|
@@ -5693,32 +5693,22 @@ enums:
|
|
|
5693
5693
|
text: SubmittedPendingReview
|
|
5694
5694
|
description: Submission is ready for NMDC review, the submitter cannot edit.
|
|
5695
5695
|
title: Submitted - Pending Review
|
|
5696
|
-
ResubmittedPendingReview:
|
|
5697
|
-
text: ResubmittedPendingReview
|
|
5698
|
-
description: Submission has been resubmitted after updates. It is now ready
|
|
5699
|
-
for NMDC review. The submitter cannot edit.
|
|
5700
|
-
title: Resubmitted - Pending review
|
|
5701
5696
|
ApprovedHeld:
|
|
5702
5697
|
text: ApprovedHeld
|
|
5703
5698
|
description: Submission has been reviewed and approved. Information is complete,
|
|
5704
5699
|
but not yet shared on the data portal. The submitter cannot edit.
|
|
5705
5700
|
title: Approved - Held
|
|
5706
|
-
|
|
5707
|
-
text:
|
|
5708
|
-
description: Submission has been reviewed and approved.
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
title:
|
|
5701
|
+
ApprovedPendingUserFacility:
|
|
5702
|
+
text: ApprovedPendingUserFacility
|
|
5703
|
+
description: Submission has been reviewed and approved by NMDC. Sample information
|
|
5704
|
+
has been shared with designated user facility and is ready for their review.
|
|
5705
|
+
The submitter cannot edit.
|
|
5706
|
+
title: Approved - Sent to User Facility
|
|
5712
5707
|
UpdatesRequired:
|
|
5713
5708
|
text: UpdatesRequired
|
|
5714
5709
|
description: Submission has been reviewed and submitter edits are required
|
|
5715
|
-
for approval. The submitter can
|
|
5710
|
+
for approval. The submitter can edit the submission.
|
|
5716
5711
|
title: Updates Required
|
|
5717
|
-
InProgressUpdate:
|
|
5718
|
-
text: InProgressUpdate
|
|
5719
|
-
description: NMDC reviewer has reopened submission on behalf of submitter.
|
|
5720
|
-
The submitter is currently editing the submission.
|
|
5721
|
-
title: In Progress - Update/Addition
|
|
5722
5712
|
Denied:
|
|
5723
5713
|
text: Denied
|
|
5724
5714
|
description: Submission has been reviewed and denied. The submitter cannot
|
|
@@ -6178,9 +6168,9 @@ slots:
|
|
|
6178
6168
|
container_size:
|
|
6179
6169
|
name: container_size
|
|
6180
6170
|
annotations:
|
|
6181
|
-
|
|
6182
|
-
tag:
|
|
6183
|
-
value:
|
|
6171
|
+
storage_units:
|
|
6172
|
+
tag: storage_units
|
|
6173
|
+
value: mL
|
|
6184
6174
|
description: The volume of the container an analyte is stored in or an activity
|
|
6185
6175
|
takes place in
|
|
6186
6176
|
from_schema: https://w3id.org/nmdc/nmdc
|
|
@@ -6205,9 +6195,9 @@ slots:
|
|
|
6205
6195
|
filter_pore_size:
|
|
6206
6196
|
name: filter_pore_size
|
|
6207
6197
|
annotations:
|
|
6208
|
-
|
|
6209
|
-
tag:
|
|
6210
|
-
value:
|
|
6198
|
+
storage_units:
|
|
6199
|
+
tag: storage_units
|
|
6200
|
+
value: um
|
|
6211
6201
|
description: A quantitative or qualitative measurement of the physical dimensions
|
|
6212
6202
|
of the pores in a material.
|
|
6213
6203
|
from_schema: https://w3id.org/nmdc/nmdc
|
|
@@ -6269,9 +6259,9 @@ slots:
|
|
|
6269
6259
|
input_volume:
|
|
6270
6260
|
name: input_volume
|
|
6271
6261
|
annotations:
|
|
6272
|
-
|
|
6273
|
-
tag:
|
|
6274
|
-
value:
|
|
6262
|
+
storage_units:
|
|
6263
|
+
tag: storage_units
|
|
6264
|
+
value: mL
|
|
6275
6265
|
description: The volume of the input sample.
|
|
6276
6266
|
from_schema: https://w3id.org/nmdc/nmdc
|
|
6277
6267
|
range: QuantityValue
|
|
@@ -6307,9 +6297,9 @@ slots:
|
|
|
6307
6297
|
substances_volume:
|
|
6308
6298
|
name: substances_volume
|
|
6309
6299
|
annotations:
|
|
6310
|
-
|
|
6311
|
-
tag:
|
|
6312
|
-
value:
|
|
6300
|
+
storage_units:
|
|
6301
|
+
tag: storage_units
|
|
6302
|
+
value: mL
|
|
6313
6303
|
description: The volume of the combined substances that was included in a ChemicalConversionProcess.
|
|
6314
6304
|
from_schema: https://w3id.org/nmdc/nmdc
|
|
6315
6305
|
range: QuantityValue
|
|
@@ -6331,9 +6321,9 @@ slots:
|
|
|
6331
6321
|
bulk_elect_conductivity:
|
|
6332
6322
|
name: bulk_elect_conductivity
|
|
6333
6323
|
annotations:
|
|
6334
|
-
|
|
6335
|
-
tag:
|
|
6336
|
-
value:
|
|
6324
|
+
storage_units:
|
|
6325
|
+
tag: storage_units
|
|
6326
|
+
value: mS/cm
|
|
6337
6327
|
description: Electrical conductivity is a measure of the ability to carry electric
|
|
6338
6328
|
current, which is mostly dictated by the chemistry of and amount of water.
|
|
6339
6329
|
title: bulk electrical conductivity
|
|
@@ -16676,9 +16666,9 @@ slots:
|
|
|
16676
16666
|
occurrence:
|
|
16677
16667
|
tag: occurrence
|
|
16678
16668
|
value: '1'
|
|
16679
|
-
|
|
16680
|
-
tag:
|
|
16681
|
-
value:
|
|
16669
|
+
storage_units:
|
|
16670
|
+
tag: storage_units
|
|
16671
|
+
value: g/kg
|
|
16682
16672
|
description: The mass of water vapour in a unit mass of moist air, usually expressed
|
|
16683
16673
|
as grams of vapour per kilogram of air, or, in air conditioning, as grains per
|
|
16684
16674
|
pound.
|
|
@@ -17729,9 +17719,9 @@ slots:
|
|
|
17729
17719
|
occurrence:
|
|
17730
17720
|
tag: occurrence
|
|
17731
17721
|
value: '1'
|
|
17732
|
-
|
|
17733
|
-
tag:
|
|
17734
|
-
value:
|
|
17722
|
+
storage_units:
|
|
17723
|
+
tag: storage_units
|
|
17724
|
+
value: m
|
|
17735
17725
|
description: True vertical depth subsea (TVDSS) of the hydrocarbon resource where
|
|
17736
17726
|
the original temperature was measured (e.g. 1345 m).
|
|
17737
17727
|
title: depth (TVDSS) of hydrocarbon resource temperature
|
|
@@ -42,6 +42,7 @@ nmdc_schema/migrators/migrator_from_10_6_0_to_10_7_0.py,sha256=-FduiWWIioYFQ2eST
|
|
|
42
42
|
nmdc_schema/migrators/migrator_from_11_0_3_to_11_1_0.py,sha256=3hHXGts_sfre4KuIpGCUNyRMgI92_lXm_U2UStU-fdw,1184
|
|
43
43
|
nmdc_schema/migrators/migrator_from_11_10_0_to_11_11_0.py,sha256=R4nUrhxRznukwKgkMQy8uuPzn-fE9AaQYNLLNsVOfTk,1354
|
|
44
44
|
nmdc_schema/migrators/migrator_from_11_11_0_to_11_13_0.py,sha256=p0giuWeWOvxLe22T0QXNWxjzWWqgzJ1ZetpdVCz86IY,1354
|
|
45
|
+
nmdc_schema/migrators/migrator_from_11_13_0_to_11_14_0.py,sha256=vUYKEMbfzBiNFlR7mEckwRcuM0cyUCfifom7Xn_kWMY,5002
|
|
45
46
|
nmdc_schema/migrators/migrator_from_11_1_0_to_11_2_0.py,sha256=xGaG0oilg0Xvq-P6YOZea3EPQU8fyfcKo-KZl4BhgoM,1183
|
|
46
47
|
nmdc_schema/migrators/migrator_from_11_3_0_to_11_4_0.py,sha256=XDRsT9KrKlZTOGHQekESZ2XSYD2UDydF1PWTRIeqOVE,1985
|
|
47
48
|
nmdc_schema/migrators/migrator_from_11_4_0_to_11_5_0.py,sha256=uiFi5USF23lpuAbkDhVufnXxLsM-Aixrj4nw7GY-XO4,357
|
|
@@ -107,18 +108,18 @@ nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/__init__.py,sha25
|
|
|
107
108
|
nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_1.py,sha256=6MYmrB9yfJ3XFb2QabTcJeycK2tyVO3MtSItns2s9Zg,35421
|
|
108
109
|
nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_2.py,sha256=wzard2sUTeRS7voVTfPt3_OtafTffnv0o0OyE1OBzA0,2987
|
|
109
110
|
nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_3.py,sha256=crm2NEmn0xepEMKWHvCSkfX3G6hRn377f38rq24XlO8,3710
|
|
110
|
-
nmdc_schema/nmdc-pydantic.py,sha256=
|
|
111
|
-
nmdc_schema/nmdc.py,sha256=
|
|
112
|
-
nmdc_schema/nmdc.schema.json,sha256=
|
|
111
|
+
nmdc_schema/nmdc-pydantic.py,sha256=KsCmfMksl-cw4Z117-q3cHhEc8Oo4xzGJXnKaUVoDfI,1449828
|
|
112
|
+
nmdc_schema/nmdc.py,sha256=ZqLvE_GJFJXJHvRlEW_XX716RCW5Yy6BRps-RQErro4,737461
|
|
113
|
+
nmdc_schema/nmdc.schema.json,sha256=JsUcoZvBYBU94OqjRp9tIgNsfFblEEy5-VAoUki65Ho,630048
|
|
113
114
|
nmdc_schema/nmdc_data.py,sha256=_wNKi5NDxuvvRsJEim2ialX7VJkDBJLRpiTOPpFHBm8,9608
|
|
114
|
-
nmdc_schema/nmdc_materialized_patterns.json,sha256=
|
|
115
|
-
nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=
|
|
116
|
-
nmdc_schema/nmdc_materialized_patterns.yaml,sha256=
|
|
115
|
+
nmdc_schema/nmdc_materialized_patterns.json,sha256=zmYoq8BL4PdUCVn4dQdN7pM11gdFFNIvBw2Ih5RKkpY,912372
|
|
116
|
+
nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=1SxFfOBnB9fuyfcihHikDbs2pd3X7Oa3bROai1ZmHUg,639373
|
|
117
|
+
nmdc_schema/nmdc_materialized_patterns.yaml,sha256=tIyM9hg9PLfTe2O3XFWL3V8f6su0wLT_8eKN8H0QNJ4,708950
|
|
117
118
|
nmdc_schema/nmdc_schema_validation_plugin.py,sha256=rjtn1tYhngGyc1AV8vcT8BJ9a_MmHbcK3hRUf9dzPtA,4799
|
|
118
119
|
nmdc_schema/nmdc_version.py,sha256=DsfEKnmN3LHR831WWELxyfZY6rnP9U8tfygamkrsaHY,2305
|
|
119
120
|
nmdc_schema/validate_nmdc_json.py,sha256=PVJV2O1qQXMi206HaUKqRNLiLc164OpNYKPURSKN8_E,3148
|
|
120
|
-
nmdc_schema-11.
|
|
121
|
-
nmdc_schema-11.
|
|
122
|
-
nmdc_schema-11.
|
|
123
|
-
nmdc_schema-11.
|
|
124
|
-
nmdc_schema-11.
|
|
121
|
+
nmdc_schema-11.14.0rc1.dist-info/METADATA,sha256=t4DH8Zj0l7cEMHXQikzWicxyNiyhEL3wSPI2JlSdeW0,5853
|
|
122
|
+
nmdc_schema-11.14.0rc1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
123
|
+
nmdc_schema-11.14.0rc1.dist-info/entry_points.txt,sha256=-UOl7vTEjS6eaJreIu_UenULpuKAYz8JiLeuKbEqPB8,2079
|
|
124
|
+
nmdc_schema-11.14.0rc1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
125
|
+
nmdc_schema-11.14.0rc1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|