diff --git a/nmdc_schema/nmdc.py b/nmdc_schema/nmdc.py index 37506adf05..2b3ebe2655 100644 --- a/nmdc_schema/nmdc.py +++ b/nmdc_schema/nmdc.py @@ -1,5 +1,5 @@ # Auto generated from nmdc.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-10-08T10:37:57 +# Generation date: 2024-10-17T14:33:36 # Schema: NMDC # # id: https://w3id.org/nmdc/nmdc @@ -17,7 +17,7 @@ from jsonasobj2 import JsonObj, as_dict from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from datetime import date, datetime +from datetime import date, datetime, time from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions from linkml_runtime.utils.slot import Slot @@ -367,7 +367,7 @@ class MetagenomeAnnotationId(WorkflowExecutionId): pass -@dataclass +@dataclass(repr=False) class EukEval(YAMLRoot): """ This class contains information pertaining to evaluating if a Metagenome-Assembled Genome (MAG) is eukaryotic. @@ -405,7 +405,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class FunctionalAnnotationAggMember(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] @@ -442,7 +442,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Database(YAMLRoot): """ An abstract holder for any set of metadata and data. It does not need to correspond to an actual managed database @@ -522,7 +522,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class GenomeFeature(YAMLRoot): """ A feature localized to an interval along a genome @@ -582,7 +582,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class FunctionalAnnotation(YAMLRoot): """ An assignment of a function term (e.g. reaction or pathway) that is executed by a gene product, or which the gene @@ -623,7 +623,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class MobilePhaseSegment(YAMLRoot): """ A fluid mixture of substances that flow though a chromatographic stationary phase. @@ -658,7 +658,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class PortionOfSubstance(YAMLRoot): """ A portion of any matter of defined composition that has discrete existence, whose origin may be biological, @@ -709,7 +709,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class MagBin(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] @@ -731,7 +731,7 @@ class MagBin(YAMLRoot): gtdbtk_order: Optional[str] = None gtdbtk_phylum: Optional[str] = None gtdbtk_species: Optional[str] = None - members_id: Optional[str] = None + members_id: Optional[Union[str, List[str]]] = empty_list() num_16s: Optional[int] = None num_23s: Optional[int] = None num_5s: Optional[int] = None @@ -781,8 +781,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gtdbtk_species is not None and not isinstance(self.gtdbtk_species, str): self.gtdbtk_species = str(self.gtdbtk_species) - if self.members_id is not None and not isinstance(self.members_id, str): - self.members_id = str(self.members_id) + if not isinstance(self.members_id, list): + self.members_id = [self.members_id] if self.members_id is not None else [] + self.members_id = [v if isinstance(v, str) else str(v) for v in self.members_id] if self.num_16s is not None and not isinstance(self.num_16s, int): self.num_16s = int(self.num_16s) @@ -808,7 +809,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class MetaboliteIdentification(YAMLRoot): """ This is used to link a metabolomics analysis workflow to a specific metabolite @@ -843,7 +844,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class PeptideQuantification(YAMLRoot): """ This is used to link a metaproteomics analysis workflow to a specific peptide sequence and related information @@ -890,7 +891,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ProteinQuantification(YAMLRoot): """ This is used to link a metaproteomics analysis workflow to a specific protein @@ -933,7 +934,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AttributeValue(YAMLRoot): """ The value for any value of a attribute for a sample. This object can hold both the un-normalized atomic value and @@ -985,7 +986,7 @@ def __new__(cls, *args, **kwargs): -@dataclass +@dataclass(repr=False) class QuantityValue(AttributeValue): """ A simple quantity, e.g. 2cm @@ -1026,7 +1027,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ImageValue(AttributeValue): """ An attribute value representing an image. @@ -1059,7 +1060,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class PersonValue(AttributeValue): """ An attribute value representing a person @@ -1105,7 +1106,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class TextValue(AttributeValue): """ A basic string value @@ -1130,7 +1131,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class TimestampValue(AttributeValue): """ A value that is a timestamp. The range should be ISO-8601 @@ -1152,7 +1153,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ControlledTermValue(AttributeValue): """ A controlled term or class from an ontology @@ -1177,7 +1178,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ControlledIdentifiedTermValue(ControlledTermValue): """ A controlled term or class from an ontology, requiring the presence of term with an id @@ -1204,7 +1205,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class GeolocationValue(AttributeValue): """ A normalized value for a location on the earth's surface @@ -1241,7 +1242,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class NamedThing(YAMLRoot): """ a databased entity or concept/class @@ -1307,7 +1308,7 @@ def __new__(cls, *args, **kwargs): -@dataclass +@dataclass(repr=False) class GeneProduct(NamedThing): """ A molecule encoded by a gene that has an evolved function @@ -1334,7 +1335,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class OntologyClass(NamedThing): _inherited_slots: ClassVar[List[str]] = [] @@ -1358,7 +1359,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class FunctionalAnnotationTerm(OntologyClass): """ Abstract grouping class for any term/descriptor that can be applied to a functional unit of a genome (protein, @@ -1382,7 +1383,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Pathway(FunctionalAnnotationTerm): """ A pathway is a sequence of steps/reactions carried out by an organism or community of organisms @@ -1409,7 +1410,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class OrthologyGroup(FunctionalAnnotationTerm): """ A set of genes or gene products in which all members are orthologous @@ -1436,7 +1437,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class EnvironmentalMaterialTerm(OntologyClass): _inherited_slots: ClassVar[List[str]] = [] @@ -1460,7 +1461,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ChemicalEntity(OntologyClass): """ An atom or molecule that can be represented with a chemical formula. Include lipids, glycans, natural products, @@ -1510,7 +1511,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class FailureCategorization(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] @@ -1537,7 +1538,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class MaterialEntity(NamedThing): _inherited_slots: ClassVar[List[str]] = [] @@ -1557,7 +1558,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Biosample(MaterialEntity): """ Biological source material which can be characterized by an experiment. @@ -4085,7 +4086,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ProcessedSample(MaterialEntity): _inherited_slots: ClassVar[List[str]] = [] @@ -4126,7 +4127,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Site(MaterialEntity): _inherited_slots: ClassVar[List[str]] = [] @@ -4146,7 +4147,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class FieldResearchSite(Site): """ A site, outside of a laboratory, from which biosamples may be collected. @@ -4206,7 +4207,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Instrument(MaterialEntity): """ A material entity that is designed to perform a function in a scientific investigation, but is not a reagent. @@ -4241,7 +4242,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class PlannedProcess(NamedThing): _inherited_slots: ClassVar[List[str]] = [] @@ -4299,7 +4300,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class CollectingBiosamplesFromSite(PlannedProcess): _inherited_slots: ClassVar[List[str]] = [] @@ -4337,7 +4338,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ProtocolExecution(PlannedProcess): """ A PlannedProces that has PlannedProcess parts. Can be used to represent the case of someone following a Protocol. @@ -4387,7 +4388,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class StorageProcess(PlannedProcess): """ A planned process with the objective to preserve and protect material entities by placing them in an identified @@ -4438,7 +4439,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MaterialProcessing(PlannedProcess): """ A process that takes one or more samples as inputs and generates one or more samples as outputs. @@ -4475,7 +4476,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Pooling(MaterialProcessing): """ physical combination of several instances of like material. @@ -4516,7 +4517,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Extraction(MaterialProcessing): """ A material separation in which a desired component of an input material is separated from the remainder. @@ -4575,7 +4576,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class LibraryPreparation(MaterialProcessing): _inherited_slots: ClassVar[List[str]] = [] @@ -4645,7 +4646,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class SubSamplingProcess(MaterialProcessing): """ Separating a sample aliquot from the starting material for downstream activity. @@ -4707,7 +4708,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MixingProcess(MaterialProcessing): """ The combining of components, particles or layers into a more homogeneous state. @@ -4748,7 +4749,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class FiltrationProcess(MaterialProcessing): """ The process of segregation of phases; e.g. the separation of suspended solids from a liquid or gas, usually by @@ -4819,7 +4820,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ChromatographicSeparationProcess(MaterialProcessing): """ The process of using a selective partitioning of the analyte or interferent between two immiscible phases. @@ -4873,7 +4874,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class DissolvingProcess(MaterialProcessing): """ A mixing step where a soluble component is mixed with a liquid component. @@ -4913,7 +4914,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ChemicalConversionProcess(MaterialProcessing): """ A process that results in the interconversion of chemical species by a reaction to transform the reagents into @@ -4962,7 +4963,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Protocol(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] @@ -4989,7 +4990,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class CreditAssociation(YAMLRoot): """ This class supports binding associated researchers to studies. There will be at least a slot for a CRediT @@ -5027,7 +5028,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Doi(YAMLRoot): """ A centrally registered identifier symbol used to uniquely identify objects given by the International DOI @@ -5066,7 +5067,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Study(NamedThing): """ A study summarizes the overall goal of a research initiative and outlines the key objective of its underlying @@ -5243,7 +5244,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class InformationObject(NamedThing): """ Any data or knowledge that reduces uncertainty or enhances understanding about a system, process, or entity. @@ -5266,7 +5267,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class Configuration(InformationObject): """ A set of parameters that define the actions of a process and is shared among multiple instances of the process. @@ -5289,7 +5290,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MassSpectrometryConfiguration(Configuration): """ A set of parameters that define and control the actions of a mass spectrometry process. @@ -5355,7 +5356,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ChromatographyConfiguration(Configuration): """ A set of parameters that define and control the actions of a chromatography process. @@ -5411,7 +5412,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class CalibrationInformation(InformationObject): """ A calibration object that is associated with a process. @@ -5458,7 +5459,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class DataObject(InformationObject): """ An object that primarily consists of symbols that represent information. Files, records, and omics data are @@ -5531,7 +5532,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class DataGeneration(PlannedProcess): """ The methods and processes used to generate omics data from a biosample or organism. @@ -5595,7 +5596,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class NucleotideSequencing(DataGeneration): """ A DataGeneration in which the sequence of DNA or RNA molecules is generated. @@ -5652,7 +5653,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MassSpectrometry(DataGeneration): """ Spectrometry where the sample is converted into gaseous ions which are characterised by their mass-to-charge ratio @@ -5699,7 +5700,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class WorkflowExecution(PlannedProcess): """ Represents an instance of an execution of a particular workflow @@ -5765,7 +5766,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetagenomeAssembly(WorkflowExecution): """ A workflow execution activity that converts sequencing reads into an assembled metagenome. @@ -5912,7 +5913,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetatranscriptomeAssembly(WorkflowExecution): _inherited_slots: ClassVar[List[str]] = [] @@ -6056,7 +6057,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetatranscriptomeAnnotation(WorkflowExecution): _inherited_slots: ClassVar[List[str]] = [] @@ -6107,7 +6108,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetatranscriptomeExpressionAnalysis(WorkflowExecution): """ A workflow process that provides expression values and read counts for gene features predicted on the contigs. @@ -6147,7 +6148,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MagsAnalysis(WorkflowExecution): """ A workflow execution activity that uses computational binning tools to group assembled contigs into genomes @@ -6212,7 +6213,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetagenomeSequencing(WorkflowExecution): """ Initial sequencing activity that precedes any analysis. This activity has output(s) that are the raw sequencing @@ -6252,7 +6253,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ReadQcAnalysis(WorkflowExecution): """ A workflow execution activity that performs quality control on raw Illumina reads including quality trimming, @@ -6313,7 +6314,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class ReadBasedTaxonomyAnalysis(WorkflowExecution): """ A workflow execution activity that performs taxonomy classification using sequencing reads @@ -6348,7 +6349,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetabolomicsAnalysis(WorkflowExecution): _inherited_slots: ClassVar[List[str]] = [] @@ -6389,7 +6390,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetaproteomicsAnalysis(WorkflowExecution): _inherited_slots: ClassVar[List[str]] = [] @@ -6426,7 +6427,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class NomAnalysis(WorkflowExecution): _inherited_slots: ClassVar[List[str]] = [] @@ -6462,7 +6463,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.type = str(self.class_class_curie) -@dataclass +@dataclass(repr=False) class MetagenomeAnnotation(WorkflowExecution): """ A workflow execution activity that provides functional and structural annotation of assembled metagenome contigs @@ -10164,7 +10165,7 @@ class slots: model_uri=NMDC.total_bases, domain=None, range=Optional[int]) slots.members_id = Slot(uri=NMDC.members_id, name="members_id", curie=NMDC.curie('members_id'), - model_uri=NMDC.members_id, domain=None, range=Optional[str]) + model_uri=NMDC.members_id, domain=None, range=Optional[Union[str, List[str]]]) slots.bin_name = Slot(uri=NMDC.bin_name, name="bin_name", curie=NMDC.curie('bin_name'), model_uri=NMDC.bin_name, domain=None, range=Optional[str]) diff --git a/nmdc_schema/nmdc.schema.json b/nmdc_schema/nmdc.schema.json index 68723828ae..d9d971d9fc 100644 --- a/nmdc_schema/nmdc.schema.json +++ b/nmdc_schema/nmdc.schema.json @@ -147,31 +147,76 @@ "description": "Biological source material which can be characterized by an experiment.", "properties": { "abs_air_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Actual mass of water vapor - mh20 - present in the air water vapor mixture" }, "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "add_recov_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Additional (i.e. Secondary, tertiary, etc.) recovery methods deployed for increase of hydrocarbon recovery from resource and start date for each one of them. If \"other\" is specified, please propose entry in \"additional info\" field" }, "additional_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information that doesn't fit anywhere else. Can also be used to propose new entries for fields with controlled vocabulary" }, "address": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The street name and building number where the sampling occurred." }, "adj_room": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of rooms (room number, room name) immediately adjacent to the sampling room" }, "aero_struc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Aerospace structures typically consist of thin plates with stiffeners for the external surfaces, bulkheads and frames to support the shape and fasteners such as welds, rivets, screws and bolts to hold the components together" }, "agrochem_addition": { @@ -179,17 +224,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "air_PM_concen": { "description": "Concentration of substances that remain suspended in the air, and comprise mixtures of organic and inorganic substances (PM10 and PM2.5); can report multiple PM's by entering numeric values preceded by name of PM", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "air_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the air at the time of sampling" }, "air_temp_regm": { @@ -197,30 +255,75 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "al_sat": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The relative abundance of aluminum in the sample" }, "al_sat_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining Aluminum saturation" }, "alkalinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Alkalinity, the ability of a solution to neutralize acids to the equivalence point of carbonate or bicarbonate" }, "alkalinity_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Method used for alkalinity measurement" }, "alkyl_diethers": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of alkyl diethers" }, "alt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Altitude is a term used to identify heights of objects such as airplanes, space shuttles, rockets, atmospheric balloons and heights of places such as atmospheric layers and clouds. It is used to measure the height of an object which is above the earth's surface. In this context, the altitude measurement is the vertical distance between the earth's surface above sea level and the sampled position in the air" }, "alternative_identifiers": { @@ -229,22 +332,53 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "aminopept_act": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of aminopeptidase activity" }, "ammonium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ammonium in the sample" }, "ammonium_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ammonium nitrogen in the sample" }, "amount_light": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The unit of illuminance and luminous emittance, measuring luminous flux per unit area" }, "analysis_type": { @@ -252,18 +386,42 @@ "items": { "$ref": "#/$defs/AnalysisTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "ances_data": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about either pedigree or other ancestral information description (e.g. parental variety in case of mutant or selection), e.g. A/3*B (meaning [(A x B) x B] x B)" }, "annual_precpt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of all annual precipitation values known, or an estimated equivalent value derived by such methods as regional indexes or Isohyetal maps." }, "annual_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Mean annual temperature" }, "antibiotic_regm": { @@ -271,10 +429,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "api": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "API gravity is a measure of how heavy or light a petroleum liquid is compared to water (source: https://en.wikipedia.org/wiki/API_gravity) (e.g. 31.1\u00ac\u221e API)" }, "arch_struc": { @@ -282,11 +450,25 @@ "description": "An architectural structure is a human-made, free-standing, immobile outdoor construction" }, "aromatics_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "asphaltenes_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "associated_studies": { @@ -301,62 +483,163 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "avg_dew_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of dew point measures taken at the beginning of every hour over a 24 hour period on the sampling day" }, "avg_occup": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Daily average occupancy of room. Indicate the number of person(s) daily occupying the sampling room." }, "avg_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of temperatures taken at the beginning of every hour over a 24 hour period on the sampling day" }, "bac_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Bacterial production in the water column measured by isotope uptake" }, "bac_resp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of bacterial respiration in the water column" }, "bacteria_carb_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of bacterial carbon production" }, "barometric_press": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Force per unit area exerted against a surface by the weight of air above that surface" }, "basin": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the basin (e.g. Campos)" }, "bathroom_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of bathrooms in the building" }, "bedroom_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of bedrooms in the building" }, "benzene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of benzene in the sample" }, "biochem_oxygen_dem": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Amount of dissolved oxygen needed by aerobic biological organisms in a body of water to break down organic material present in a given water sample at certain temperature over a specific time period" }, "biocide": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of biocides (commercial name of product and supplier) and date of administration" }, "biocide_admin_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Method of biocide administration (dose, frequency, duration, time elapsed between last biociding and sampling) (e.g. 150 mg/l; weekly; 4 hr; 3 days)" }, "biol_stat": { @@ -368,16 +651,29 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biosample_categories": { "items": { "$ref": "#/$defs/BiosampleCategoryEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biotic_regm": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about treatment(s) involving use of biotic factors, such as bacteria, viruses or fungi." }, "biotic_relationship": { @@ -385,19 +681,47 @@ "description": "Description of relationship(s) between the subject organism and other organism(s) it is associated with. E.g., parasite on species X; mutualist with species Y. The target organism is the subject of the relationship, and the other organism(s) is the object" }, "bishomohopanol": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of bishomohopanol" }, "blood_press_diast": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Resting diastolic blood pressure, measured as mm mercury" }, "blood_press_syst": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Resting systolic blood pressure, measured as mm mercury" }, "bromide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of bromide" }, "build_docs": { @@ -409,46 +733,112 @@ "items": { "$ref": "#/$defs/BuildOccupTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "building_setting": { "$ref": "#/$defs/BuildingSettingEnum", "description": "A location (geography) where a building is set" }, "built_struc_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The age of the built structure since construction" }, "built_struc_set": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The characterization of the location of the built structure as high or low human density" }, "built_struc_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A physical structure that is a body or assemblage of bodies in space to form a system capable of supporting loads" }, "bulk_elect_conductivity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "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." }, "calcium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of calcium in the sample" }, "carb_dioxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Carbon dioxide (gas) amount or concentration at the time of sampling" }, "carb_monoxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Carbon monoxide (gas) amount or concentration at the time of sampling" }, "carb_nitro_ratio": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Ratio of amount or concentrations of carbon to nitrogen" }, "ceil_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The area of the ceiling space within the room" }, "ceil_cond": { @@ -460,7 +850,14 @@ "description": "The type of material used to finish a ceiling" }, "ceil_struc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The construction format of the ceiling" }, "ceil_texture": { @@ -468,7 +865,14 @@ "description": "The feel, appearance, or consistency of a ceiling surface" }, "ceil_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the ceiling to provide inertia against temperature fluctuations. Generally this means concrete that is exposed. A metal deck that supports a concrete slab will act thermally as long as it is exposed to room air flow" }, "ceil_type": { @@ -476,7 +880,14 @@ "description": "The type of ceiling according to the ceiling's appearance or construction" }, "ceil_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on the ceiling" }, "chem_administration": { @@ -491,33 +902,70 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chem_mutagen": { "description": "Treatment involving use of mutagens; should include the name of mutagen, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple mutagen regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chem_oxygen_dem": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A measure of the capacity of water to consume oxygen during the decomposition of organic matter and the oxidation of inorganic chemicals such as ammonia and nitrite" }, "chem_treat_method": { "description": "Method of chemical administration(dose, frequency, duration, time elapsed between administration and sampling) (e.g. 50 mg/l; twice a week; 1 hr; 0 days)", - "type": "string" + "type": [ + "string", + "null" + ] }, "chem_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of chemical compounds administered upstream the sampling location where sampling occurred (e.g. Glycols, H2S scavenger, corrosion and scale inhibitors, demulsifiers, and other production chemicals etc.). The commercial name of the product and name of the supplier should be provided. The date of administration should also be included" }, "chloride": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of chloride in the sample" }, "chlorophyll": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of chlorophyll" }, "climate_environment": { @@ -525,49 +973,105 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collected_from": { "description": "The Site from which a Biosample was collected", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_date": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The time of sampling, either as an instance (single point in time) or interval. In case no exact time is available, the date/time can be right truncated i.e. all of these are valid times: 2008-01-23T19:23:10+00:00; 2008-01-23T19:23:10; 2008-01-23; 2008-01; 2008; Except: 2008-01; 2008 all are ISO8601 compliant" }, "collection_date_inc": { "description": "Date the incubation was harvested/collected/ended. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_time": { "description": "The time of sampling, either as an instance (single point) or interval.", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_time_inc": { "description": "Time the incubation was harvested/collected/ended. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "community": { - "type": "string" + "type": [ + "string", + "null" + ] }, "conduc": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Electrical conductivity of water" }, "cool_syst_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The cooling system identifier" }, "core_field": { "description": "basic fields", - "type": "string" + "type": [ + "string", + "null" + ] }, "crop_rotation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Whether or not crop is rotated, and if yes, rotation schedule" }, "cult_root_med": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name or reference for the hydroponic or in vitro culture rooting medium; can be the name of a commonly used medium or reference to a specific medium, e.g. Murashige and Skoog medium. If the medium has not been formally published, use the rooting medium descriptors." }, "cur_land_use": { @@ -575,19 +1079,47 @@ "description": "Present state of sample site" }, "cur_vegetation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Vegetation classification from one or more standard classification systems, or agricultural crop" }, "cur_vegetation_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in vegetation classification" }, "date_last_rain": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The date of the last time it rained" }, "density": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Density of the sample, which is its mass per unit volume (aka volumetric mass density)" }, "depos_env": { @@ -595,15 +1127,32 @@ "description": "Main depositional environment (https://en.wikipedia.org/wiki/Depositional_environment). If \"other\" is specified, please propose entry in \"additional info\" field" }, "depth": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The vertical distance below local surface, e.g. for sediment or soil samples depth is measured from sediment or soil surface, respectively. Depth can be reported as an interval for subsurface samples." }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "dew_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The temperature to which a given parcel of humid air must be cooled, at constant barometric pressure, for water vapor to condense into water." }, "diether_lipids": { @@ -611,64 +1160,149 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "diss_carb_dioxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved carbon dioxide in the sample or liquid portion of the sample" }, "diss_hydrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved hydrogen" }, "diss_inorg_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Dissolved inorganic carbon concentration in the sample, typically measured after filtering the sample using a 0.45 micrometer filter" }, "diss_inorg_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved inorganic nitrogen" }, "diss_inorg_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved inorganic phosphorus in the sample" }, "diss_iron": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved iron in the sample" }, "diss_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved organic carbon in the sample, liquid portion of the sample, or aqueous phase of the fluid" }, "diss_org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Dissolved organic nitrogen concentration measured as; total dissolved nitrogen - NH4 - NO3 - NO2" }, "diss_oxygen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved oxygen" }, "diss_oxygen_fluid": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved oxygen in the oil field produced fluids as it contributes to oxgen-corrosion and microbial activity (e.g. Mic)." }, "dna_absorb1": { "description": "260/280 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_absorb2": { "description": "260/230 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_collect_site": { "description": "Provide information on the site your DNA sample was collected from", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_concentration": { "maximum": 2000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_cont_type": { "$ref": "#/$defs/JgiContTypeEnum", @@ -676,27 +1310,45 @@ }, "dna_cont_well": { "pattern": "^(?!A1$|A12$|H1$|H12$)(([A-H][1-9])|([A-H]1[0-2]))$", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_container_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_dnase": { "$ref": "#/$defs/YesNoEnum" }, "dna_isolate_meth": { "description": "Describe the method/protocol/kit used to extract DNA/RNA.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_organisms": { "description": "List any organisms known or suspected to grow in co-culture, as well as estimated % of the organism in that culture.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_project_contact": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_samp_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_sample_format": { "$ref": "#/$defs/DNASampleFormatEnum", @@ -704,21 +1356,36 @@ }, "dna_sample_name": { "description": "Give the DNA sample a name that is meaningful to you. Sample names must be unique across all JGI projects and contain a-z, A-Z, 0-9, - and _ only.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project_pi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_volume": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "dnase_rna": { "$ref": "#/$defs/YesNoEnum" @@ -748,7 +1415,14 @@ "description": "The type of movement of the door" }, "door_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The size of the door" }, "door_type": { @@ -764,11 +1438,25 @@ "description": "The type of wood door" }, "door_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on a door" }, "down_par": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Visible waveband radiance and irradiance measurements in the water column" }, "drainage_class": { @@ -781,35 +1469,67 @@ }, "ecosystem": { "description": "An ecosystem is a combination of a physical environment (abiotic factors) and all the organisms (biotic factors) that interact with this environment. Ecosystem is in position 1/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_category": { "description": "Ecosystem categories represent divisions within the ecosystem based on specific characteristics of the environment from where an organism or sample is isolated. Ecosystem category is in position 2/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_subtype": { "description": "Ecosystem subtypes represent further subdivision of Ecosystem types into more distinct subtypes. Ecosystem subtype is in position 4/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_type": { "description": "Ecosystem types represent things having common characteristics within the Ecosystem Category. These common characteristics based grouping is still broad but specific to the characteristics of a given environment. Ecosystem type is in position 3/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "efficiency_percent": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Percentage of volatile solids removed from the anaerobic digestor" }, "elev": { "description": "Elevation of the sampling site is its height above a fixed reference point, most commonly the mean sea level. Elevation is mainly used when referring to points on the earth's surface, while altitude is used for points above the surface, such as an aircraft in flight or a spacecraft in orbit.", - "type": "number" + "type": [ + "number", + "null" + ] }, "elevator": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of elevators within the built structure" }, "embargoed": { "description": "If true, the data are embargoed and not available for public access.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "emsl_biosample_identifiers": { "description": "A list of identifiers for the biosample from the EMSL database. This is used to link the biosample, as modeled by NMDC, to the biosample in the planned EMSL NEXUS database.", @@ -817,14 +1537,20 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "emulsions": { "description": "Amount or concentration of substances such as paints, adhesives, mayonnaise, hair colorants, emulsified oils, etc.; can include multiple emulsion types", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "env_broad_scale": { "$ref": "#/$defs/ControlledIdentifiedTermValue", @@ -839,27 +1565,65 @@ "description": "Report the environmental material(s) immediately surrounding the sample or specimen at the time of sampling. We recommend using subclasses of 'environmental material' (http://purl.obolibrary.org/obo/ENVO_00010483). EnvO documentation about how to use the field: https://github.com/EnvironmentOntology/envo/wiki/Using-ENVO-with-MIxS . Terms from other OBO ontologies are permissible as long as they reference mass/volume nouns (e.g. air, water, blood) and not discrete, countable entities (e.g. a tree, a leaf, a table top)." }, "env_package": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "MIxS extension for reporting of measurements and observations obtained from one or more of the environments where the sample was obtained. All environmental packages listed here are further defined in separate subtables. By giving the name of the environmental package, a selection of fields can be made from the subtables and can be reported" }, "environment_field": { "description": "field describing environmental aspect of a sample", - "type": "string" + "type": [ + "string", + "null" + ] }, "escalator": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of escalators within the built structure" }, "ethylbenzene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ethylbenzene in the sample" }, "exp_duct": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The amount of exposed ductwork in the room" }, "exp_pipe": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of exposed pipes in the room" }, "experimental_factor": { @@ -869,16 +1633,29 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Experimental factors are essentially the variable aspects of an experiment design which can be used to describe an experiment, or set of experiments, in an increasingly detailed manner. This field accepts ontology terms from Experimental Factor Ontology (EFO) and/or Ontology for Biomedical Investigations (OBI). For a browser of EFO (v 2.95) terms, please see http://purl.bioontology.org/ontology/EFO; for a browser of OBI (v 2018-02-12) terms please see http://purl.bioontology.org/ontology/OBI" }, "experimental_factor_other": { "description": "Other details about your sample that you feel can't be accurately represented in the available columns.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ext_door": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of exterior doors in the built structure" }, "ext_wall_orient": { @@ -891,7 +1668,10 @@ }, "extreme_event": { "description": "Unusual physical events that may have affected microbial populations", - "type": "string" + "type": [ + "string", + "null" + ] }, "fao_class": { "$ref": "#/$defs/FaoClassEnum", @@ -902,42 +1682,85 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the hydrocarbon field (e.g. Albacora)" }, "filter_method": { "description": "Type of filter used or how the sample was filtered", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_type": { "description": "A device which removes solid particulates or airborne molecular contaminants", "items": { "$ref": "#/$defs/FilterTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "fire": { "description": "Historical and/or physical evidence of fire", "pattern": "^[12]\\d{3}(?:(?:-(?:0[1-9]|1[0-2]))(?:-(?:0[1-9]|[12]\\d|3[01]))?)?(\\s+to\\s+[12]\\d{3}(?:(?:-(?:0[1-9]|1[0-2]))(?:-(?:0[1-9]|[12]\\d|3[01]))?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "fireplace_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A firebox with chimney" }, "flooding": { "description": "Historical and/or physical evidence of flooding", - "type": "string" + "type": [ + "string", + "null" + ] }, "floor_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The time period since installment of the carpet or flooring" }, "floor_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The area of the floor space within the room" }, "floor_cond": { @@ -945,7 +1768,14 @@ "description": "The physical condition of the floor at the time of sampling; photos or video preferred; use drawings to indicate location of damaged areas" }, "floor_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of floors in the building, including basements and mechanical penthouse" }, "floor_finish_mat": { @@ -957,7 +1787,14 @@ "description": "Refers to the structural elements and subfloor upon which the finish flooring is installed" }, "floor_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the floor to provide inertia against temperature fluctuations" }, "floor_water_mold": { @@ -965,15 +1802,36 @@ "description": "Signs of the presence of mold or mildew in a room" }, "fluor": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Raw or converted fluorescence of water" }, "freq_clean": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of times the sample location is cleaned. Frequency of cleaning might be on a Daily basis, Weekly, Monthly, Quarterly or Annually." }, "freq_cook": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of times a meal is cooked per week" }, "fungicide_regm": { @@ -981,7 +1839,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "furniture": { "$ref": "#/$defs/FurnitureEnum", @@ -992,29 +1853,56 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gaseous_substances": { "description": "Amount or concentration of substances such as hydrogen sulfide, carbon dioxide, methane, etc.; can include multiple substances", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gender_restroom": { "$ref": "#/$defs/GenderRestroomEnum", "description": "The gender type of the restroom" }, "genetic_mod": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Genetic modifications of the genome of an organism, which may occur naturally by spontaneous mutation, or be introduced by some experimental means, e.g. specification of a transgene or the gene knocked-out or details of transient transfection" }, "geo_loc_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)" }, "glucosidase_act": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of glucosidase activity" }, "gold_biosample_identifiers": { @@ -1023,10 +1911,20 @@ "pattern": "^gold:Gb[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gravidity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Whether or not subject is gravid, and if yes date due or date post-conception, specifying which is used" }, "gravity": { @@ -1034,7 +1932,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "growth_facil": { "anyOf": [ @@ -1043,6 +1944,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Type of facility where the sampled plant was grown; controlled vocabulary: growth chamber, open top chamber, glasshouse, experimental garden, field. Alternatively use Crop Ontology (CO) terms, see http://www.cropontology.org/ontology/CO_715/Crop%20Research" @@ -1056,13 +1960,26 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "habitat": { - "type": "string" + "type": [ + "string", + "null" + ] }, "hall_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The total count of hallways and cooridors in the built structure" }, "handidness": { @@ -1078,7 +1995,14 @@ "description": "Main Hydrocarbon Resource type. The term \"Hydrocarbon Resource\" HCR defined as a natural environmental feature containing large amounts of hydrocarbons at high concentrations potentially suitable for commercial exploitation. This term should not be confused with the Hydrocarbon Occurrence term which also includes hydrocarbon-rich environments with currently limited commercial interest such as seeps, outcrops, gas hydrates etc. If \"other\" is specified, please propose entry in \"additional info\" field" }, "hcr_fw_salinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original formation water salinity (prior to secondary recovery e.g. Waterflooding) expressed as TDS" }, "hcr_geol_age": { @@ -1086,11 +2010,25 @@ "description": "Geological age of hydrocarbon resource (Additional info: https://en.wikipedia.org/wiki/Period_(geology)). If \"other\" is specified, please propose entry in \"additional info\" field" }, "hcr_pressure": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original pressure of the hydrocarbon resource" }, "hcr_temp": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original temperature of the hydrocarbon resource" }, "heat_cool_type": { @@ -1098,7 +2036,10 @@ "items": { "$ref": "#/$defs/HeatCoolTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "heat_deliv_loc": { "$ref": "#/$defs/HeatDelivLocEnum", @@ -1106,10 +2047,20 @@ }, "heat_sys_deliv_meth": { "description": "The method by which the heat is delivered through the system", - "type": "string" + "type": [ + "string", + "null" + ] }, "heat_system_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The heating system identifier" }, "heavy_metals": { @@ -1117,17 +2068,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "heavy_metals_meth": { "description": "Reference or method used in determining heavy metals", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "height_carper_fiber": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average carpet fiber height in the indoor environment" }, "herbicide_regm": { @@ -1135,18 +2099,42 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "horizon_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining the horizon" }, "host_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Age of host at the time of sampling; relevant scale depends on species and study, e.g. Could be seconds for amoebae or centuries for trees" }, "host_body_habitat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original body habitat where the sample was obtained from" }, "host_body_product": { @@ -1156,6 +2144,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Substance produced by the body, e.g. Stool, mucus, where the sample was obtained from. For foundational model of anatomy ontology (fma) or Uber-anatomy ontology (UBERON) terms, please see https://www.ebi.ac.uk/ols/ontologies/fma or https://www.ebi.ac.uk/ols/ontologies/uberon" @@ -1167,20 +2158,44 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Name of body site where the sample was obtained from, such as a specific organ or tissue (tongue, lung etc...). For foundational model of anatomy ontology (fma) (v 4.11.0) or Uber-anatomy ontology (UBERON) (v releases/2014-06-15) terms, please see http://purl.bioontology.org/ontology/FMA or http://purl.bioontology.org/ontology/UBERON" }, "host_body_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Core body temperature of the host when sample was collected" }, "host_color": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The color of host" }, "host_common_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Common name of the host." }, "host_diet": { @@ -1188,14 +2203,31 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_disease_stat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of diseases with which the host has been diagnosed; can include multiple diagnoses. The value of the field depends on host; for humans the terms should be chosen from the DO (Human Disease Ontology) at https://www.disease-ontology.org, non-human host diseases are free text" }, "host_dry_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of dry mass" }, "host_family_relation": { @@ -1203,18 +2235,42 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_genotype": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Observed genotype" }, "host_growth_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Literature reference giving growth conditions of the host" }, "host_height": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The height of subject" }, "host_last_meal": { @@ -1222,18 +2278,38 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_length": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The length of subject" }, "host_life_stage": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of life stage of host" }, "host_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "host_phenotype": { "anyOf": [ @@ -1242,6 +2318,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Phenotype of human or other host. For phenotypic quality ontology (pato) (v 2018-03-27) terms, please see http://purl.bioontology.org/ontology/pato. For Human Phenotype Ontology (HP) (v 2018-06-13) please see http://purl.bioontology.org/ontology/HP" @@ -1251,11 +2330,25 @@ "description": "Gender or physical sex of the host." }, "host_shape": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Morphological shape of host" }, "host_subject_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A unique identifier by which each subject can be referred to, de-identified." }, "host_subspecf_genlin": { @@ -1263,10 +2356,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_substrate": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The growth substrate of the host." }, "host_symbiont": { @@ -1274,22 +2377,53 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_taxid": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "NCBI taxon id of the host, e.g. 9606" }, "host_tot_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total mass of the host at collection, the unit depends on host" }, "host_wet_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of wet mass" }, "humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Amount of water vapour in the air, at the time of sampling" }, "humidity_regm": { @@ -1297,7 +2431,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "An NMDC assigned unique identifier for a biosample submitted to NMDC.", @@ -1310,7 +2447,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "img_identifiers": { "description": "A list of identifiers that relate the biosample to records in the IMG database.", @@ -1318,7 +2458,10 @@ "pattern": "^img\\.taxon:[a-zA-Z0-9_][a-zA-Z0-9_\\/\\.]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "indoor_space": { "$ref": "#/$defs/IndoorSpaceEnum", @@ -1329,7 +2472,14 @@ "description": "Type of indoor surface" }, "indust_eff_percent": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Percentage of industrial effluents received by wastewater treatment plant" }, "infiltrations": { @@ -1338,14 +2488,20 @@ "pattern": "^(?:[0-9]|[1-9][0-9]|9[0-9]|0[0-9]|0[0-5][0-9]):[0-5][0-9]:[0-5][0-9]$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inorg_particles": { "description": "Concentration of particles such as sand, grit, metal particles, ceramics, etc.; can include multiple particles", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "insdc_biosample_identifiers": { "description": "identifiers for corresponding sample in INSDC", @@ -1353,10 +2509,20 @@ "pattern": "^biosample:SAM[NED]([A-Z])?[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inside_lux": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded value at sampling time (power density)" }, "int_wall_cond": { @@ -1365,42 +2531,104 @@ }, "investigation_field": { "description": "field describing aspect of the investigation/study to which the sample belongs", - "type": "string" + "type": [ + "string", + "null" + ] }, "isotope_exposure": { "description": "List isotope exposure or addition applied to your sample.", - "type": "string" + "type": [ + "string", + "null" + ] }, "iw_bt_date_well": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "Injection water breakthrough date per well following a secondary and/or tertiary recovery" }, "iwf": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Proportion of the produced fluids derived from injected water at the time of sampling. (e.g. 87%)" }, "last_clean": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The last time the floor was cleaned (swept, mopped, vacuumed)" }, "lat_lon": { - "$ref": "#/$defs/GeolocationValue", + "anyOf": [ + { + "$ref": "#/$defs/GeolocationValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by latitude and longitude. The values should be reported in decimal degrees and in WGS84 system" }, "lbc_thirty": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "lime buffer capacity, determined after 30 minute incubation" }, "lbceq": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "lime buffer capacity, determined at equilibrium after 5 day incubation" }, "light_intensity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of light intensity" }, "light_regm": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about treatment(s) involving exposure to light, including both light intensity and quality." }, "light_type": { @@ -1408,18 +2636,42 @@ "items": { "$ref": "#/$defs/LightTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "link_addit_analys": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to additional analysis results performed on the sample" }, "link_class_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to digitized soil maps or other soil classification information" }, "link_climate_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to climate resource" }, "lithology": { @@ -1427,34 +2679,86 @@ "description": "Hydrocarbon resource main lithology (Additional information: http://petrowiki.org/Lithology_and_rock_type_determination). If \"other\" is specified, please propose entry in \"additional info\" field" }, "local_class": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Soil classification based on local soil classification system" }, "local_class_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining the local soil classification" }, "location": { - "type": "string" + "type": [ + "string", + "null" + ] }, "magnesium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of magnesium in the sample" }, "manganese": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of manganese in the sample" }, "max_occup": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The maximum amount of people allowed in the indoor environment" }, "mean_frict_vel": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of mean friction velocity" }, "mean_peak_frict_vel": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of mean peak friction velocity" }, "mech_struc": { @@ -1466,127 +2770,255 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "methane": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Methane (gas) amount or concentration at the time of sampling" }, "micro_biomass_c_meth": { "description": "Reference or method used in determining microbial biomass carbon", - "type": "string" + "type": [ + "string", + "null" + ] }, "micro_biomass_meth": { "description": "Reference or method used in determining microbial biomass", - "type": "string" + "type": [ + "string", + "null" + ] }, "micro_biomass_n_meth": { "description": "Reference or method used in determining microbial biomass nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "microbial_biomass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer. If you keep this, you would need to have correction factors used for conversion to the final units" }, "microbial_biomass_c": { "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer.", - "type": "string" + "type": [ + "string", + "null" + ] }, "microbial_biomass_n": { "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer.", - "type": "string" + "type": [ + "string", + "null" + ] }, "mineral_nutr_regm": { "description": "Information about treatment involving the use of mineral supplements; should include the name of mineral nutrient, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple mineral nutrient regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "misc_param": { "description": "Any other measurement performed or parameter collected, that is not listed here", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "n_alkanes": { "description": "Concentration of n-alkanes; can include multiple n-alkanes", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_taxonomy_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "neon_biosample_identifiers": { "items": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "nitrate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrate in the sample" }, "nitrate_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrate nitrogen in the sample" }, "nitrite": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrite in the sample" }, "nitrite_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrite nitrogen in the sample" }, "nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrogen (total)" }, "non_microb_biomass": { "description": "Amount of biomass; should include the name for the part of biomass measured, e.g.insect, plant, total. Can include multiple measurements separated by ;", - "type": "string" + "type": [ + "string", + "null" + ] }, "non_microb_biomass_method": { "description": "Reference or method used in determining biomass", - "type": "string" + "type": [ + "string", + "null" + ] }, "non_min_nutr_regm": { "description": "Information about treatment involving the exposure of plant to non-mineral nutrient such as oxygen, hydrogen or carbon; should include the name of non-mineral nutrient, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple non-mineral nutrient regimens", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "nucleic_acid_sequence_source_field": { - "type": "string" + "type": [ + "string", + "null" + ] }, "number_pets": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of pets residing in the sampled space" }, "number_plants": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of plant(s) in the sampling space" }, "number_resident": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of individuals currently occupying in the sampling location" }, "occup_density_samp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Average number of occupants at time of sampling per square footage" }, "occup_document": { @@ -1594,49 +3026,99 @@ "description": "The type of documentation of occupancy" }, "occup_samp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Number of occupants present at time of sample within the given space" }, "org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic carbon" }, "org_count_qpcr_info": { "description": "If qpcr was used for the cell count, the target gene name, the primer sequence and the cycling conditions should also be provided. (Example: 16S rrna; FWD:ACGTAGCTATGACGT REV:GTGCTAGTCGAGTAC; initial denaturation:90C_5min; denaturation:90C_2min; annealing:52C_30 sec; elongation:72C_30 sec; 90 C for 1 min; final elongation:72C_5min; 30 cycles)", - "type": "string" + "type": [ + "string", + "null" + ] }, "org_matter": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic matter" }, "org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic nitrogen" }, "org_nitro_method": { "description": "Method used for obtaining organic nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "org_particles": { "description": "Concentration of particles such as faeces, hairs, food, vomit, paper fibers, plant material, humus, etc.", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "organism_count": { "description": "Total cell count of any organism (or group of organisms) per gram, volume or area of sample, should include name of organism followed by count. The method that was used for the enumeration (e.g. qPCR, atp, mpn, etc.) Should also be provided. (example: total prokaryotes; 3.5e7 cells per ml; qpcr)", "items": { "$ref": "#/$defs/QuantityValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "other_treatment": { "description": "Other treatments applied to your samples that are not applicable to the provided fields", - "type": "string" + "type": [ + "string", + "null" + ] }, "owc_tvdss": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Depth of the original oil water contact (OWC) zone (average) (m TVDSS)" }, "oxy_stat_samp": { @@ -1644,15 +3126,36 @@ "description": "Oxygenation status of sample" }, "oxygen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Oxygen (gas) amount or concentration at the time of sampling" }, "part_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of particulate organic carbon" }, "part_org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of particulate organic nitrogen" }, "particle_class": { @@ -1660,10 +3163,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "permeability": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measure of the ability of a hydrocarbon resource to allow fluids to pass through it. (Additional information: https://en.wikipedia.org/wiki/Permeability_(earth_sciences))" }, "perturbation": { @@ -1671,25 +3184,48 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "pesticide_regm": { "description": "Information about treatment involving use of insecticides; should include the name of pesticide, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple pesticide regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "petroleum_hydrocarb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of petroleum hydrocarbon" }, "ph": { "description": "Ph measurement of the sample, or liquid portion of sample, or aqueous phase of the fluid", - "type": "number" + "type": [ + "number", + "null" + ] }, "ph_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining ph" }, "ph_regm": { @@ -1697,17 +3233,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "phaeopigments": { "description": "Concentration of phaeopigments; can include multiple phaeopigments", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "phosphate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of phosphate" }, "phosplipid_fatt_acid": { @@ -1715,10 +3264,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "photon_flux": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of photon flux" }, "plant_growth_med": { @@ -1728,12 +3287,22 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Specification of the media for growing the plants or tissue cultured samples, e.g. soil, aeroponic, hydroponic, in vitro solid culture medium, in vitro liquid culture medium. Recommended value is a specific value from EO:plant growth medium (follow this link for terms http://purl.obolibrary.org/obo/EO_0007147) or other controlled vocabulary" }, "plant_product": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Substance produced by the plant, where the sample was obtained from" }, "plant_sex": { @@ -1747,6 +3316,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Name of plant structure the sample was obtained from; for Plant Ontology (PO) (v releases/2017-12-14) terms, see http://purl.bioontology.org/ontology/PO, e.g. petiole epidermis (PO_0000051). If an individual flower is sampled, the sex of it can be recorded here." @@ -1756,55 +3328,134 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "porosity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Porosity of deposited sediment is volume of voids divided by the total volume of sample" }, "potassium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of potassium in the sample" }, "pour_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature at which a liquid becomes semi solid and loses its flow characteristics. In crude oil a high\u00ac\u2020pour point\u00ac\u2020is generally associated with a high paraffin content, typically found in crude deriving from a larger proportion of plant material. (soure: https://en.wikipedia.org/wiki/pour_point)" }, "pre_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process of pre-treatment removes materials that can be easily collected from the raw wastewater" }, "pres_animal_insect": { "description": "The type and number of animals or insects present in the sampling space.", "pattern": "^(cat|dog|rodent|snake|other);\\d+$", - "type": "string" + "type": [ + "string", + "null" + ] }, "pressure": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Pressure to which the sample is subject to, in atmospheres" }, "prev_land_use_meth": { "description": "Reference or method used in determining previous land use and dates", - "type": "string" + "type": [ + "string", + "null" + ] }, "previous_land_use": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Previous land use and dates" }, "primary_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of primary production, generally measured as isotope uptake" }, "primary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process to produce both a generally homogeneous liquid capable of being treated biologically and a sludge that can be separately treated or processed" }, "prod_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Oil and/or gas production rates per well (e.g. 524 m3 / day)" }, "prod_start_date": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "Date of field's first production" }, "profile_position": { @@ -1813,16 +3464,28 @@ }, "project_id": { "description": "Proposal IDs or names associated with dataset", - "type": "string" + "type": [ + "string", + "null" + ] }, "proport_woa_temperature": { - "type": "string" + "type": [ + "string", + "null" + ] }, "proposal_dna": { - "type": "string" + "type": [ + "string", + "null" + ] }, "proposal_rna": { - "type": "string" + "type": [ + "string", + "null" + ] }, "quad_pos": { "$ref": "#/$defs/QuadPosEnum", @@ -1833,29 +3496,63 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rainfall_regm": { "description": "Information about treatment involving an exposure to a given amount of rainfall, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "reactor_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Anaerobic digesters can be designed and engineered to operate using a number of different process configurations, as batch or continuous, mesophilic, high solid or low solid, and single stage or multistage" }, "redox_potential": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Redox potential, measured relative to a hydrogen cell, indicating oxidation or reduction potential" }, "rel_air_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Partial vapor and air pressure, density of the vapor and air, or by the actual mass of the vapor and air" }, "rel_humidity_out": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded outside relative humidity value at the time of sampling" }, "rel_samp_loc": { @@ -1864,32 +3561,61 @@ }, "replicate_number": { "description": "If sending biological replicates, indicate the rep number here.", - "type": "string" + "type": [ + "string", + "null" + ] }, "reservoir": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the reservoir (e.g. Carapebus)" }, "resins_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "rna_absorb1": { "description": "260/280 measurement of RNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_absorb2": { "description": "260/230 measurement of RNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_collect_site": { "description": "Provide information on the site your RNA sample was collected from", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_concentration": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_cont_type": { "$ref": "#/$defs/JgiContTypeEnum", @@ -1897,24 +3623,42 @@ }, "rna_cont_well": { "pattern": "^(?!A1$|A12$|H1$|H12$)(([A-H][1-9])|([A-H]1[0-2]))$", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_container_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_isolate_meth": { "description": "Describe the method/protocol/kit used to extract DNA/RNA.", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_organisms": { "description": "List any organisms known or suspected to grow in co-culture, as well as estimated % of the organism in that culture.", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_project_contact": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_samp_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_sample_format": { "$ref": "#/$defs/RNASampleFormatEnum", @@ -1924,29 +3668,54 @@ "description": "Give the RNA sample a name that is meaningful to you. Sample names must be unique across all JGI projects and contain a-z, A-Z, 0-9, - and _ only.", "maximum": 2000, "minimum": 0, - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project_pi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_volume": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "room_air_exch_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The rate at which outside air replaces indoor air in a given space" }, "room_architec_elem": { "description": "The unique details and component parts that, together, form the architecture of a distinguisahable space within a built structure", - "type": "string" + "type": [ + "string", + "null" + ] }, "room_condt": { "$ref": "#/$defs/RoomCondtEnum", @@ -1957,23 +3726,58 @@ "description": "List of rooms connected to the sampling room by a doorway" }, "room_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The total count of rooms in the built structure including all room types" }, "room_dim": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The length, width and height of sampling room" }, "room_door_dist": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Distance between doors (meters) in the hallway between the sampling room and adjacent rooms" }, "room_door_share": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) sharing a door with the sampling room" }, "room_hallway": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) located in the same hallway as sampling room" }, "room_loc": { @@ -1982,14 +3786,31 @@ }, "room_moist_dam_hist": { "description": "The history of moisture damage or mold in the past 12 months. Number of events of moisture damage or mold observed", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "room_net_area": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The net floor area of sampling room. Net area excludes wall thicknesses" }, "room_occup": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Count of room occupancy at time of sampling" }, "room_samp_pos": { @@ -2001,59 +3822,149 @@ "description": "The main purpose or activity of the sampling room. A room is any distinguishable space within a structure" }, "room_vol": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Volume of sampling room" }, "room_wall_share": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) sharing a wall with the sampling room" }, "room_window_count": { "description": "Number of windows in the room", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "root_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Relevant rooting conditions such as field plot size, sowing density, container dimensions, number of plants per container." }, "root_med_carbon": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Source of organic carbon in the culture rooting medium; e.g. sucrose." }, "root_med_macronutr": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measurement of the culture rooting medium macronutrients (N,P, K, Ca, Mg, S); e.g. KH2PO4 (170\u00ac\u2020mg/L)." }, "root_med_micronutr": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measurement of the culture rooting medium micronutrients (Fe, Mn, Zn, B, Cu, Mo); e.g. H3BO3 (6.2\u00ac\u2020mg/L)." }, "root_med_ph": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "pH measurement of the culture rooting medium; e.g. 5.5." }, "root_med_regl": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Growth regulators in the culture rooting medium such as cytokinins, auxins, gybberellins, abscisic acid; e.g. 0.5\u00ac\u2020mg/L NAA." }, "root_med_solid": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Specification of the solidifying agent in the culture rooting medium; e.g. agar." }, "root_med_suppl": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Organic supplements of the culture rooting medium, such as vitamins, amino acids, organic acids, antibiotics activated charcoal; e.g. nicotinic acid (0.5\u00ac\u2020mg/L)." }, "salinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total concentration of all dissolved salts in a liquid or solid sample. While salinity can be measured by a complete chemical analysis, this method is difficult and time consuming. More often, it is instead derived from the conductivity measurement. This is known as practical salinity. These derivations compare the specific conductance of the sample to a salinity standard such as seawater." }, "salinity_category": { "description": "Categorical description of the sample's salinity. Examples: halophile, halotolerant, hypersaline, huryhaline", - "type": "string" + "type": [ + "string", + "null" + ] }, "salinity_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining salinity" }, "salt_regm": { @@ -2061,7 +3972,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "samp_capt_status": { "$ref": "#/$defs/SampCaptStatusEnum", @@ -2069,11 +3983,17 @@ }, "samp_collec_device": { "description": "The device used to collect an environmental sample. This field accepts terms listed under environmental sampling device (http://purl.obolibrary.org/obo/ENVO). This field also accepts terms listed under specimen collection device (http://purl.obolibrary.org/obo/GENEPIO_0002094).", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_collec_method": { "description": "The method employed for collecting the sample.", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_collect_point": { "$ref": "#/$defs/SampCollectPointEnum", @@ -2088,7 +4008,14 @@ "description": "The floor of the building, where the sampling room is located" }, "samp_loc_corr_rate": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Metal corrosion rate is the speed of metal deterioration due to environmental conditions. As environmental conditions change corrosion rates change accordingly. Therefore, long term corrosion rates are generally more informative than short term rates and for that reason they are preferred during reporting. In the case of suspected MIC, corrosion rate measurements at the time of sampling might provide insights into the involvement of certain microbial community members in MIC as well as potential microbial interplays" }, "samp_mat_process": { @@ -2098,28 +4025,62 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "A brief description of any processing applied to the sample during or after retrieving the sample from environment, or a link to the relevant protocol(s) performed." }, "samp_md": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "In non deviated well, measured depth is equal to the true vertical depth, TVD (TVD=TVDSS plus the reference or datum it refers to). In deviated wells, the MD is the length of trajectory of the borehole measured from the same reference or datum. Common datums used are ground level (GL), drilling rig floor (DF), rotary table (RT), kelly bushing (KB) and mean sea level (MSL). If \"other\" is specified, please propose entry in \"additional info\" field" }, "samp_name": { "description": "A local identifier or name that for the material sample used for extracting nucleic acids, and subsequent sequencing. It can refer either to the original material collected or to any derived sub-samples. It can have any format, but we suggest that you make it concise, unique and consistent within your lab, and as informative as possible. INSDC requires every sample name from a single Submitter to be unique. Use of a globally unique identifier for the field source_mat_id is recommended in addition to sample_name.", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_preserv": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Preservative added to the sample (e.g. Rnalater, alcohol, formaldehyde, etc.). Where appropriate include volume added (e.g. Rnalater; 2 ml)" }, "samp_room_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Sampling room number. This ID should be consistent with the designations on the building floor plans" }, "samp_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total amount or size (volume (ml), mass (g) or area (m2) ) of sample collected." }, "samp_sort_meth": { @@ -2127,18 +4088,42 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "samp_store_dur": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Duration for which the sample was stored" }, "samp_store_loc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Location at which sample was stored, usually name of a specific freezer/room" }, "samp_store_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature at which sample was stored, e.g. -80 degree Celsius" }, "samp_subtype": { @@ -2146,23 +4131,58 @@ "description": "Name of sample sub-type. For example if \"sample type\" is \"Produced Water\" then subtype could be \"Oil Phase\" or \"Water Phase\". If \"other\" is specified, please propose entry in \"additional info\" field" }, "samp_taxon_id": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "NCBI taxon id of the sample. Maybe be a single taxon or mixed taxa sample. Use 'synthetic metagenome\u2019 for mock community/positive controls, or 'blank sample' for negative controls." }, "samp_time_out": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The recent and long term history of outside sampling" }, "samp_transport_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Sample transport duration (in days or hrs) and temperature the sample was exposed to (e.g. 5.5 days; 20 \u00ac\u221eC)" }, "samp_tvdss": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Depth of the sample i.e. The vertical distance between the sea level and the sampled position in the subsurface. Depth can be reported as an interval for subsurface samples e.g. 1325.75-1362.25 m" }, "samp_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The type of material from which the sample was obtained. For the Hydrocarbon package, samples include types like core, rock trimmings, drill cuttings, piping section, coupon, pigging debris, solid deposit, produced fluid, produced water, injected water, swabs, etc. For the Food Package, samples are usually categorized as food, body products or tissues, or environmental material. This field accepts terms listed under environmental specimen (http://purl.obolibrary.org/obo/GENEPIO_0001246)." }, "samp_weather": { @@ -2170,33 +4190,63 @@ "description": "The weather on the sampling day" }, "samp_well_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the well (e.g. BXA1123) where sample was taken" }, "sample_collection_site": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_link": { "description": "A unique identifier to assign parent-child, subsample, or sibling samples. This is relevant when a sample or other material was used to generate the new sample.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "sample_shipped": { "description": "The total amount or size (volume (ml), mass (g) or area (m2) ) of sample sent to EMSL.", - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_type": { "$ref": "#/$defs/SampleTypeEnum", "description": "Type of sample being submitted" }, "saturates_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "season": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The season when sampling occurred. Any of the four periods into which the year is divided by the equinoxes and solstices. This field accepts terms listed under season (http://purl.obolibrary.org/obo/NCIT_C94729)." }, "season_environment": { @@ -2204,14 +4254,31 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "season_precpt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of all seasonal precipitation values known, or an estimated equivalent value derived by such methods as regional indexes or Isohyetal maps." }, "season_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Mean seasonal temperature" }, "season_use": { @@ -2219,7 +4286,14 @@ "description": "The seasons the space is occupied" }, "secondary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process for substantially degrading the biological content of the sewage" }, "sediment_type": { @@ -2227,26 +4301,53 @@ "description": "Information about the sediment type based on major constituents" }, "sequencing_field": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sewage_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Type of wastewater treatment plant as municipial or industrial" }, "shad_dev_water_mold": { "description": "Signs of the presence of mold or mildew on the shading device", - "type": "string" + "type": [ + "string", + "null" + ] }, "shading_device_cond": { "$ref": "#/$defs/ShadingDeviceCondEnum", "description": "The physical condition of the shading device at the time of sampling" }, "shading_device_loc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The location of the shading device in relation to the built structure" }, "shading_device_mat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The material the shading device is composed of" }, "shading_device_type": { @@ -2254,39 +4355,102 @@ "description": "The type of shading device" }, "sieving": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Collection design of pooled samples and/or sieve size and amount of sample sieved" }, "silicate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of silicate" }, "size_frac": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Filtering pore size used in sample preparation" }, "size_frac_low": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Refers to the mesh/pore size used to pre-filter/pre-sort the sample. Materials larger than the size threshold are excluded from the sample" }, "size_frac_up": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Refers to the mesh/pore size used to retain the sample. Materials smaller than the size threshold are excluded from the sample" }, "slope_aspect": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The direction a slope faces. While looking down a slope use a compass to record the direction you are facing (direction or degrees). This measure provides an indication of sun and wind exposure that will influence soil temperature and evapotranspiration." }, "slope_gradient": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Commonly called 'slope'. The angle between ground surface and a horizontal line (in percent). This is the direction that overland water would flow. This measure is usually taken with a hand level meter or clinometer" }, "sludge_retent_time": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The time activated sludge remains in reactor" }, "sodium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Sodium concentration in the sample" }, "soil_horizon": { @@ -2294,23 +4458,54 @@ "description": "Specific layer in the land area which measures parallel to the soil surface and possesses physical characteristics which differ from the layers above and beneath" }, "soil_text_measure": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The relative proportion of different grain sizes of mineral particles in a soil, as described using a standard system; express as % sand (50 um to 2 mm), silt (2 um to 50 um), and clay (<2 um) with textural name (e.g., silty clay loam) optional." }, "soil_texture_meth": { "description": "Reference or method used in determining soil texture", - "type": "string" + "type": [ + "string", + "null" + ] }, "soil_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of the soil type or classification. This field accepts terms under soil (http://purl.obolibrary.org/obo/ENVO_00001998). Multiple terms can be separated by pipes." }, "soil_type_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining soil series name or other lower-level classification" }, "solar_irradiance": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The amount of solar energy that arrives at a specific area of a surface during a specific time interval" }, "soluble_inorg_mat": { @@ -2318,28 +4513,58 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soluble_iron_micromol": { - "type": "string" + "type": [ + "string", + "null" + ] }, "soluble_org_mat": { "description": "Concentration of substances such as urea, fruit sugars, soluble proteins, drugs, pharmaceuticals, etc.", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soluble_react_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of soluble reactive phosphorus" }, "source_mat_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A globally unique identifier assigned to the biological sample." }, "space_typ_state": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Customary or normal state of the space" }, "specific": { @@ -2348,10 +4573,20 @@ }, "specific_ecosystem": { "description": "Specific ecosystems represent specific features of the environment like aphotic zone in an ocean or gastric mucosa within a host digestive system. Specific ecosystem is in position 5/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "specific_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "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." }, "sr_dep_env": { @@ -2375,18 +4610,34 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "start_date_inc": { "description": "Date the incubation was started. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "start_time_inc": { "description": "Time the incubation was started. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "store_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Explain how and for how long the soil sample was stored before DNA extraction (fresh/frozen/other)." }, "substructure_type": { @@ -2394,21 +4645,52 @@ "items": { "$ref": "#/$defs/SubstructureTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "subsurface_depth": { - "$ref": "#/$defs/QuantityValue" + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ] }, "sulfate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of sulfate in the sample" }, "sulfate_fw": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original sulfate concentration in the hydrocarbon resource" }, "sulfide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of sulfide in the sample" }, "surf_air_cont": { @@ -2416,10 +4698,20 @@ "items": { "$ref": "#/$defs/SurfAirContEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "surf_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Surfaces: water activity as a function of air and material moisture" }, "surf_material": { @@ -2427,19 +4719,43 @@ "description": "Surface materials at the point of sampling" }, "surf_moisture": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Water held on a surface" }, "surf_moisture_ph": { "description": "ph measurement of surface", - "type": "number" + "type": [ + "number", + "null" + ] }, "surf_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the surface at the time of sampling" }, "suspend_part_matter": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of suspended particulate matter" }, "suspend_solids": { @@ -2447,26 +4763,60 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tan": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total Acid Number\u00ac\u2020(TAN) is a measurement of acidity that is determined by the amount of\u00ac\u2020potassium hydroxide\u00ac\u2020in milligrams that is needed to neutralize the acids in one gram of oil.\u00ac\u2020It is an important quality measurement of\u00ac\u2020crude oil. (source: https://en.wikipedia.org/wiki/Total_acid_number)" }, "technical_reps": { "description": "If sending technical replicates of the same sample, indicate the replicate count.", - "type": "string" + "type": [ + "string", + "null" + ] }, "temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the sample at the time of sampling." }, "temp_out": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded temperature value at sampling time outside" }, "tertiary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process providing a final treatment stage to raise the effluent quality before it is discharged to the receiving environment" }, "tidal_stage": { @@ -2478,70 +4828,181 @@ "items": { "$ref": "#/$defs/TillageEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tiss_cult_growth_med": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of plant tissue culture growth media used" }, "toluene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of toluene in the sample" }, "tot_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total carbon content" }, "tot_depth_water_col": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of total depth of water column" }, "tot_diss_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total dissolved nitrogen concentration, reported as nitrogen, measured by: total dissolved nitrogen = NH4 + NO3NO2 + dissolved organic nitrogen" }, "tot_inorg_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total inorganic nitrogen content" }, "tot_iron": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of total iron in the sample" }, "tot_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total nitrogen concentration of water samples, calculated by: total nitrogen = total dissolved nitrogen + particulate nitrogen. Can also be measured without filtering, reported as nitrogen" }, "tot_nitro_cont_meth": { "description": "Reference or method used in determining the total nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "tot_nitro_content": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total nitrogen content of the sample" }, "tot_org_c_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining total organic carbon" }, "tot_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Definition for soil: total organic carbon content of the soil, definition otherwise: total organic carbon content" }, "tot_part_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total particulate carbon content" }, "tot_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total phosphorus concentration in the sample, calculated by: total phosphorus = total dissolved phosphorus + particulate phosphorus" }, "tot_phosphate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total amount or concentration of phosphate" }, "tot_sulfur": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of total sulfur in the sample" }, "train_line": { @@ -2557,20 +5018,44 @@ "description": "The train stop collection location" }, "turbidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measure of the amount of cloudiness or haziness in water caused by individual particles" }, "tvdss_of_hcr_press": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "True vertical depth subsea (TVDSS) of the hydrocarbon resource where the original pressure was measured (e.g. 1578 m)." }, "tvdss_of_hcr_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "True vertical depth subsea (TVDSS) of the hydrocarbon resource where the original temperature was measured (e.g. 1345 m)." }, "typ_occup_density": { "description": "Customary or normal density of occupants", - "type": "number" + "type": [ + "number", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -2580,19 +5065,47 @@ "type": "string" }, "ventilation_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Ventilation rate of the system in the sampled premises" }, "ventilation_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Ventilation system used in the sampled premises" }, "vfa": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of Volatile Fatty Acids in the sample" }, "vfa_fw": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original volatile fatty acid concentration in the hydrocarbon resource" }, "vis_media": { @@ -2600,7 +5113,14 @@ "description": "The building visual media" }, "viscosity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A measure of oil's resistance\u00ac\u2020to gradual deformation by\u00ac\u2020shear stress\u00ac\u2020or\u00ac\u2020tensile stress (e.g. 3.5 cp; 100 \u00ac\u221eC)" }, "volatile_org_comp": { @@ -2608,10 +5128,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "wall_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total area of the sampled room's walls" }, "wall_const_type": { @@ -2623,7 +5153,14 @@ "description": "The material utilized to finish the outer most layer of the wall" }, "wall_height": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average height of the walls in the sampled room" }, "wall_loc": { @@ -2639,38 +5176,86 @@ "description": "The feel, appearance, or consistency of a wall surface" }, "wall_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the wall to provide inertia against temperature fluctuations. Generally this means concrete or concrete block that is either exposed or covered only with paint" }, "wall_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on a wall" }, "wastewater_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The origin of wastewater such as human waste, rainfall, storm drains, etc." }, "water_cont_soil_meth": { "description": "Reference or method used in determining the water content of soil", - "type": "string" + "type": [ + "string", + "null" + ] }, "water_content": { "description": "Water content measurement", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "water_current": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of magnitude and direction of flow within a fluid" }, "water_cut": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Current amount of water (%) in a produced fluid stream; or the average of the combined streams" }, "water_feat_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The size of the water feature" }, "water_feat_type": { @@ -2678,7 +5263,14 @@ "description": "The type of water feature present within the building being sampled" }, "water_prod_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Water production rates per well (e.g. 987 m3 / day)" }, "water_temp_regm": { @@ -2686,29 +5278,56 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "watering_regm": { "description": "Information about treatment involving an exposure to watering frequencies, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "weekday": { "$ref": "#/$defs/WeekdayEnum", "description": "The day of the week when sampling occurred" }, "win": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A unique identifier of a well or wellbore. This is part of the Global Framework for Well Identification initiative which is compiled by the Professional Petroleum Data Management Association (PPDM) in an effort to improve well identification systems. (Supporting information: https://ppdm.org/ and http://dl.ppdm.org/dl/690)" }, "wind_direction": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Wind direction is the direction from which a wind originates" }, "wind_speed": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Speed of wind measured at the time of sampling" }, "window_cond": { @@ -2732,15 +5351,36 @@ "description": "The type of material used to finish a window" }, "window_open_freq": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of times windows are opened per week" }, "window_size": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The window's length and width" }, "window_status": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Defines whether the windows were open or closed during environmental testing" }, "window_type": { @@ -2752,15 +5392,36 @@ "description": "The vertical position of the window on the wall" }, "window_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on the window." }, "xylene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of xylene in the sample" }, "zinc": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of zinc in the sample" } }, @@ -2899,11 +5560,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_object": { "description": "the file containing calibration data object", - "type": "string" + "type": [ + "string", + "null" + ] }, "calibration_standard": { "$ref": "#/$defs/CalibrationStandardEnum", @@ -2915,7 +5582,10 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -2928,7 +5598,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3053,7 +5726,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_conversion_category": { "$ref": "#/$defs/ChemicalConversionCategoryEnum", @@ -3061,21 +5737,37 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3090,14 +5782,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3109,22 +5807,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3132,21 +5846,41 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "substances_volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the combined substances that was included in a ChemicalConversionProcess." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3174,22 +5908,34 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_names": { "description": "A list of alternative names used to refer to the entity. The distinction between name and alternative names is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_formula": { "description": "A generic grouping for molecular formulae and empirical formulae", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3197,21 +5943,33 @@ "type": "string" }, "inchi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "inchi_key": { - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "smiles": { "description": "A string encoding of a molecular graph, no chiral or isotopic information. There are usually a large number of valid SMILES which represent a given structure. For example, CCO, OCC and C(O)C all specify the structure of ethanol.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3248,7 +6006,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chromatographic_category": { "$ref": "#/$defs/ChromatographicCategoryEnum", @@ -3256,17 +6017,26 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3281,14 +6051,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3300,29 +6076,48 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ordered_mobile_phases": { "description": "The solution(s) that moves through a chromatography column.", "items": { "$ref": "#/$defs/MobilePhaseSegment" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3330,14 +6125,24 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "stationary_phase": { "$ref": "#/$defs/StationaryPhaseEnum", "description": "The material the stationary phase is comprised of used in chromatography." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3365,7 +6170,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chromatographic_category": { "$ref": "#/$defs/ChromatographicCategoryEnum", @@ -3389,14 +6197,24 @@ "items": { "$ref": "#/$defs/MobilePhaseSegment" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "stationary_phase": { "$ref": "#/$defs/StationaryPhaseEnum", "description": "The material the stationary phase is comprised of used in chromatography." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3426,21 +6244,33 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3463,18 +6293,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3482,7 +6325,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3516,7 +6362,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "term": { "anyOf": [ @@ -3559,7 +6408,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "term": { "anyOf": [ @@ -3577,6 +6429,9 @@ }, { "$ref": "#/$defs/OrthologyGroup" + }, + { + "type": "null" } ], "description": "pointer to an ontology class" @@ -3728,11 +6583,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "compression_type": { "description": "If provided, specifies the compression type", - "type": "string" + "type": [ + "string", + "null" + ] }, "data_category": { "$ref": "#/$defs/DataCategoryEnum", @@ -3748,7 +6609,10 @@ }, "file_size_bytes": { "description": "Size of the file in bytes", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3760,11 +6624,17 @@ "pattern": "^insdc.sra:(E|D|S)RX[0-9]{6,}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "md5_checksum": { "description": "MD5 checksum of file (pre-compressed)", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", @@ -3778,9 +6648,23 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_generated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "type": "string" } }, @@ -3802,27 +6686,39 @@ "items": { "$ref": "#/$defs/Biosample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_set": { "description": "This property links a database object to the set of calibrations within it.", "items": { "$ref": "#/$defs/CalibrationInformation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_entity_set": { "description": "This property links a database object to the set of chemical entities within it.", "items": { "$ref": "#/$defs/ChemicalEntity" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collecting_biosamples_from_site_set": { "items": { "$ref": "#/$defs/CollectingBiosamplesFromSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "configuration_set": { "description": "This property links a database object to the set of configurations within it.", @@ -3836,7 +6732,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_generation_set": { "description": "This property links a database object to the set of data generations within it.", @@ -3850,47 +6749,68 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_object_set": { "description": "This property links a database object to the set of data objects within it.", "items": { "$ref": "#/$defs/DataObject" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field_research_site_set": { "items": { "$ref": "#/$defs/FieldResearchSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_agg": { "items": { "$ref": "#/$defs/FunctionalAnnotationAggMember" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_set": { "description": "This property links a database object to the set of all functional annotations", "items": { "$ref": "#/$defs/FunctionalAnnotation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "genome_feature_set": { "description": "This property links a database object to the set of all features", "items": { "$ref": "#/$defs/GenomeFeature" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_set": { "description": "This property links a database object to the set of instruments within it.", "items": { "$ref": "#/$defs/Instrument" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "material_processing_set": { "description": "This property links a database object to the set of material processing within it.", @@ -3925,35 +6845,50 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processed_sample_set": { "description": "This property links a database object to the set of processed samples within it.", "items": { "$ref": "#/$defs/ProcessedSample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "protocol_execution_set": { "description": "This property links a database object to the set of protocol executions within it.", "items": { "$ref": "#/$defs/ProtocolExecution" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "storage_process_set": { "description": "This property links a database object to the set of storage processes within it.", "items": { "$ref": "#/$defs/StorageProcess" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "study_set": { "description": "This property links a database object to the set of studies within it.", "items": { "$ref": "#/$defs/Study" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "workflow_execution_set": { "description": "This property links a database object to the set of workflow executions.", @@ -3997,7 +6932,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "Database", @@ -4045,25 +6983,44 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4078,14 +7035,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4097,22 +7060,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -4120,17 +7099,30 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -4395,11 +7387,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4408,7 +7406,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4430,19 +7431,31 @@ "description": "This class contains information pertaining to evaluating if a Metagenome-Assembled Genome (MAG) is eukaryotic.", "properties": { "completeness": { - "type": "number" + "type": [ + "number", + "null" + ] }, "contamination": { - "type": "number" + "type": [ + "number", + "null" + ] }, "ncbi_lineage": { "description": "Comma delimited ordered list of NCBI taxonomy names.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_lineage_tax_ids": { "description": "Dash-delimited ordered list of NCBI taxonomy identifiers (TaxId)", "pattern": "^\\d+(-\\d+)*$", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4511,28 +7524,43 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "extraction_targets": { "description": "Provides the target biomolecule that has been separated from a sample during an extraction process.", "items": { "$ref": "#/$defs/ExtractionTargetEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4562,7 +7590,14 @@ "type": "string" }, "input_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total mass of sample used in activity." }, "instrument_used": { @@ -4570,22 +7605,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -4593,14 +7644,20 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4610,7 +7667,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the solvent/solute being used, not the input." } }, @@ -4739,26 +7803,52 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "cur_vegetation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Vegetation classification from one or more standard classification systems, or agricultural crop" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "elev": { "description": "Elevation of the sampling site is its height above a fixed reference point, most commonly the mean sea level. Elevation is mainly used when referring to points on the earth's surface, while altitude is used for points above the surface, such as an aircraft in flight or a spacecraft in orbit.", - "type": "number" + "type": [ + "number", + "null" + ] }, "geo_loc_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)" }, "habitat": { - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4766,26 +7856,53 @@ "type": "string" }, "lat_lon": { - "$ref": "#/$defs/GeolocationValue", + "anyOf": [ + { + "$ref": "#/$defs/GeolocationValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by latitude and longitude. The values should be reported in decimal degrees and in WGS84 system" }, "local_class": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Soil classification based on local soil classification system" }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "part_of": { "description": "Links a resource to another resource that either logically or physically includes it.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soil_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of the soil type or classification. This field accepts terms under soil (http://purl.obolibrary.org/obo/ENVO_00001998). Multiple terms can be separated by pipes." }, "type": { @@ -4917,44 +8034,79 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conditionings": { "description": "Preliminary treatment of either phase with a suitable solution of the other phase (in the absence of main extractable solute(s)) so that when the subsequent equilibration is carried out changes in the (volume) phase ratio or in the concentrations of other components are minimized.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "container_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the container an analyte is stored in or an activity takes place in" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_material": { "description": "A porous material on which solid particles present in air or other fluid which flows through it are largely caught and retained.", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_pore_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A quantitative or qualitative measurement of the physical dimensions of the pores in a material." }, "filtration_category": { "description": "The type of conditioning applied to a filter, device, etc.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4969,14 +8121,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4988,26 +8146,45 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_pressurized": { "description": "Whether or not pressure was applied to a thing or process.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -5019,7 +8196,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5029,7 +8209,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of sample filtered." } }, @@ -5125,15 +8312,28 @@ "description": "An assignment of a function term (e.g. reaction or pathway) that is executed by a gene product, or which the gene product plays an active role in. Functional annotations can be assigned manually by curators, or automatically in workflows. In the context of NMDC, all function annotation is performed automatically, typically using HMM or Blast type methods", "properties": { "feature_category": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "A Sequence Ontology term that describes the category of a feature" }, "has_function": { "pattern": "^(KEGG_PATHWAY:\\w{2,4}\\d{5}|KEGG.REACTION:R\\d+|RHEA:\\d{5}|MetaCyc:[A-Za-z0-9+_.%-:]+|EC:\\d{1,2}(\\.\\d{0,3}){0,3}|GO:\\d{7}|MetaNetX:(MNXR\\d+|EMPTY)|SEED:\\w+|KEGG\\.ORTHOLOGY:K\\d+|EGGNOG:\\w+|PFAM:PF\\d{5}|TIGRFAM:TIGR\\d+|SUPFAM:\\w+|CATH:[1-6]\\.[0-9]+\\.[0-9]+\\.[0-9]+|PANTHER.FAMILY:PTHR\\d{5}(\\:SF\\d{1,3})?)$", - "type": "string" + "type": [ + "string", + "null" + ] }, "subject": { - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5143,6 +8343,17 @@ "type": "string" }, "was_generated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "provenance for the annotation.", "type": "string" } @@ -5165,6 +8376,14 @@ "type": "string" }, "metagenome_annotation_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "description": "The identifier for the analysis activity that generated the functional annotation results, where the analysis activity is an instance of the/an appropriate subclass of WorkflowExecution", "type": "string" }, @@ -5218,11 +8437,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -5231,7 +8456,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5254,7 +8482,10 @@ "properties": { "encodes": { "description": "The gene product encoded by this feature. Typically this is used for a CDS feature or gene feature which will encode a protein. It can also be used by a nc transcript ot gene feature that encoded a ncRNA", - "type": "string" + "type": [ + "string", + "null" + ] }, "end": { "description": "The end of the feature in positive 1-based integer coordinates", @@ -5262,18 +8493,31 @@ "type": "integer" }, "feature_category": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "A Sequence Ontology term that describes the category of a feature" }, "feature_type": { "description": "TODO: Yuri to write", - "type": "string" + "type": [ + "string", + "null" + ] }, "phase": { "description": "The phase for a coding sequence entity. For example, phase of a CDS as represented in a GFF3 with a value of 0, 1 or 2.", "maximum": 2, "minimum": 0, - "type": "integer" + "type": [ + "integer", + "null" + ] }, "seqid": { "description": "The ID of the landmark used to establish the coordinate system for the current feature.", @@ -5286,7 +8530,10 @@ }, "strand": { "description": "The strand on which a feature is located. Has a value of '+' (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5311,7 +8558,10 @@ "properties": { "has_raw_value": { "description": "The raw value for a geolocation should follow {latitude} {longitude}", - "type": "string" + "type": [ + "string", + "null" + ] }, "latitude": { "description": "latitude", @@ -5452,15 +8702,24 @@ "properties": { "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "display_order": { "description": "When rendering information, this attribute to specify the order in which the information should be rendered.", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5470,7 +8729,10 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -5519,11 +8781,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -5535,7 +8803,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5661,25 +8932,45 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "type": "string" }, "type": "array" @@ -5701,35 +8992,71 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_stranded": { "description": "Is the (RNA) library stranded or non-stranded (unstranded).", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "library_preparation_kit": { - "type": "string" + "type": [ + "string", + "null" + ] }, "library_type": { "$ref": "#/$defs/LibraryTypeEnum" }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "nucl_acid_amp": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A link to a literature reference, electronic resource or a standard operating procedure (SOP), that describes the enzymatic amplification (PCR, TMA, NASBA) of specific nucleic acids" }, "pcr_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of reaction conditions and components of polymerase chain reaction performed during library preparation" }, "pcr_cycles": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "pcr_primers": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "PCR primers that were used to amplify the sequence of the targeted gene, locus or subfragment. This field should contain all the primers used for a single PCR reaction if multiple forward or reverse primers are present in a single PCR reaction. The primer sequence should be reported in uppercase letters" }, "processing_institution": { @@ -5737,11 +9064,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -5749,7 +9086,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "stranded_orientation": { "$ref": "#/$defs/StrandedOrientationEnum", @@ -5818,65 +9158,132 @@ "description": "", "properties": { "bin_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "bin_quality": { - "type": "string" + "type": [ + "string", + "null" + ] }, "completeness": { - "type": "number" + "type": [ + "number", + "null" + ] }, "contamination": { - "type": "number" + "type": [ + "number", + "null" + ] }, "eukaryotic_evaluation": { - "$ref": "#/$defs/EukEval", + "anyOf": [ + { + "$ref": "#/$defs/EukEval" + }, + { + "type": "null" + } + ], "description": "Contains results from evaluating if a Metagenome-Assembled Genome is of eukaryotic lineage." }, "gene_count": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "gtdbtk_class": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_domain": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_family": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_genus": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_order": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_phylum": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_species": { - "type": "string" + "type": [ + "string", + "null" + ] }, "members_id": { - "type": "string" + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "num_16s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_23s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_5s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_t_rna": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "number_of_contig": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "total_bases": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5944,22 +9351,37 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "binned_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -5973,7 +9395,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -5987,7 +9412,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6001,34 +9429,59 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "input_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "low_depth_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "mags_list": { "items": { "$ref": "#/$defs/MagBin" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6036,14 +9489,20 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", "type": "string" }, "too_short_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6053,10 +9512,16 @@ "type": "string" }, "unbinned_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -6141,7 +9606,10 @@ "properties": { "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "alternative_identifiers": { "description": "A list of alternative identifiers for the entity.", @@ -6149,7 +9617,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "analyte_category": { "$ref": "#/$defs/AnalyteCategoryEnum", @@ -6164,7 +9635,10 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "eluent_introduction_category": { "$ref": "#/$defs/EluentIntroductionCategoryEnum", @@ -6172,21 +9646,41 @@ }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_calibration": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "a calibration instance associated with a process", "type": "string" }, "has_chromatography_configuration": { "description": "The identifier of the associated ChromatographyConfiguration, providing information about how a sample was introduced into the mass spectrometer.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6205,14 +9699,20 @@ }, "has_mass_spectrometry_configuration": { "description": "The identifier of the associated MassSpectrometryConfiguration.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6224,18 +9724,34 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "processing_institution": { @@ -6243,11 +9759,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6255,7 +9781,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6295,7 +9824,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", @@ -6315,7 +9847,10 @@ "items": { "$ref": "#/$defs/MassAnalyzerEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mass_spectrometry_acquisition_strategy": { "$ref": "#/$defs/MassSpectrometryAcquisitionStrategyEnum", @@ -6326,7 +9861,10 @@ "items": { "$ref": "#/$defs/MassSpectrumCollectionModeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", @@ -6341,7 +9879,10 @@ "items": { "$ref": "#/$defs/ResolutionCategoryEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6396,14 +9937,23 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "highest_similarity_score": { - "type": "number" + "type": [ + "number", + "null" + ] }, "metabolite_identified": { "description": "the specific metabolite identifier", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6471,19 +10021,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6500,6 +10062,9 @@ }, { "type": "string" + }, + { + "type": "null" } ], "description": "a calibration instance associated with a process", @@ -6509,7 +10074,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6522,14 +10090,20 @@ "items": { "$ref": "#/$defs/MetaboliteIdentification" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6538,18 +10112,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6557,7 +10144,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -6571,7 +10161,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -6641,19 +10234,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6669,13 +10274,19 @@ "pattern": "^gold:Ga[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6689,7 +10300,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6703,22 +10317,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6726,7 +10356,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -6740,7 +10373,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -6810,59 +10446,101 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "asm_score": { "description": "A score for comparing metagenomic assembly quality from same sample.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contig_bp": { "description": "Total size in bp of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contigs": { "description": "The sum of the (length*log(length)) of all contigs, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l50": { "description": "Given a set of contigs, the L50 is defined as the sequence length of the shortest contig at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all contigs of that length or longer contains at least 90% of the sum of the lengths of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_logsum": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_max": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n50": { "description": "Given a set of contigs, each with its own length, the N50 count is defined as the smallest number_of_contigs whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n90": { "description": "Given a set of contigs, each with its own length, the N90 count is defined as the smallest number of contigs whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_powsum": { "description": "Powersum of all contigs is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6870,15 +10548,24 @@ }, "gap_pct": { "description": "The gap size percentage of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_avg": { "description": "Average of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_std": { "description": "Standard deviation of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "git_url": { "description": "The url that points to the exact github location of a workflow.", @@ -6888,7 +10575,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6902,7 +10592,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6911,30 +10604,52 @@ }, "insdc_assembly_identifiers": { "pattern": "^insdc.sra:[A-Z]+[0-9]+(\\.[0-9]+)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "num_aligned_reads": { "description": "The sequence count number of input reads aligned to assembled contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "num_input_reads": { "description": "The sequence count number of input reads for assembly.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6942,55 +10657,94 @@ }, "scaf_bp": { "description": "Total size in bp of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l50": { "description": "Given a set of scaffolds, the L50 is defined as the sequence length of the shortest scaffold at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all scaffolds of that length or longer contains at least 90% of the sum of the lengths of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l_gt50k": { "description": "Total size in bp of all scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_logsum": { "description": "The sum of the (length*log(length)) of all scaffolds, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_max": { "description": "Maximum scaffold length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n50": { "description": "Given a set of scaffolds, each with its own length, the N50 count is defined as the smallest number of scaffolds whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n90": { "description": "Given a set of scaffolds, each with its own length, the N90 count is defined as the smallest number of scaffolds whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n_gt50k": { "description": "Total sequence count of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_pct_gt50k": { "description": "Total sequence size percentage of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_powsum": { "description": "Powersum of all scaffolds is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaffolds": { "description": "Total sequence count of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7004,7 +10758,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7074,19 +10831,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7100,7 +10869,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7114,7 +10886,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7123,18 +10898,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7142,7 +10930,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7156,7 +10947,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7226,19 +11020,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7252,7 +11058,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7266,13 +11075,19 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_peptide_quantifications": { "items": { "$ref": "#/$defs/PeptideQuantification" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7281,18 +11096,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7300,7 +11128,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7314,7 +11145,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7384,19 +11218,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7412,13 +11258,19 @@ "pattern": "^gold:Ga[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7432,7 +11284,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7446,22 +11301,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7469,7 +11340,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7483,7 +11357,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7553,59 +11430,101 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "asm_score": { "description": "A score for comparing metagenomic assembly quality from same sample.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contig_bp": { "description": "Total size in bp of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contigs": { "description": "The sum of the (length*log(length)) of all contigs, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l50": { "description": "Given a set of contigs, the L50 is defined as the sequence length of the shortest contig at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all contigs of that length or longer contains at least 90% of the sum of the lengths of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_logsum": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_max": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n50": { "description": "Given a set of contigs, each with its own length, the N50 count is defined as the smallest number_of_contigs whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n90": { "description": "Given a set of contigs, each with its own length, the N90 count is defined as the smallest number of contigs whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_powsum": { "description": "Powersum of all contigs is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7613,15 +11532,24 @@ }, "gap_pct": { "description": "The gap size percentage of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_avg": { "description": "Average of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_std": { "description": "Standard deviation of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "git_url": { "description": "The url that points to the exact github location of a workflow.", @@ -7631,7 +11559,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7645,7 +11576,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7654,30 +11588,52 @@ }, "insdc_assembly_identifiers": { "pattern": "^insdc.sra:[A-Z]+[0-9]+(\\.[0-9]+)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "num_aligned_reads": { "description": "The sequence count number of input reads aligned to assembled contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "num_input_reads": { "description": "The sequence count number of input reads for assembly.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7685,55 +11641,94 @@ }, "scaf_bp": { "description": "Total size in bp of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l50": { "description": "Given a set of scaffolds, the L50 is defined as the sequence length of the shortest scaffold at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all scaffolds of that length or longer contains at least 90% of the sum of the lengths of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l_gt50k": { "description": "Total size in bp of all scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_logsum": { "description": "The sum of the (length*log(length)) of all scaffolds, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_max": { "description": "Maximum scaffold length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n50": { "description": "Given a set of scaffolds, each with its own length, the N50 count is defined as the smallest number of scaffolds whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n90": { "description": "Given a set of scaffolds, each with its own length, the N90 count is defined as the smallest number of scaffolds whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n_gt50k": { "description": "Total sequence count of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_pct_gt50k": { "description": "Total sequence size percentage of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_powsum": { "description": "Powersum of all scaffolds is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaffolds": { "description": "Total sequence count of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7747,7 +11742,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7817,19 +11815,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7843,7 +11853,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7857,7 +11870,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7871,22 +11887,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7894,7 +11926,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7908,7 +11943,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -7936,25 +11974,44 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7969,14 +12026,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "The mixed sample.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7988,22 +12051,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8011,7 +12090,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8033,7 +12115,14 @@ "description": "A fluid mixture of substances that flow though a chromatographic stationary phase.", "properties": { "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "substances_used": { @@ -8041,7 +12130,10 @@ "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8051,7 +12143,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of a substance." } }, @@ -8113,19 +12212,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -8142,6 +12253,9 @@ }, { "type": "string" + }, + { + "type": "null" } ], "description": "a calibration instance associated with a process", @@ -8151,7 +12265,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -8165,7 +12282,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8174,18 +12294,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8193,7 +12326,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -8207,7 +12343,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -8231,7 +12370,10 @@ "properties": { "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "alternative_identifiers": { "description": "A list of alternative identifiers for the entity.", @@ -8239,7 +12381,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "analyte_category": { "$ref": "#/$defs/AnalyteCategoryEnum", @@ -8254,11 +12399,17 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "gold_sequencing_project_identifiers": { "description": "identifiers for corresponding sequencing project in GOLD", @@ -8266,13 +12417,19 @@ "pattern": "^gold:Gp[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -8294,7 +12451,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8307,35 +12467,60 @@ "pattern": "^bioproject:PRJ[DEN][A-Z][0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "insdc_experiment_identifiers": { "items": { "pattern": "^insdc.sra:(E|D|S)RX[0-9]{6,}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_used": { "description": "What instrument was used during DataGeneration or MaterialProcessing.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "processing_institution": { @@ -8343,11 +12528,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8355,14 +12550,31 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "target_gene": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Targeted gene or locus name for marker gene studies" }, "target_subfragment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of subfragment of a gene or locus. Important to e.g. identify special regions on marker genes like V6 on 16S rRNA" }, "type": { @@ -8404,11 +12616,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8417,7 +12635,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8454,11 +12675,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8467,7 +12694,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8504,11 +12734,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8517,7 +12753,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8543,26 +12782,44 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "best_protein": { "description": "the specific protein identifier most correctly associated with the peptide sequence", - "type": "string" + "type": [ + "string", + "null" + ] }, "min_q_value": { "description": "smallest Q-Value associated with the peptide sequence as provided by MSGFPlus tool", - "type": "number" + "type": [ + "number", + "null" + ] }, "peptide_sequence": { - "type": "string" + "type": [ + "string", + "null" + ] }, "peptide_spectral_count": { "description": "sum of filter passing MS2 spectra associated with the peptide sequence within a given LC-MS/MS data file", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "peptide_sum_masic_abundance": { "description": "combined MS1 extracted ion chromatograms derived from MS2 spectra associated with the peptide sequence from a given LC-MS/MS data file using the MASIC tool", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8584,23 +12841,38 @@ "properties": { "email": { "description": "An email address for an entity such as a person. This should be the primary email address used.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_raw_value": { "description": "The full name of the Investigator in format FIRST LAST.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "The full name of the Investigator. It should follow the format FIRST [MIDDLE NAME| MIDDLE INITIAL] LAST, where MIDDLE NAME| MIDDLE INITIAL is optional.", - "type": "string" + "type": [ + "string", + "null" + ] }, "orcid": { "description": "The ORCID of a person.", - "type": "string" + "type": [ + "string", + "null" + ] }, "profile_image_url": { "description": "A url that points to an image of a person.", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8615,7 +12887,10 @@ "pattern": "^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/(?!.*[Dd][Oo][Ii]\\.[Oo][Rr][Gg]).*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "required": [ @@ -8695,25 +12970,45 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "type": "string" }, "minItems": 2, @@ -8738,22 +13033,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8761,7 +13072,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8785,14 +13099,31 @@ "description": "A portion of any matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical.", "properties": { "final_concentration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "When solutions A (containing substance X) and B are combined together, this slot captures the concentration of X in the combination" }, "known_as": { - "type": "string" + "type": [ + "string", + "null" + ] }, "mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A physical quality that inheres in a bearer by virtue of the proportion of the bearer's amount of matter." }, "sample_state_information": { @@ -8800,7 +13131,14 @@ "description": "The chemical phase of a pure sample, or the state of a mixed sample" }, "source_concentration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "When solutions A (containing substance X) and B are combined together, this slot captures the concentration of X in solution A" }, "substance_role": { @@ -8815,7 +13153,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of a substance." } }, @@ -8835,23 +13180,42 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biomaterial_purity": { - "$ref": "#/$defs/QuantityValue" + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_absorb1": { "description": "260/280 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_concentration": { "maximum": 2000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "external_database_identifiers": { "description": "Link to corresponding identifier in external database", @@ -8859,7 +13223,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8868,7 +13235,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8919,23 +13289,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "best_protein": { "description": "the specific protein identifier most correctly grouped to its associated peptide sequences", - "type": "string" + "type": [ + "string", + "null" + ] }, "peptide_sequence_count": { "description": "count of peptide sequences grouped to the best_protein", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "protein_spectral_count": { "description": "sum of filter passing MS2 spectra associated with the best protein within a given LC-MS/MS data file", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "protein_sum_masic_abundance": { "description": "combined MS1 extracted ion chromatograms derived from MS2 spectra associated with the best protein from a given LC-MS/MS data file using the MASIC tool", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8957,7 +13342,10 @@ "properties": { "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8967,7 +13355,10 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -9004,35 +13395,53 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_process_parts": { "description": "The MaterialProcessing steps that are discrete parts of the ProtocolExecution.", @@ -9048,7 +13457,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", @@ -9058,11 +13470,21 @@ "$ref": "#/$defs/ProtocolCategoryEnum" }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9070,7 +13492,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9106,23 +13531,38 @@ "properties": { "has_maximum_numeric_value": { "description": "The maximum value part, expressed as number, of the quantity value when the value covers a range.", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_minimum_numeric_value": { "description": "The minimum value part, expressed as number, of the quantity value when the value covers a range.", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_numeric_value": { "description": "The number part of the quantity", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_raw_value": { "description": "Unnormalized atomic string representation, should in syntax {number} {unit}", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_unit": { "description": "The unit of the quantity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9209,19 +13649,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -9235,7 +13687,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -9249,7 +13704,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -9258,18 +13716,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9277,7 +13748,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -9291,7 +13765,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -9361,19 +13838,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -9387,7 +13876,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -9401,7 +13893,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -9410,42 +13905,73 @@ }, "input_base_count": { "description": "The nucleotide base count number of input reads for QC analysis.", - "type": "number" + "type": [ + "number", + "null" + ] }, "input_read_bases": { "description": "TODO ", - "type": "number" + "type": [ + "number", + "null" + ] }, "input_read_count": { "description": "The sequence count number of input reads for QC analysis.", - "type": "number" + "type": [ + "number", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "output_base_count": { "description": "After QC analysis nucleotide base count number.", - "type": "number" + "type": [ + "number", + "null" + ] }, "output_read_bases": { "description": "TODO", - "type": "number" + "type": [ + "number", + "null" + ] }, "output_read_count": { "description": "After QC analysis sequence count number.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9453,7 +13979,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -9467,7 +13996,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "type": "string" @@ -9918,7 +14450,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contained_in": { "$ref": "#/$defs/ContainerCategoryEnum", @@ -9926,31 +14461,46 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -9959,18 +14509,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9978,17 +14541,30 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substance(s) that a processed sample is stored in.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -10024,7 +14600,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_identifiers": { "description": "Unique identifier for a study submitted to additional resources. Matches that which has been submitted to NMDC", @@ -10032,48 +14611,75 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_names": { "description": "A list of alternative names used to refer to the entity. The distinction between name and alternative names is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_titles": { "description": "A list of alternative titles for the entity. The distinction between title and alternative titles is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "associated_dois": { "description": "A list of DOIs associated with a resource, such as a list of DOIS associated with a Study.", "items": { "$ref": "#/$defs/Doi" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "A brief, link-free summary of a Study", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem": { "description": "An ecosystem is a combination of a physical environment (abiotic factors) and all the organisms (biotic factors) that interact with this environment. Ecosystem is in position 1/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_category": { "description": "Ecosystem categories represent divisions within the ecosystem based on specific characteristics of the environment from where an organism or sample is isolated. Ecosystem category is in position 2/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_subtype": { "description": "Ecosystem subtypes represent further subdivision of Ecosystem types into more distinct subtypes. Ecosystem subtype is in position 4/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_type": { "description": "Ecosystem types represent things having common characteristics within the Ecosystem Category. These common characteristics based grouping is still broad but specific to the characteristics of a given environment. Ecosystem type is in position 3/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "emsl_project_identifiers": { "description": "Identifiers that link a NMDC study to the EMSL user facility website hosting the project description of an EMSL user project", @@ -10081,14 +14687,20 @@ "pattern": "^emsl\\.project:[0-9]{5}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "funding_sources": { "description": "A list of organizations, along with the award numbers, that underwrite financial support for projects of a particular type. Typically, they process applications and award funds to the chosen qualified applicants.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gnps_task_identifiers": { "description": "identifiers that link a NMDC study to a web-based report about metabolomics analysis progress and results", @@ -10096,7 +14708,10 @@ "pattern": "^gnps\\.task:[a-f0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gold_study_identifiers": { "description": "identifiers for corresponding project(s) in GOLD", @@ -10104,14 +14719,20 @@ "pattern": "^gold:Gs[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_credit_associations": { "description": "This slot links a study to a credit association. The credit association will be linked to a person value and to a CRediT Contributor Roles term. Overall semantics: person should get credit X for their participation in the study", "items": { "$ref": "#/$defs/CreditAssociation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "homepage_website": { "description": "The website address (URL) of an entity's homepage.", @@ -10120,7 +14741,10 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -10133,7 +14757,10 @@ "pattern": "^bioproject:PRJ[DEN][A-Z][0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "jgi_portal_study_identifiers": { "description": "Identifiers that link a NMDC study to a website hosting raw and analyzed data for a JGI proposal. The suffix of the curie can used to query the GOLD API and is interoperable with an award DOI from OSTI and a GOLD study identifier.", @@ -10141,7 +14768,10 @@ "pattern": "^jgi.proposal:\\d+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mgnify_project_identifiers": { "description": "identifiers for corresponding project in MGnify", @@ -10149,50 +14779,84 @@ "pattern": "^mgnify.proj:[A-Z]+[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "neon_study_identifiers": { "items": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { - "type": "string" + "type": [ + "string", + "null" + ] }, "objective": { "description": "The scientific objectives associated with the entity. It SHOULD correspond to scientific norms for objectives field in a structured abstract.", - "type": "string" + "type": [ + "string", + "null" + ] }, "part_of": { "description": "Links a study or consortium to a parent (or umbrella) study or consortium.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "protocol_link": { "items": { "$ref": "#/$defs/Protocol" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "related_identifiers": { "description": "Unique identifier for a study submitted to additional resources. Similar, but not necessarily identical to that which has been submitted to NMDC", - "type": "string" + "type": [ + "string", + "null" + ] }, "specific_ecosystem": { "description": "Specific ecosystems represent specific features of the environment like aphotic zone in an ocean or gastric mucosa within a host digestive system. Specific ecosystem is in position 5/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "study_category": { "$ref": "#/$defs/StudyCategoryEnum", @@ -10203,11 +14867,17 @@ "items": { "$ref": "#/$defs/ImageValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "title": { "description": "A name given to the entity that differs from the name/label programmatically assigned to it. For example, when extracting study information for GOLD, the GOLD system has assigned a name/label. However, for display purposes, we may also wish the capture the title of the proposal that was used to fund the study.", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10222,7 +14892,10 @@ "pattern": "^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/(?!.*[Dd][Oo][Ii]\\.[Oo][Rr][Gg]).*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "required": [ @@ -10252,29 +14925,48 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contained_in": { "$ref": "#/$defs/ContainerCategoryEnum", "description": "A type of container." }, "container_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the container an analyte is stored in or an activity takes place in" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -10289,14 +14981,20 @@ ], "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "The subsample.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -10308,26 +15006,49 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The output mass of the SubSampling Process." }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -10338,14 +15059,27 @@ "items": { "$ref": "#/$defs/SamplePortionEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -10356,7 +15090,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The output volume of the SubSampling Process." } }, @@ -10435,11 +15176,17 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "language": { "description": "Should use ISO 639-1 code e.g. \"en\", \"fr\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10488,7 +15235,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10750,27 +15500,39 @@ "items": { "$ref": "#/$defs/Biosample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_set": { "description": "This property links a database object to the set of calibrations within it.", "items": { "$ref": "#/$defs/CalibrationInformation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_entity_set": { "description": "This property links a database object to the set of chemical entities within it.", "items": { "$ref": "#/$defs/ChemicalEntity" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collecting_biosamples_from_site_set": { "items": { "$ref": "#/$defs/CollectingBiosamplesFromSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "configuration_set": { "description": "This property links a database object to the set of configurations within it.", @@ -10784,7 +15546,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_generation_set": { "description": "This property links a database object to the set of data generations within it.", @@ -10798,47 +15563,68 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_object_set": { "description": "This property links a database object to the set of data objects within it.", "items": { "$ref": "#/$defs/DataObject" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field_research_site_set": { "items": { "$ref": "#/$defs/FieldResearchSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_agg": { "items": { "$ref": "#/$defs/FunctionalAnnotationAggMember" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_set": { "description": "This property links a database object to the set of all functional annotations", "items": { "$ref": "#/$defs/FunctionalAnnotation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "genome_feature_set": { "description": "This property links a database object to the set of all features", "items": { "$ref": "#/$defs/GenomeFeature" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_set": { "description": "This property links a database object to the set of instruments within it.", "items": { "$ref": "#/$defs/Instrument" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "material_processing_set": { "description": "This property links a database object to the set of material processing within it.", @@ -10873,35 +15659,50 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processed_sample_set": { "description": "This property links a database object to the set of processed samples within it.", "items": { "$ref": "#/$defs/ProcessedSample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "protocol_execution_set": { "description": "This property links a database object to the set of protocol executions within it.", "items": { "$ref": "#/$defs/ProtocolExecution" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "storage_process_set": { "description": "This property links a database object to the set of storage processes within it.", "items": { "$ref": "#/$defs/StorageProcess" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "study_set": { "description": "This property links a database object to the set of studies within it.", "items": { "$ref": "#/$defs/Study" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "workflow_execution_set": { "description": "This property links a database object to the set of workflow executions.", @@ -10945,7 +15746,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "NMDC", diff --git a/nmdc_schema/nmdc_materialized_patterns.schema.json b/nmdc_schema/nmdc_materialized_patterns.schema.json index 07b0eda35b..1d2f9ed942 100644 --- a/nmdc_schema/nmdc_materialized_patterns.schema.json +++ b/nmdc_schema/nmdc_materialized_patterns.schema.json @@ -147,31 +147,76 @@ "description": "Biological source material which can be characterized by an experiment.", "properties": { "abs_air_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Actual mass of water vapor - mh20 - present in the air water vapor mixture" }, "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "add_recov_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Additional (i.e. Secondary, tertiary, etc.) recovery methods deployed for increase of hydrocarbon recovery from resource and start date for each one of them. If \"other\" is specified, please propose entry in \"additional info\" field" }, "additional_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information that doesn't fit anywhere else. Can also be used to propose new entries for fields with controlled vocabulary" }, "address": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The street name and building number where the sampling occurred." }, "adj_room": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of rooms (room number, room name) immediately adjacent to the sampling room" }, "aero_struc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Aerospace structures typically consist of thin plates with stiffeners for the external surfaces, bulkheads and frames to support the shape and fasteners such as welds, rivets, screws and bolts to hold the components together" }, "agrochem_addition": { @@ -179,17 +224,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "air_PM_concen": { "description": "Concentration of substances that remain suspended in the air, and comprise mixtures of organic and inorganic substances (PM10 and PM2.5); can report multiple PM's by entering numeric values preceded by name of PM", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "air_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the air at the time of sampling" }, "air_temp_regm": { @@ -197,30 +255,75 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "al_sat": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The relative abundance of aluminum in the sample" }, "al_sat_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining Aluminum saturation" }, "alkalinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Alkalinity, the ability of a solution to neutralize acids to the equivalence point of carbonate or bicarbonate" }, "alkalinity_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Method used for alkalinity measurement" }, "alkyl_diethers": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of alkyl diethers" }, "alt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Altitude is a term used to identify heights of objects such as airplanes, space shuttles, rockets, atmospheric balloons and heights of places such as atmospheric layers and clouds. It is used to measure the height of an object which is above the earth's surface. In this context, the altitude measurement is the vertical distance between the earth's surface above sea level and the sampled position in the air" }, "alternative_identifiers": { @@ -229,22 +332,53 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "aminopept_act": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of aminopeptidase activity" }, "ammonium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ammonium in the sample" }, "ammonium_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ammonium nitrogen in the sample" }, "amount_light": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The unit of illuminance and luminous emittance, measuring luminous flux per unit area" }, "analysis_type": { @@ -252,18 +386,42 @@ "items": { "$ref": "#/$defs/AnalysisTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "ances_data": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about either pedigree or other ancestral information description (e.g. parental variety in case of mutant or selection), e.g. A/3*B (meaning [(A x B) x B] x B)" }, "annual_precpt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of all annual precipitation values known, or an estimated equivalent value derived by such methods as regional indexes or Isohyetal maps." }, "annual_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Mean annual temperature" }, "antibiotic_regm": { @@ -271,10 +429,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "api": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "API gravity is a measure of how heavy or light a petroleum liquid is compared to water (source: https://en.wikipedia.org/wiki/API_gravity) (e.g. 31.1\u00ac\u221e API)" }, "arch_struc": { @@ -282,11 +450,25 @@ "description": "An architectural structure is a human-made, free-standing, immobile outdoor construction" }, "aromatics_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "asphaltenes_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "associated_studies": { @@ -302,62 +484,163 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "avg_dew_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of dew point measures taken at the beginning of every hour over a 24 hour period on the sampling day" }, "avg_occup": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Daily average occupancy of room. Indicate the number of person(s) daily occupying the sampling room." }, "avg_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of temperatures taken at the beginning of every hour over a 24 hour period on the sampling day" }, "bac_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Bacterial production in the water column measured by isotope uptake" }, "bac_resp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of bacterial respiration in the water column" }, "bacteria_carb_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of bacterial carbon production" }, "barometric_press": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Force per unit area exerted against a surface by the weight of air above that surface" }, "basin": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the basin (e.g. Campos)" }, "bathroom_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of bathrooms in the building" }, "bedroom_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of bedrooms in the building" }, "benzene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of benzene in the sample" }, "biochem_oxygen_dem": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Amount of dissolved oxygen needed by aerobic biological organisms in a body of water to break down organic material present in a given water sample at certain temperature over a specific time period" }, "biocide": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of biocides (commercial name of product and supplier) and date of administration" }, "biocide_admin_method": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Method of biocide administration (dose, frequency, duration, time elapsed between last biociding and sampling) (e.g. 150 mg/l; weekly; 4 hr; 3 days)" }, "biol_stat": { @@ -369,16 +652,29 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biosample_categories": { "items": { "$ref": "#/$defs/BiosampleCategoryEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biotic_regm": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about treatment(s) involving use of biotic factors, such as bacteria, viruses or fungi." }, "biotic_relationship": { @@ -386,19 +682,47 @@ "description": "Description of relationship(s) between the subject organism and other organism(s) it is associated with. E.g., parasite on species X; mutualist with species Y. The target organism is the subject of the relationship, and the other organism(s) is the object" }, "bishomohopanol": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of bishomohopanol" }, "blood_press_diast": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Resting diastolic blood pressure, measured as mm mercury" }, "blood_press_syst": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Resting systolic blood pressure, measured as mm mercury" }, "bromide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of bromide" }, "build_docs": { @@ -410,46 +734,112 @@ "items": { "$ref": "#/$defs/BuildOccupTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "building_setting": { "$ref": "#/$defs/BuildingSettingEnum", "description": "A location (geography) where a building is set" }, "built_struc_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The age of the built structure since construction" }, "built_struc_set": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The characterization of the location of the built structure as high or low human density" }, "built_struc_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A physical structure that is a body or assemblage of bodies in space to form a system capable of supporting loads" }, "bulk_elect_conductivity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "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." }, "calcium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of calcium in the sample" }, "carb_dioxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Carbon dioxide (gas) amount or concentration at the time of sampling" }, "carb_monoxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Carbon monoxide (gas) amount or concentration at the time of sampling" }, "carb_nitro_ratio": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Ratio of amount or concentrations of carbon to nitrogen" }, "ceil_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The area of the ceiling space within the room" }, "ceil_cond": { @@ -461,7 +851,14 @@ "description": "The type of material used to finish a ceiling" }, "ceil_struc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The construction format of the ceiling" }, "ceil_texture": { @@ -469,7 +866,14 @@ "description": "The feel, appearance, or consistency of a ceiling surface" }, "ceil_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the ceiling to provide inertia against temperature fluctuations. Generally this means concrete that is exposed. A metal deck that supports a concrete slab will act thermally as long as it is exposed to room air flow" }, "ceil_type": { @@ -477,7 +881,14 @@ "description": "The type of ceiling according to the ceiling's appearance or construction" }, "ceil_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on the ceiling" }, "chem_administration": { @@ -492,33 +903,70 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chem_mutagen": { "description": "Treatment involving use of mutagens; should include the name of mutagen, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple mutagen regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chem_oxygen_dem": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A measure of the capacity of water to consume oxygen during the decomposition of organic matter and the oxidation of inorganic chemicals such as ammonia and nitrite" }, "chem_treat_method": { "description": "Method of chemical administration(dose, frequency, duration, time elapsed between administration and sampling) (e.g. 50 mg/l; twice a week; 1 hr; 0 days)", - "type": "string" + "type": [ + "string", + "null" + ] }, "chem_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of chemical compounds administered upstream the sampling location where sampling occurred (e.g. Glycols, H2S scavenger, corrosion and scale inhibitors, demulsifiers, and other production chemicals etc.). The commercial name of the product and name of the supplier should be provided. The date of administration should also be included" }, "chloride": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of chloride in the sample" }, "chlorophyll": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of chlorophyll" }, "climate_environment": { @@ -526,50 +974,106 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collected_from": { "description": "The Site from which a Biosample was collected", "pattern": "^(nmdc):frsite-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_date": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The time of sampling, either as an instance (single point in time) or interval. In case no exact time is available, the date/time can be right truncated i.e. all of these are valid times: 2008-01-23T19:23:10+00:00; 2008-01-23T19:23:10; 2008-01-23; 2008-01; 2008; Except: 2008-01; 2008 all are ISO8601 compliant" }, "collection_date_inc": { "description": "Date the incubation was harvested/collected/ended. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_time": { "description": "The time of sampling, either as an instance (single point) or interval.", - "type": "string" + "type": [ + "string", + "null" + ] }, "collection_time_inc": { "description": "Time the incubation was harvested/collected/ended. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "community": { - "type": "string" + "type": [ + "string", + "null" + ] }, "conduc": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Electrical conductivity of water" }, "cool_syst_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The cooling system identifier" }, "core_field": { "description": "basic fields", - "type": "string" + "type": [ + "string", + "null" + ] }, "crop_rotation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Whether or not crop is rotated, and if yes, rotation schedule" }, "cult_root_med": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name or reference for the hydroponic or in vitro culture rooting medium; can be the name of a commonly used medium or reference to a specific medium, e.g. Murashige and Skoog medium. If the medium has not been formally published, use the rooting medium descriptors." }, "cur_land_use": { @@ -577,19 +1081,47 @@ "description": "Present state of sample site" }, "cur_vegetation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Vegetation classification from one or more standard classification systems, or agricultural crop" }, "cur_vegetation_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in vegetation classification" }, "date_last_rain": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The date of the last time it rained" }, "density": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Density of the sample, which is its mass per unit volume (aka volumetric mass density)" }, "depos_env": { @@ -597,15 +1129,32 @@ "description": "Main depositional environment (https://en.wikipedia.org/wiki/Depositional_environment). If \"other\" is specified, please propose entry in \"additional info\" field" }, "depth": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The vertical distance below local surface, e.g. for sediment or soil samples depth is measured from sediment or soil surface, respectively. Depth can be reported as an interval for subsurface samples." }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "dew_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The temperature to which a given parcel of humid air must be cooled, at constant barometric pressure, for water vapor to condense into water." }, "diether_lipids": { @@ -613,64 +1162,149 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "diss_carb_dioxide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved carbon dioxide in the sample or liquid portion of the sample" }, "diss_hydrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved hydrogen" }, "diss_inorg_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Dissolved inorganic carbon concentration in the sample, typically measured after filtering the sample using a 0.45 micrometer filter" }, "diss_inorg_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved inorganic nitrogen" }, "diss_inorg_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved inorganic phosphorus in the sample" }, "diss_iron": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved iron in the sample" }, "diss_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved organic carbon in the sample, liquid portion of the sample, or aqueous phase of the fluid" }, "diss_org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Dissolved organic nitrogen concentration measured as; total dissolved nitrogen - NH4 - NO3 - NO2" }, "diss_oxygen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved oxygen" }, "diss_oxygen_fluid": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of dissolved oxygen in the oil field produced fluids as it contributes to oxgen-corrosion and microbial activity (e.g. Mic)." }, "dna_absorb1": { "description": "260/280 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_absorb2": { "description": "260/230 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_collect_site": { "description": "Provide information on the site your DNA sample was collected from", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_concentration": { "maximum": 2000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_cont_type": { "$ref": "#/$defs/JgiContTypeEnum", @@ -678,27 +1312,45 @@ }, "dna_cont_well": { "pattern": "^(?!A1$|A12$|H1$|H12$)(([A-H][1-9])|([A-H]1[0-2]))$", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_container_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_dnase": { "$ref": "#/$defs/YesNoEnum" }, "dna_isolate_meth": { "description": "Describe the method/protocol/kit used to extract DNA/RNA.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_organisms": { "description": "List any organisms known or suspected to grow in co-culture, as well as estimated % of the organism in that culture.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_project_contact": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_samp_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_sample_format": { "$ref": "#/$defs/DNASampleFormatEnum", @@ -706,21 +1358,36 @@ }, "dna_sample_name": { "description": "Give the DNA sample a name that is meaningful to you. Sample names must be unique across all JGI projects and contain a-z, A-Z, 0-9, - and _ only.", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_seq_project_pi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_volume": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "dnase_rna": { "$ref": "#/$defs/YesNoEnum" @@ -750,7 +1417,14 @@ "description": "The type of movement of the door" }, "door_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The size of the door" }, "door_type": { @@ -766,11 +1440,25 @@ "description": "The type of wood door" }, "door_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on a door" }, "down_par": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Visible waveband radiance and irradiance measurements in the water column" }, "drainage_class": { @@ -783,35 +1471,67 @@ }, "ecosystem": { "description": "An ecosystem is a combination of a physical environment (abiotic factors) and all the organisms (biotic factors) that interact with this environment. Ecosystem is in position 1/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_category": { "description": "Ecosystem categories represent divisions within the ecosystem based on specific characteristics of the environment from where an organism or sample is isolated. Ecosystem category is in position 2/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_subtype": { "description": "Ecosystem subtypes represent further subdivision of Ecosystem types into more distinct subtypes. Ecosystem subtype is in position 4/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_type": { "description": "Ecosystem types represent things having common characteristics within the Ecosystem Category. These common characteristics based grouping is still broad but specific to the characteristics of a given environment. Ecosystem type is in position 3/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "efficiency_percent": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Percentage of volatile solids removed from the anaerobic digestor" }, "elev": { "description": "Elevation of the sampling site is its height above a fixed reference point, most commonly the mean sea level. Elevation is mainly used when referring to points on the earth's surface, while altitude is used for points above the surface, such as an aircraft in flight or a spacecraft in orbit.", - "type": "number" + "type": [ + "number", + "null" + ] }, "elevator": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of elevators within the built structure" }, "embargoed": { "description": "If true, the data are embargoed and not available for public access.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "emsl_biosample_identifiers": { "description": "A list of identifiers for the biosample from the EMSL database. This is used to link the biosample, as modeled by NMDC, to the biosample in the planned EMSL NEXUS database.", @@ -819,14 +1539,20 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "emulsions": { "description": "Amount or concentration of substances such as paints, adhesives, mayonnaise, hair colorants, emulsified oils, etc.; can include multiple emulsion types", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "env_broad_scale": { "$ref": "#/$defs/ControlledIdentifiedTermValue", @@ -841,27 +1567,65 @@ "description": "Report the environmental material(s) immediately surrounding the sample or specimen at the time of sampling. We recommend using subclasses of 'environmental material' (http://purl.obolibrary.org/obo/ENVO_00010483). EnvO documentation about how to use the field: https://github.com/EnvironmentOntology/envo/wiki/Using-ENVO-with-MIxS . Terms from other OBO ontologies are permissible as long as they reference mass/volume nouns (e.g. air, water, blood) and not discrete, countable entities (e.g. a tree, a leaf, a table top)." }, "env_package": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "MIxS extension for reporting of measurements and observations obtained from one or more of the environments where the sample was obtained. All environmental packages listed here are further defined in separate subtables. By giving the name of the environmental package, a selection of fields can be made from the subtables and can be reported" }, "environment_field": { "description": "field describing environmental aspect of a sample", - "type": "string" + "type": [ + "string", + "null" + ] }, "escalator": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of escalators within the built structure" }, "ethylbenzene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of ethylbenzene in the sample" }, "exp_duct": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The amount of exposed ductwork in the room" }, "exp_pipe": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of exposed pipes in the room" }, "experimental_factor": { @@ -871,16 +1635,29 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Experimental factors are essentially the variable aspects of an experiment design which can be used to describe an experiment, or set of experiments, in an increasingly detailed manner. This field accepts ontology terms from Experimental Factor Ontology (EFO) and/or Ontology for Biomedical Investigations (OBI). For a browser of EFO (v 2.95) terms, please see http://purl.bioontology.org/ontology/EFO; for a browser of OBI (v 2018-02-12) terms please see http://purl.bioontology.org/ontology/OBI" }, "experimental_factor_other": { "description": "Other details about your sample that you feel can't be accurately represented in the available columns.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ext_door": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of exterior doors in the built structure" }, "ext_wall_orient": { @@ -893,7 +1670,10 @@ }, "extreme_event": { "description": "Unusual physical events that may have affected microbial populations", - "type": "string" + "type": [ + "string", + "null" + ] }, "fao_class": { "$ref": "#/$defs/FaoClassEnum", @@ -904,42 +1684,85 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the hydrocarbon field (e.g. Albacora)" }, "filter_method": { "description": "Type of filter used or how the sample was filtered", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_type": { "description": "A device which removes solid particulates or airborne molecular contaminants", "items": { "$ref": "#/$defs/FilterTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "fire": { "description": "Historical and/or physical evidence of fire", "pattern": "^[12]\\d{3}(?:(?:-(?:0[1-9]|1[0-2]))(?:-(?:0[1-9]|[12]\\d|3[01]))?)?(\\s+to\\s+[12]\\d{3}(?:(?:-(?:0[1-9]|1[0-2]))(?:-(?:0[1-9]|[12]\\d|3[01]))?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "fireplace_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A firebox with chimney" }, "flooding": { "description": "Historical and/or physical evidence of flooding", - "type": "string" + "type": [ + "string", + "null" + ] }, "floor_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The time period since installment of the carpet or flooring" }, "floor_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The area of the floor space within the room" }, "floor_cond": { @@ -947,7 +1770,14 @@ "description": "The physical condition of the floor at the time of sampling; photos or video preferred; use drawings to indicate location of damaged areas" }, "floor_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of floors in the building, including basements and mechanical penthouse" }, "floor_finish_mat": { @@ -959,7 +1789,14 @@ "description": "Refers to the structural elements and subfloor upon which the finish flooring is installed" }, "floor_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the floor to provide inertia against temperature fluctuations" }, "floor_water_mold": { @@ -967,15 +1804,36 @@ "description": "Signs of the presence of mold or mildew in a room" }, "fluor": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Raw or converted fluorescence of water" }, "freq_clean": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of times the sample location is cleaned. Frequency of cleaning might be on a Daily basis, Weekly, Monthly, Quarterly or Annually." }, "freq_cook": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of times a meal is cooked per week" }, "fungicide_regm": { @@ -983,7 +1841,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "furniture": { "$ref": "#/$defs/FurnitureEnum", @@ -994,29 +1855,56 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gaseous_substances": { "description": "Amount or concentration of substances such as hydrogen sulfide, carbon dioxide, methane, etc.; can include multiple substances", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gender_restroom": { "$ref": "#/$defs/GenderRestroomEnum", "description": "The gender type of the restroom" }, "genetic_mod": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Genetic modifications of the genome of an organism, which may occur naturally by spontaneous mutation, or be introduced by some experimental means, e.g. specification of a transgene or the gene knocked-out or details of transient transfection" }, "geo_loc_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)" }, "glucosidase_act": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of glucosidase activity" }, "gold_biosample_identifiers": { @@ -1025,10 +1913,20 @@ "pattern": "^gold:Gb[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gravidity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Whether or not subject is gravid, and if yes date due or date post-conception, specifying which is used" }, "gravity": { @@ -1036,7 +1934,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "growth_facil": { "anyOf": [ @@ -1045,6 +1946,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Type of facility where the sampled plant was grown; controlled vocabulary: growth chamber, open top chamber, glasshouse, experimental garden, field. Alternatively use Crop Ontology (CO) terms, see http://www.cropontology.org/ontology/CO_715/Crop%20Research" @@ -1058,13 +1962,26 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "habitat": { - "type": "string" + "type": [ + "string", + "null" + ] }, "hall_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The total count of hallways and cooridors in the built structure" }, "handidness": { @@ -1080,7 +1997,14 @@ "description": "Main Hydrocarbon Resource type. The term \"Hydrocarbon Resource\" HCR defined as a natural environmental feature containing large amounts of hydrocarbons at high concentrations potentially suitable for commercial exploitation. This term should not be confused with the Hydrocarbon Occurrence term which also includes hydrocarbon-rich environments with currently limited commercial interest such as seeps, outcrops, gas hydrates etc. If \"other\" is specified, please propose entry in \"additional info\" field" }, "hcr_fw_salinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original formation water salinity (prior to secondary recovery e.g. Waterflooding) expressed as TDS" }, "hcr_geol_age": { @@ -1088,11 +2012,25 @@ "description": "Geological age of hydrocarbon resource (Additional info: https://en.wikipedia.org/wiki/Period_(geology)). If \"other\" is specified, please propose entry in \"additional info\" field" }, "hcr_pressure": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original pressure of the hydrocarbon resource" }, "hcr_temp": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original temperature of the hydrocarbon resource" }, "heat_cool_type": { @@ -1100,7 +2038,10 @@ "items": { "$ref": "#/$defs/HeatCoolTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "heat_deliv_loc": { "$ref": "#/$defs/HeatDelivLocEnum", @@ -1108,10 +2049,20 @@ }, "heat_sys_deliv_meth": { "description": "The method by which the heat is delivered through the system", - "type": "string" + "type": [ + "string", + "null" + ] }, "heat_system_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The heating system identifier" }, "heavy_metals": { @@ -1119,17 +2070,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "heavy_metals_meth": { "description": "Reference or method used in determining heavy metals", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "height_carper_fiber": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average carpet fiber height in the indoor environment" }, "herbicide_regm": { @@ -1137,18 +2101,42 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "horizon_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining the horizon" }, "host_age": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Age of host at the time of sampling; relevant scale depends on species and study, e.g. Could be seconds for amoebae or centuries for trees" }, "host_body_habitat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Original body habitat where the sample was obtained from" }, "host_body_product": { @@ -1158,6 +2146,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Substance produced by the body, e.g. Stool, mucus, where the sample was obtained from. For foundational model of anatomy ontology (fma) or Uber-anatomy ontology (UBERON) terms, please see https://www.ebi.ac.uk/ols/ontologies/fma or https://www.ebi.ac.uk/ols/ontologies/uberon" @@ -1169,20 +2160,44 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Name of body site where the sample was obtained from, such as a specific organ or tissue (tongue, lung etc...). For foundational model of anatomy ontology (fma) (v 4.11.0) or Uber-anatomy ontology (UBERON) (v releases/2014-06-15) terms, please see http://purl.bioontology.org/ontology/FMA or http://purl.bioontology.org/ontology/UBERON" }, "host_body_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Core body temperature of the host when sample was collected" }, "host_color": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The color of host" }, "host_common_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Common name of the host." }, "host_diet": { @@ -1190,14 +2205,31 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_disease_stat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of diseases with which the host has been diagnosed; can include multiple diagnoses. The value of the field depends on host; for humans the terms should be chosen from the DO (Human Disease Ontology) at https://www.disease-ontology.org, non-human host diseases are free text" }, "host_dry_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of dry mass" }, "host_family_relation": { @@ -1205,18 +2237,42 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_genotype": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Observed genotype" }, "host_growth_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Literature reference giving growth conditions of the host" }, "host_height": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The height of subject" }, "host_last_meal": { @@ -1224,18 +2280,38 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_length": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The length of subject" }, "host_life_stage": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of life stage of host" }, "host_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "host_phenotype": { "anyOf": [ @@ -1244,6 +2320,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Phenotype of human or other host. For phenotypic quality ontology (pato) (v 2018-03-27) terms, please see http://purl.bioontology.org/ontology/pato. For Human Phenotype Ontology (HP) (v 2018-06-13) please see http://purl.bioontology.org/ontology/HP" @@ -1253,11 +2332,25 @@ "description": "Gender or physical sex of the host." }, "host_shape": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Morphological shape of host" }, "host_subject_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A unique identifier by which each subject can be referred to, de-identified." }, "host_subspecf_genlin": { @@ -1265,10 +2358,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_substrate": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The growth substrate of the host." }, "host_symbiont": { @@ -1276,22 +2379,53 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "host_taxid": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "NCBI taxon id of the host, e.g. 9606" }, "host_tot_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total mass of the host at collection, the unit depends on host" }, "host_wet_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of wet mass" }, "humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Amount of water vapour in the air, at the time of sampling" }, "humidity_regm": { @@ -1299,7 +2433,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "An NMDC assigned unique identifier for a biosample submitted to NMDC.", @@ -1312,7 +2449,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "img_identifiers": { "description": "A list of identifiers that relate the biosample to records in the IMG database.", @@ -1320,7 +2460,10 @@ "pattern": "^img\\.taxon:[a-zA-Z0-9_][a-zA-Z0-9_\\/\\.]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "indoor_space": { "$ref": "#/$defs/IndoorSpaceEnum", @@ -1331,7 +2474,14 @@ "description": "Type of indoor surface" }, "indust_eff_percent": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Percentage of industrial effluents received by wastewater treatment plant" }, "infiltrations": { @@ -1340,14 +2490,20 @@ "pattern": "^(?:[0-9]|[1-9][0-9]|9[0-9]|0[0-9]|0[0-5][0-9]):[0-5][0-9]:[0-5][0-9]$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inorg_particles": { "description": "Concentration of particles such as sand, grit, metal particles, ceramics, etc.; can include multiple particles", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "insdc_biosample_identifiers": { "description": "identifiers for corresponding sample in INSDC", @@ -1355,10 +2511,20 @@ "pattern": "^biosample:SAM[NED]([A-Z])?[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inside_lux": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded value at sampling time (power density)" }, "int_wall_cond": { @@ -1367,42 +2533,104 @@ }, "investigation_field": { "description": "field describing aspect of the investigation/study to which the sample belongs", - "type": "string" + "type": [ + "string", + "null" + ] }, "isotope_exposure": { "description": "List isotope exposure or addition applied to your sample.", - "type": "string" + "type": [ + "string", + "null" + ] }, "iw_bt_date_well": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "Injection water breakthrough date per well following a secondary and/or tertiary recovery" }, "iwf": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Proportion of the produced fluids derived from injected water at the time of sampling. (e.g. 87%)" }, "last_clean": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "The last time the floor was cleaned (swept, mopped, vacuumed)" }, "lat_lon": { - "$ref": "#/$defs/GeolocationValue", + "anyOf": [ + { + "$ref": "#/$defs/GeolocationValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by latitude and longitude. The values should be reported in decimal degrees and in WGS84 system" }, "lbc_thirty": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "lime buffer capacity, determined after 30 minute incubation" }, "lbceq": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "lime buffer capacity, determined at equilibrium after 5 day incubation" }, "light_intensity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of light intensity" }, "light_regm": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Information about treatment(s) involving exposure to light, including both light intensity and quality." }, "light_type": { @@ -1410,18 +2638,42 @@ "items": { "$ref": "#/$defs/LightTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "link_addit_analys": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to additional analysis results performed on the sample" }, "link_class_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to digitized soil maps or other soil classification information" }, "link_climate_info": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Link to climate resource" }, "lithology": { @@ -1429,34 +2681,86 @@ "description": "Hydrocarbon resource main lithology (Additional information: http://petrowiki.org/Lithology_and_rock_type_determination). If \"other\" is specified, please propose entry in \"additional info\" field" }, "local_class": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Soil classification based on local soil classification system" }, "local_class_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining the local soil classification" }, "location": { - "type": "string" + "type": [ + "string", + "null" + ] }, "magnesium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of magnesium in the sample" }, "manganese": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of manganese in the sample" }, "max_occup": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The maximum amount of people allowed in the indoor environment" }, "mean_frict_vel": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of mean friction velocity" }, "mean_peak_frict_vel": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of mean peak friction velocity" }, "mech_struc": { @@ -1468,127 +2772,255 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "methane": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Methane (gas) amount or concentration at the time of sampling" }, "micro_biomass_c_meth": { "description": "Reference or method used in determining microbial biomass carbon", - "type": "string" + "type": [ + "string", + "null" + ] }, "micro_biomass_meth": { "description": "Reference or method used in determining microbial biomass", - "type": "string" + "type": [ + "string", + "null" + ] }, "micro_biomass_n_meth": { "description": "Reference or method used in determining microbial biomass nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "microbial_biomass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer. If you keep this, you would need to have correction factors used for conversion to the final units" }, "microbial_biomass_c": { "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer.", - "type": "string" + "type": [ + "string", + "null" + ] }, "microbial_biomass_n": { "description": "The part of the organic matter in the soil that constitutes living microorganisms smaller than 5-10 micrometer.", - "type": "string" + "type": [ + "string", + "null" + ] }, "mineral_nutr_regm": { "description": "Information about treatment involving the use of mineral supplements; should include the name of mineral nutrient, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple mineral nutrient regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "misc_param": { "description": "Any other measurement performed or parameter collected, that is not listed here", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "n_alkanes": { "description": "Concentration of n-alkanes; can include multiple n-alkanes", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_taxonomy_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "neon_biosample_identifiers": { "items": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "nitrate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrate in the sample" }, "nitrate_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrate nitrogen in the sample" }, "nitrite": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrite in the sample" }, "nitrite_nitrogen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrite nitrogen in the sample" }, "nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of nitrogen (total)" }, "non_microb_biomass": { "description": "Amount of biomass; should include the name for the part of biomass measured, e.g.insect, plant, total. Can include multiple measurements separated by ;", - "type": "string" + "type": [ + "string", + "null" + ] }, "non_microb_biomass_method": { "description": "Reference or method used in determining biomass", - "type": "string" + "type": [ + "string", + "null" + ] }, "non_min_nutr_regm": { "description": "Information about treatment involving the exposure of plant to non-mineral nutrient such as oxygen, hydrogen or carbon; should include the name of non-mineral nutrient, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple non-mineral nutrient regimens", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "nucleic_acid_sequence_source_field": { - "type": "string" + "type": [ + "string", + "null" + ] }, "number_pets": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of pets residing in the sampled space" }, "number_plants": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of plant(s) in the sampling space" }, "number_resident": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The number of individuals currently occupying in the sampling location" }, "occup_density_samp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Average number of occupants at time of sampling per square footage" }, "occup_document": { @@ -1596,49 +3028,99 @@ "description": "The type of documentation of occupancy" }, "occup_samp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Number of occupants present at time of sample within the given space" }, "org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic carbon" }, "org_count_qpcr_info": { "description": "If qpcr was used for the cell count, the target gene name, the primer sequence and the cycling conditions should also be provided. (Example: 16S rrna; FWD:ACGTAGCTATGACGT REV:GTGCTAGTCGAGTAC; initial denaturation:90C_5min; denaturation:90C_2min; annealing:52C_30 sec; elongation:72C_30 sec; 90 C for 1 min; final elongation:72C_5min; 30 cycles)", - "type": "string" + "type": [ + "string", + "null" + ] }, "org_matter": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic matter" }, "org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of organic nitrogen" }, "org_nitro_method": { "description": "Method used for obtaining organic nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "org_particles": { "description": "Concentration of particles such as faeces, hairs, food, vomit, paper fibers, plant material, humus, etc.", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "organism_count": { "description": "Total cell count of any organism (or group of organisms) per gram, volume or area of sample, should include name of organism followed by count. The method that was used for the enumeration (e.g. qPCR, atp, mpn, etc.) Should also be provided. (example: total prokaryotes; 3.5e7 cells per ml; qpcr)", "items": { "$ref": "#/$defs/QuantityValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "other_treatment": { "description": "Other treatments applied to your samples that are not applicable to the provided fields", - "type": "string" + "type": [ + "string", + "null" + ] }, "owc_tvdss": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Depth of the original oil water contact (OWC) zone (average) (m TVDSS)" }, "oxy_stat_samp": { @@ -1646,15 +3128,36 @@ "description": "Oxygenation status of sample" }, "oxygen": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Oxygen (gas) amount or concentration at the time of sampling" }, "part_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of particulate organic carbon" }, "part_org_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of particulate organic nitrogen" }, "particle_class": { @@ -1662,10 +3165,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "permeability": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measure of the ability of a hydrocarbon resource to allow fluids to pass through it. (Additional information: https://en.wikipedia.org/wiki/Permeability_(earth_sciences))" }, "perturbation": { @@ -1673,25 +3186,48 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "pesticide_regm": { "description": "Information about treatment involving use of insecticides; should include the name of pesticide, amount administered, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple pesticide regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "petroleum_hydrocarb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of petroleum hydrocarbon" }, "ph": { "description": "Ph measurement of the sample, or liquid portion of sample, or aqueous phase of the fluid", - "type": "number" + "type": [ + "number", + "null" + ] }, "ph_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining ph" }, "ph_regm": { @@ -1699,17 +3235,30 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "phaeopigments": { "description": "Concentration of phaeopigments; can include multiple phaeopigments", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "phosphate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of phosphate" }, "phosplipid_fatt_acid": { @@ -1717,10 +3266,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "photon_flux": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of photon flux" }, "plant_growth_med": { @@ -1730,12 +3289,22 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Specification of the media for growing the plants or tissue cultured samples, e.g. soil, aeroponic, hydroponic, in vitro solid culture medium, in vitro liquid culture medium. Recommended value is a specific value from EO:plant growth medium (follow this link for terms http://purl.obolibrary.org/obo/EO_0007147) or other controlled vocabulary" }, "plant_product": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Substance produced by the plant, where the sample was obtained from" }, "plant_sex": { @@ -1749,6 +3318,9 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "Name of plant structure the sample was obtained from; for Plant Ontology (PO) (v releases/2017-12-14) terms, see http://purl.bioontology.org/ontology/PO, e.g. petiole epidermis (PO_0000051). If an individual flower is sampled, the sex of it can be recorded here." @@ -1758,55 +3330,134 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "porosity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Porosity of deposited sediment is volume of voids divided by the total volume of sample" }, "potassium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of potassium in the sample" }, "pour_point": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature at which a liquid becomes semi solid and loses its flow characteristics. In crude oil a high\u00ac\u2020pour point\u00ac\u2020is generally associated with a high paraffin content, typically found in crude deriving from a larger proportion of plant material. (soure: https://en.wikipedia.org/wiki/pour_point)" }, "pre_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process of pre-treatment removes materials that can be easily collected from the raw wastewater" }, "pres_animal_insect": { "description": "The type and number of animals or insects present in the sampling space.", "pattern": "^(cat|dog|rodent|snake|other);\\d+$", - "type": "string" + "type": [ + "string", + "null" + ] }, "pressure": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Pressure to which the sample is subject to, in atmospheres" }, "prev_land_use_meth": { "description": "Reference or method used in determining previous land use and dates", - "type": "string" + "type": [ + "string", + "null" + ] }, "previous_land_use": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Previous land use and dates" }, "primary_prod": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of primary production, generally measured as isotope uptake" }, "primary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process to produce both a generally homogeneous liquid capable of being treated biologically and a sludge that can be separately treated or processed" }, "prod_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Oil and/or gas production rates per well (e.g. 524 m3 / day)" }, "prod_start_date": { - "$ref": "#/$defs/TimestampValue", + "anyOf": [ + { + "$ref": "#/$defs/TimestampValue" + }, + { + "type": "null" + } + ], "description": "Date of field's first production" }, "profile_position": { @@ -1815,16 +3466,28 @@ }, "project_id": { "description": "Proposal IDs or names associated with dataset", - "type": "string" + "type": [ + "string", + "null" + ] }, "proport_woa_temperature": { - "type": "string" + "type": [ + "string", + "null" + ] }, "proposal_dna": { - "type": "string" + "type": [ + "string", + "null" + ] }, "proposal_rna": { - "type": "string" + "type": [ + "string", + "null" + ] }, "quad_pos": { "$ref": "#/$defs/QuadPosEnum", @@ -1835,29 +3498,63 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rainfall_regm": { "description": "Information about treatment involving an exposure to a given amount of rainfall, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "reactor_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Anaerobic digesters can be designed and engineered to operate using a number of different process configurations, as batch or continuous, mesophilic, high solid or low solid, and single stage or multistage" }, "redox_potential": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Redox potential, measured relative to a hydrogen cell, indicating oxidation or reduction potential" }, "rel_air_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Partial vapor and air pressure, density of the vapor and air, or by the actual mass of the vapor and air" }, "rel_humidity_out": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded outside relative humidity value at the time of sampling" }, "rel_samp_loc": { @@ -1866,32 +3563,61 @@ }, "replicate_number": { "description": "If sending biological replicates, indicate the rep number here.", - "type": "string" + "type": [ + "string", + "null" + ] }, "reservoir": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the reservoir (e.g. Carapebus)" }, "resins_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "rna_absorb1": { "description": "260/280 measurement of RNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_absorb2": { "description": "260/230 measurement of RNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_collect_site": { "description": "Provide information on the site your RNA sample was collected from", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_concentration": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "rna_cont_type": { "$ref": "#/$defs/JgiContTypeEnum", @@ -1899,24 +3625,42 @@ }, "rna_cont_well": { "pattern": "^(?!A1$|A12$|H1$|H12$)(([A-H][1-9])|([A-H]1[0-2]))$", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_container_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_isolate_meth": { "description": "Describe the method/protocol/kit used to extract DNA/RNA.", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_organisms": { "description": "List any organisms known or suspected to grow in co-culture, as well as estimated % of the organism in that culture.", - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_project_contact": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_samp_id": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_sample_format": { "$ref": "#/$defs/RNASampleFormatEnum", @@ -1926,29 +3670,54 @@ "description": "Give the RNA sample a name that is meaningful to you. Sample names must be unique across all JGI projects and contain a-z, A-Z, 0-9, - and _ only.", "maximum": 2000, "minimum": 0, - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_seq_project_pi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rna_volume": { "maximum": 1000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "room_air_exch_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The rate at which outside air replaces indoor air in a given space" }, "room_architec_elem": { "description": "The unique details and component parts that, together, form the architecture of a distinguisahable space within a built structure", - "type": "string" + "type": [ + "string", + "null" + ] }, "room_condt": { "$ref": "#/$defs/RoomCondtEnum", @@ -1959,23 +3728,58 @@ "description": "List of rooms connected to the sampling room by a doorway" }, "room_count": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The total count of rooms in the built structure including all room types" }, "room_dim": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The length, width and height of sampling room" }, "room_door_dist": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Distance between doors (meters) in the hallway between the sampling room and adjacent rooms" }, "room_door_share": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) sharing a door with the sampling room" }, "room_hallway": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) located in the same hallway as sampling room" }, "room_loc": { @@ -1984,14 +3788,31 @@ }, "room_moist_dam_hist": { "description": "The history of moisture damage or mold in the past 12 months. Number of events of moisture damage or mold observed", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "room_net_area": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The net floor area of sampling room. Net area excludes wall thicknesses" }, "room_occup": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Count of room occupancy at time of sampling" }, "room_samp_pos": { @@ -2003,59 +3824,149 @@ "description": "The main purpose or activity of the sampling room. A room is any distinguishable space within a structure" }, "room_vol": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Volume of sampling room" }, "room_wall_share": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "List of room(s) (room number, room name) sharing a wall with the sampling room" }, "room_window_count": { "description": "Number of windows in the room", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "root_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Relevant rooting conditions such as field plot size, sowing density, container dimensions, number of plants per container." }, "root_med_carbon": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Source of organic carbon in the culture rooting medium; e.g. sucrose." }, "root_med_macronutr": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measurement of the culture rooting medium macronutrients (N,P, K, Ca, Mg, S); e.g. KH2PO4 (170\u00ac\u2020mg/L)." }, "root_med_micronutr": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Measurement of the culture rooting medium micronutrients (Fe, Mn, Zn, B, Cu, Mo); e.g. H3BO3 (6.2\u00ac\u2020mg/L)." }, "root_med_ph": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "pH measurement of the culture rooting medium; e.g. 5.5." }, "root_med_regl": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Growth regulators in the culture rooting medium such as cytokinins, auxins, gybberellins, abscisic acid; e.g. 0.5\u00ac\u2020mg/L NAA." }, "root_med_solid": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Specification of the solidifying agent in the culture rooting medium; e.g. agar." }, "root_med_suppl": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Organic supplements of the culture rooting medium, such as vitamins, amino acids, organic acids, antibiotics activated charcoal; e.g. nicotinic acid (0.5\u00ac\u2020mg/L)." }, "salinity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total concentration of all dissolved salts in a liquid or solid sample. While salinity can be measured by a complete chemical analysis, this method is difficult and time consuming. More often, it is instead derived from the conductivity measurement. This is known as practical salinity. These derivations compare the specific conductance of the sample to a salinity standard such as seawater." }, "salinity_category": { "description": "Categorical description of the sample's salinity. Examples: halophile, halotolerant, hypersaline, huryhaline", - "type": "string" + "type": [ + "string", + "null" + ] }, "salinity_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining salinity" }, "salt_regm": { @@ -2063,7 +3974,10 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "samp_capt_status": { "$ref": "#/$defs/SampCaptStatusEnum", @@ -2071,11 +3985,17 @@ }, "samp_collec_device": { "description": "The device used to collect an environmental sample. This field accepts terms listed under environmental sampling device (http://purl.obolibrary.org/obo/ENVO). This field also accepts terms listed under specimen collection device (http://purl.obolibrary.org/obo/GENEPIO_0002094).", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_collec_method": { "description": "The method employed for collecting the sample.", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_collect_point": { "$ref": "#/$defs/SampCollectPointEnum", @@ -2090,7 +4010,14 @@ "description": "The floor of the building, where the sampling room is located" }, "samp_loc_corr_rate": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Metal corrosion rate is the speed of metal deterioration due to environmental conditions. As environmental conditions change corrosion rates change accordingly. Therefore, long term corrosion rates are generally more informative than short term rates and for that reason they are preferred during reporting. In the case of suspected MIC, corrosion rate measurements at the time of sampling might provide insights into the involvement of certain microbial community members in MIC as well as potential microbial interplays" }, "samp_mat_process": { @@ -2100,28 +4027,62 @@ }, { "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" } ], "description": "A brief description of any processing applied to the sample during or after retrieving the sample from environment, or a link to the relevant protocol(s) performed." }, "samp_md": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "In non deviated well, measured depth is equal to the true vertical depth, TVD (TVD=TVDSS plus the reference or datum it refers to). In deviated wells, the MD is the length of trajectory of the borehole measured from the same reference or datum. Common datums used are ground level (GL), drilling rig floor (DF), rotary table (RT), kelly bushing (KB) and mean sea level (MSL). If \"other\" is specified, please propose entry in \"additional info\" field" }, "samp_name": { "description": "A local identifier or name that for the material sample used for extracting nucleic acids, and subsequent sequencing. It can refer either to the original material collected or to any derived sub-samples. It can have any format, but we suggest that you make it concise, unique and consistent within your lab, and as informative as possible. INSDC requires every sample name from a single Submitter to be unique. Use of a globally unique identifier for the field source_mat_id is recommended in addition to sample_name.", - "type": "string" + "type": [ + "string", + "null" + ] }, "samp_preserv": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Preservative added to the sample (e.g. Rnalater, alcohol, formaldehyde, etc.). Where appropriate include volume added (e.g. Rnalater; 2 ml)" }, "samp_room_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Sampling room number. This ID should be consistent with the designations on the building floor plans" }, "samp_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total amount or size (volume (ml), mass (g) or area (m2) ) of sample collected." }, "samp_sort_meth": { @@ -2129,18 +4090,42 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "samp_store_dur": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Duration for which the sample was stored" }, "samp_store_loc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Location at which sample was stored, usually name of a specific freezer/room" }, "samp_store_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature at which sample was stored, e.g. -80 degree Celsius" }, "samp_subtype": { @@ -2148,23 +4133,58 @@ "description": "Name of sample sub-type. For example if \"sample type\" is \"Produced Water\" then subtype could be \"Oil Phase\" or \"Water Phase\". If \"other\" is specified, please propose entry in \"additional info\" field" }, "samp_taxon_id": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "NCBI taxon id of the sample. Maybe be a single taxon or mixed taxa sample. Use 'synthetic metagenome\u2019 for mock community/positive controls, or 'blank sample' for negative controls." }, "samp_time_out": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The recent and long term history of outside sampling" }, "samp_transport_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Sample transport duration (in days or hrs) and temperature the sample was exposed to (e.g. 5.5 days; 20 \u00ac\u221eC)" }, "samp_tvdss": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Depth of the sample i.e. The vertical distance between the sea level and the sampled position in the subsurface. Depth can be reported as an interval for subsurface samples e.g. 1325.75-1362.25 m" }, "samp_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The type of material from which the sample was obtained. For the Hydrocarbon package, samples include types like core, rock trimmings, drill cuttings, piping section, coupon, pigging debris, solid deposit, produced fluid, produced water, injected water, swabs, etc. For the Food Package, samples are usually categorized as food, body products or tissues, or environmental material. This field accepts terms listed under environmental specimen (http://purl.obolibrary.org/obo/GENEPIO_0001246)." }, "samp_weather": { @@ -2172,33 +4192,63 @@ "description": "The weather on the sampling day" }, "samp_well_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of the well (e.g. BXA1123) where sample was taken" }, "sample_collection_site": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_link": { "description": "A unique identifier to assign parent-child, subsample, or sibling samples. This is relevant when a sample or other material was used to generate the new sample.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "sample_shipped": { "description": "The total amount or size (volume (ml), mass (g) or area (m2) ) of sample sent to EMSL.", - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_type": { "$ref": "#/$defs/SampleTypeEnum", "description": "Type of sample being submitted" }, "saturates_pc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Saturate, Aromatic, Resin and Asphaltene\u00ac\u2020(SARA) is an analysis method that divides\u00ac\u2020crude oil\u00ac\u2020components according to their polarizability and polarity. There are three main methods to obtain SARA results. The most popular one is known as the Iatroscan TLC-FID and is referred to as IP-143 (source: https://en.wikipedia.org/wiki/Saturate,_aromatic,_resin_and_asphaltene)" }, "season": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The season when sampling occurred. Any of the four periods into which the year is divided by the equinoxes and solstices. This field accepts terms listed under season (http://purl.obolibrary.org/obo/NCIT_C94729)." }, "season_environment": { @@ -2206,14 +4256,31 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "season_precpt": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average of all seasonal precipitation values known, or an estimated equivalent value derived by such methods as regional indexes or Isohyetal maps." }, "season_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Mean seasonal temperature" }, "season_use": { @@ -2221,7 +4288,14 @@ "description": "The seasons the space is occupied" }, "secondary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process for substantially degrading the biological content of the sewage" }, "sediment_type": { @@ -2229,26 +4303,53 @@ "description": "Information about the sediment type based on major constituents" }, "sequencing_field": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sewage_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Type of wastewater treatment plant as municipial or industrial" }, "shad_dev_water_mold": { "description": "Signs of the presence of mold or mildew on the shading device", - "type": "string" + "type": [ + "string", + "null" + ] }, "shading_device_cond": { "$ref": "#/$defs/ShadingDeviceCondEnum", "description": "The physical condition of the shading device at the time of sampling" }, "shading_device_loc": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The location of the shading device in relation to the built structure" }, "shading_device_mat": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The material the shading device is composed of" }, "shading_device_type": { @@ -2256,39 +4357,102 @@ "description": "The type of shading device" }, "sieving": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Collection design of pooled samples and/or sieve size and amount of sample sieved" }, "silicate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of silicate" }, "size_frac": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Filtering pore size used in sample preparation" }, "size_frac_low": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Refers to the mesh/pore size used to pre-filter/pre-sort the sample. Materials larger than the size threshold are excluded from the sample" }, "size_frac_up": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Refers to the mesh/pore size used to retain the sample. Materials smaller than the size threshold are excluded from the sample" }, "slope_aspect": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The direction a slope faces. While looking down a slope use a compass to record the direction you are facing (direction or degrees). This measure provides an indication of sun and wind exposure that will influence soil temperature and evapotranspiration." }, "slope_gradient": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Commonly called 'slope'. The angle between ground surface and a horizontal line (in percent). This is the direction that overland water would flow. This measure is usually taken with a hand level meter or clinometer" }, "sludge_retent_time": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The time activated sludge remains in reactor" }, "sodium": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Sodium concentration in the sample" }, "soil_horizon": { @@ -2296,23 +4460,54 @@ "description": "Specific layer in the land area which measures parallel to the soil surface and possesses physical characteristics which differ from the layers above and beneath" }, "soil_text_measure": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The relative proportion of different grain sizes of mineral particles in a soil, as described using a standard system; express as % sand (50 um to 2 mm), silt (2 um to 50 um), and clay (<2 um) with textural name (e.g., silty clay loam) optional." }, "soil_texture_meth": { "description": "Reference or method used in determining soil texture", - "type": "string" + "type": [ + "string", + "null" + ] }, "soil_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of the soil type or classification. This field accepts terms under soil (http://purl.obolibrary.org/obo/ENVO_00001998). Multiple terms can be separated by pipes." }, "soil_type_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining soil series name or other lower-level classification" }, "solar_irradiance": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The amount of solar energy that arrives at a specific area of a surface during a specific time interval" }, "soluble_inorg_mat": { @@ -2320,28 +4515,58 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soluble_iron_micromol": { - "type": "string" + "type": [ + "string", + "null" + ] }, "soluble_org_mat": { "description": "Concentration of substances such as urea, fruit sugars, soluble proteins, drugs, pharmaceuticals, etc.", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soluble_react_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of soluble reactive phosphorus" }, "source_mat_id": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A globally unique identifier assigned to the biological sample." }, "space_typ_state": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Customary or normal state of the space" }, "specific": { @@ -2350,10 +4575,20 @@ }, "specific_ecosystem": { "description": "Specific ecosystems represent specific features of the environment like aphotic zone in an ocean or gastric mucosa within a host digestive system. Specific ecosystem is in position 5/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "specific_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "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." }, "sr_dep_env": { @@ -2377,18 +4612,34 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "start_date_inc": { "description": "Date the incubation was started. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "start_time_inc": { "description": "Time the incubation was started. Only relevant for incubation samples.", - "type": "string" + "type": [ + "string", + "null" + ] }, "store_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Explain how and for how long the soil sample was stored before DNA extraction (fresh/frozen/other)." }, "substructure_type": { @@ -2396,21 +4647,52 @@ "items": { "$ref": "#/$defs/SubstructureTypeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "subsurface_depth": { - "$ref": "#/$defs/QuantityValue" + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ] }, "sulfate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of sulfate in the sample" }, "sulfate_fw": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original sulfate concentration in the hydrocarbon resource" }, "sulfide": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of sulfide in the sample" }, "surf_air_cont": { @@ -2418,10 +4700,20 @@ "items": { "$ref": "#/$defs/SurfAirContEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "surf_humidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Surfaces: water activity as a function of air and material moisture" }, "surf_material": { @@ -2429,19 +4721,43 @@ "description": "Surface materials at the point of sampling" }, "surf_moisture": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Water held on a surface" }, "surf_moisture_ph": { "description": "ph measurement of surface", - "type": "number" + "type": [ + "number", + "null" + ] }, "surf_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the surface at the time of sampling" }, "suspend_part_matter": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of suspended particulate matter" }, "suspend_solids": { @@ -2449,26 +4765,60 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tan": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total Acid Number\u00ac\u2020(TAN) is a measurement of acidity that is determined by the amount of\u00ac\u2020potassium hydroxide\u00ac\u2020in milligrams that is needed to neutralize the acids in one gram of oil.\u00ac\u2020It is an important quality measurement of\u00ac\u2020crude oil. (source: https://en.wikipedia.org/wiki/Total_acid_number)" }, "technical_reps": { "description": "If sending technical replicates of the same sample, indicate the replicate count.", - "type": "string" + "type": [ + "string", + "null" + ] }, "temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Temperature of the sample at the time of sampling." }, "temp_out": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The recorded temperature value at sampling time outside" }, "tertiary_treatment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The process providing a final treatment stage to raise the effluent quality before it is discharged to the receiving environment" }, "tidal_stage": { @@ -2480,70 +4830,181 @@ "items": { "$ref": "#/$defs/TillageEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tiss_cult_growth_med": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of plant tissue culture growth media used" }, "toluene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of toluene in the sample" }, "tot_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total carbon content" }, "tot_depth_water_col": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of total depth of water column" }, "tot_diss_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total dissolved nitrogen concentration, reported as nitrogen, measured by: total dissolved nitrogen = NH4 + NO3NO2 + dissolved organic nitrogen" }, "tot_inorg_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total inorganic nitrogen content" }, "tot_iron": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of total iron in the sample" }, "tot_nitro": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total nitrogen concentration of water samples, calculated by: total nitrogen = total dissolved nitrogen + particulate nitrogen. Can also be measured without filtering, reported as nitrogen" }, "tot_nitro_cont_meth": { "description": "Reference or method used in determining the total nitrogen", - "type": "string" + "type": [ + "string", + "null" + ] }, "tot_nitro_content": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total nitrogen content of the sample" }, "tot_org_c_meth": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Reference or method used in determining total organic carbon" }, "tot_org_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Definition for soil: total organic carbon content of the soil, definition otherwise: total organic carbon content" }, "tot_part_carb": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total particulate carbon content" }, "tot_phosp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total phosphorus concentration in the sample, calculated by: total phosphorus = total dissolved phosphorus + particulate phosphorus" }, "tot_phosphate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total amount or concentration of phosphate" }, "tot_sulfur": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of total sulfur in the sample" }, "train_line": { @@ -2559,20 +5020,44 @@ "description": "The train stop collection location" }, "turbidity": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measure of the amount of cloudiness or haziness in water caused by individual particles" }, "tvdss_of_hcr_press": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "True vertical depth subsea (TVDSS) of the hydrocarbon resource where the original pressure was measured (e.g. 1578 m)." }, "tvdss_of_hcr_temp": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "True vertical depth subsea (TVDSS) of the hydrocarbon resource where the original temperature was measured (e.g. 1345 m)." }, "typ_occup_density": { "description": "Customary or normal density of occupants", - "type": "number" + "type": [ + "number", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -2582,19 +5067,47 @@ "type": "string" }, "ventilation_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Ventilation rate of the system in the sampled premises" }, "ventilation_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Ventilation system used in the sampled premises" }, "vfa": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of Volatile Fatty Acids in the sample" }, "vfa_fw": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Original volatile fatty acid concentration in the hydrocarbon resource" }, "vis_media": { @@ -2602,7 +5115,14 @@ "description": "The building visual media" }, "viscosity": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A measure of oil's resistance\u00ac\u2020to gradual deformation by\u00ac\u2020shear stress\u00ac\u2020or\u00ac\u2020tensile stress (e.g. 3.5 cp; 100 \u00ac\u221eC)" }, "volatile_org_comp": { @@ -2610,10 +5130,20 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "wall_area": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The total area of the sampled room's walls" }, "wall_const_type": { @@ -2625,7 +5155,14 @@ "description": "The material utilized to finish the outer most layer of the wall" }, "wall_height": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The average height of the walls in the sampled room" }, "wall_loc": { @@ -2641,38 +5178,86 @@ "description": "The feel, appearance, or consistency of a wall surface" }, "wall_thermal_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The ability of the wall to provide inertia against temperature fluctuations. Generally this means concrete or concrete block that is either exposed or covered only with paint" }, "wall_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on a wall" }, "wastewater_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The origin of wastewater such as human waste, rainfall, storm drains, etc." }, "water_cont_soil_meth": { "description": "Reference or method used in determining the water content of soil", - "type": "string" + "type": [ + "string", + "null" + ] }, "water_content": { "description": "Water content measurement", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "water_current": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Measurement of magnitude and direction of flow within a fluid" }, "water_cut": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Current amount of water (%) in a produced fluid stream; or the average of the combined streams" }, "water_feat_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The size of the water feature" }, "water_feat_type": { @@ -2680,7 +5265,14 @@ "description": "The type of water feature present within the building being sampled" }, "water_prod_rate": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Water production rates per well (e.g. 987 m3 / day)" }, "water_temp_regm": { @@ -2688,29 +5280,56 @@ "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "watering_regm": { "description": "Information about treatment involving an exposure to watering frequencies, treatment regimen including how many times the treatment was repeated, how long each treatment lasted, and the start and end time of the entire treatment; can include multiple regimens", "items": { "$ref": "#/$defs/TextValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "weekday": { "$ref": "#/$defs/WeekdayEnum", "description": "The day of the week when sampling occurred" }, "win": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A unique identifier of a well or wellbore. This is part of the Global Framework for Well Identification initiative which is compiled by the Professional Petroleum Data Management Association (PPDM) in an effort to improve well identification systems. (Supporting information: https://ppdm.org/ and http://dl.ppdm.org/dl/690)" }, "wind_direction": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Wind direction is the direction from which a wind originates" }, "wind_speed": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Speed of wind measured at the time of sampling" }, "window_cond": { @@ -2734,15 +5353,36 @@ "description": "The type of material used to finish a window" }, "window_open_freq": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The number of times windows are opened per week" }, "window_size": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The window's length and width" }, "window_status": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Defines whether the windows were open or closed during environmental testing" }, "window_type": { @@ -2754,15 +5394,36 @@ "description": "The vertical position of the window on the wall" }, "window_water_mold": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Signs of the presence of mold or mildew on the window." }, "xylene": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of xylene in the sample" }, "zinc": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Concentration of zinc in the sample" } }, @@ -2901,11 +5562,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_object": { "description": "the file containing calibration data object", - "type": "string" + "type": [ + "string", + "null" + ] }, "calibration_standard": { "$ref": "#/$defs/CalibrationStandardEnum", @@ -2917,7 +5584,10 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -2930,7 +5600,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3055,7 +5728,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_conversion_category": { "$ref": "#/$defs/ChemicalConversionCategoryEnum", @@ -3063,21 +5739,37 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3093,7 +5785,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -3101,7 +5796,10 @@ "pattern": "^(nmdc):(procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3113,22 +5811,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3136,21 +5850,41 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "substances_volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the combined substances that was included in a ChemicalConversionProcess." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3178,22 +5912,34 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_names": { "description": "A list of alternative names used to refer to the entity. The distinction between name and alternative names is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_formula": { "description": "A generic grouping for molecular formulae and empirical formulae", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3201,21 +5947,33 @@ "type": "string" }, "inchi": { - "type": "string" + "type": [ + "string", + "null" + ] }, "inchi_key": { - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "smiles": { "description": "A string encoding of a molecular graph, no chiral or isotopic information. There are usually a large number of valid SMILES which represent a given structure. For example, CCO, OCC and C(O)C all specify the structure of ethanol.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3252,7 +6010,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chromatographic_category": { "$ref": "#/$defs/ChromatographicCategoryEnum", @@ -3260,17 +6021,26 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3286,7 +6056,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -3294,7 +6067,10 @@ "pattern": "^(nmdc):procsm-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3306,29 +6082,48 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ordered_mobile_phases": { "description": "The solution(s) that moves through a chromatography column.", "items": { "$ref": "#/$defs/MobilePhaseSegment" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3336,14 +6131,24 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "stationary_phase": { "$ref": "#/$defs/StationaryPhaseEnum", "description": "The material the stationary phase is comprised of used in chromatography." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3371,7 +6176,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chromatographic_category": { "$ref": "#/$defs/ChromatographicCategoryEnum", @@ -3395,14 +6203,24 @@ "items": { "$ref": "#/$defs/MobilePhaseSegment" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "stationary_phase": { "$ref": "#/$defs/StationaryPhaseEnum", "description": "The material the stationary phase is comprised of used in chromatography." }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -3432,21 +6250,33 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -3471,18 +6301,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -3490,7 +6333,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -3524,7 +6370,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "term": { "anyOf": [ @@ -3567,7 +6416,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "term": { "anyOf": [ @@ -3585,6 +6437,9 @@ }, { "$ref": "#/$defs/OrthologyGroup" + }, + { + "type": "null" } ], "description": "pointer to an ontology class" @@ -3736,11 +6591,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "compression_type": { "description": "If provided, specifies the compression type", - "type": "string" + "type": [ + "string", + "null" + ] }, "data_category": { "$ref": "#/$defs/DataCategoryEnum", @@ -3756,7 +6617,10 @@ }, "file_size_bytes": { "description": "Size of the file in bytes", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -3768,11 +6632,17 @@ "pattern": "^insdc.sra:(E|D|S)RX[0-9]{6,}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "md5_checksum": { "description": "MD5 checksum of file (pre-compressed)", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", @@ -3786,9 +6656,23 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_generated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "pattern": "^^(nmdc):(wfmag|wfmb|wfmgan|wfmgas|wfmsa|wfmp|wfmt|wfmtan|wfmtas|wfnom|wfrbt|wfrqc)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})(\\.[0-9]{1,})$|^^(nmdc):(omprc|dgms|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" } @@ -3811,27 +6695,39 @@ "items": { "$ref": "#/$defs/Biosample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_set": { "description": "This property links a database object to the set of calibrations within it.", "items": { "$ref": "#/$defs/CalibrationInformation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_entity_set": { "description": "This property links a database object to the set of chemical entities within it.", "items": { "$ref": "#/$defs/ChemicalEntity" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collecting_biosamples_from_site_set": { "items": { "$ref": "#/$defs/CollectingBiosamplesFromSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "configuration_set": { "description": "This property links a database object to the set of configurations within it.", @@ -3845,7 +6741,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_generation_set": { "description": "This property links a database object to the set of data generations within it.", @@ -3859,47 +6758,68 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_object_set": { "description": "This property links a database object to the set of data objects within it.", "items": { "$ref": "#/$defs/DataObject" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field_research_site_set": { "items": { "$ref": "#/$defs/FieldResearchSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_agg": { "items": { "$ref": "#/$defs/FunctionalAnnotationAggMember" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_set": { "description": "This property links a database object to the set of all functional annotations", "items": { "$ref": "#/$defs/FunctionalAnnotation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "genome_feature_set": { "description": "This property links a database object to the set of all features", "items": { "$ref": "#/$defs/GenomeFeature" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_set": { "description": "This property links a database object to the set of instruments within it.", "items": { "$ref": "#/$defs/Instrument" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "material_processing_set": { "description": "This property links a database object to the set of material processing within it.", @@ -3934,35 +6854,50 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processed_sample_set": { "description": "This property links a database object to the set of processed samples within it.", "items": { "$ref": "#/$defs/ProcessedSample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "protocol_execution_set": { "description": "This property links a database object to the set of protocol executions within it.", "items": { "$ref": "#/$defs/ProtocolExecution" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "storage_process_set": { "description": "This property links a database object to the set of storage processes within it.", "items": { "$ref": "#/$defs/StorageProcess" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "study_set": { "description": "This property links a database object to the set of studies within it.", "items": { "$ref": "#/$defs/Study" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "workflow_execution_set": { "description": "This property links a database object to the set of workflow executions.", @@ -4006,7 +6941,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "Database", @@ -4054,25 +6992,44 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4088,7 +7045,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -4096,7 +7056,10 @@ "pattern": "^(nmdc):(procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4108,22 +7071,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -4131,17 +7110,30 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -4406,11 +7398,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4419,7 +7417,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4441,19 +7442,31 @@ "description": "This class contains information pertaining to evaluating if a Metagenome-Assembled Genome (MAG) is eukaryotic.", "properties": { "completeness": { - "type": "number" + "type": [ + "number", + "null" + ] }, "contamination": { - "type": "number" + "type": [ + "number", + "null" + ] }, "ncbi_lineage": { "description": "Comma delimited ordered list of NCBI taxonomy names.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_lineage_tax_ids": { "description": "Dash-delimited ordered list of NCBI taxonomy identifiers (TaxId)", "pattern": "^\\d+(-\\d+)*$", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4522,28 +7535,43 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "extraction_targets": { "description": "Provides the target biomolecule that has been separated from a sample during an extraction process.", "items": { "$ref": "#/$defs/ExtractionTargetEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4575,7 +7603,14 @@ "type": "string" }, "input_mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "Total mass of sample used in activity." }, "instrument_used": { @@ -4583,22 +7618,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -4606,14 +7657,20 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substances that are combined to enable a ChemicalConversionProcess.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -4623,7 +7680,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the solvent/solute being used, not the input." } }, @@ -4752,26 +7816,52 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "cur_vegetation": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Vegetation classification from one or more standard classification systems, or agricultural crop" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "elev": { "description": "Elevation of the sampling site is its height above a fixed reference point, most commonly the mean sea level. Elevation is mainly used when referring to points on the earth's surface, while altitude is used for points above the surface, such as an aircraft in flight or a spacecraft in orbit.", - "type": "number" + "type": [ + "number", + "null" + ] }, "geo_loc_name": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)" }, "habitat": { - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -4779,16 +7869,33 @@ "type": "string" }, "lat_lon": { - "$ref": "#/$defs/GeolocationValue", + "anyOf": [ + { + "$ref": "#/$defs/GeolocationValue" + }, + { + "type": "null" + } + ], "description": "The geographical origin of the sample as defined by latitude and longitude. The values should be reported in decimal degrees and in WGS84 system" }, "local_class": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Soil classification based on local soil classification system" }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "part_of": { "description": "Links a resource to another resource that either logically or physically includes it.", @@ -4796,10 +7903,20 @@ "pattern": "^(nmdc):frsite-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "soil_type": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of the soil type or classification. This field accepts terms under soil (http://purl.obolibrary.org/obo/ENVO_00001998). Multiple terms can be separated by pipes." }, "type": { @@ -4931,44 +8048,79 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conditionings": { "description": "Preliminary treatment of either phase with a suitable solution of the other phase (in the absence of main extractable solute(s)) so that when the subsequent equilibration is carried out changes in the (volume) phase ratio or in the concentrations of other components are minimized.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "container_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the container an analyte is stored in or an activity takes place in" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_material": { "description": "A porous material on which solid particles present in air or other fluid which flows through it are largely caught and retained.", - "type": "string" + "type": [ + "string", + "null" + ] }, "filter_pore_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A quantitative or qualitative measurement of the physical dimensions of the pores in a material." }, "filtration_category": { "description": "The type of conditioning applied to a filter, device, etc.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -4984,7 +8136,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -4992,7 +8147,10 @@ "pattern": "^(nmdc):procsm-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -5004,26 +8162,45 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_pressurized": { "description": "Whether or not pressure was applied to a thing or process.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -5035,7 +8212,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5045,7 +8225,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of sample filtered." } }, @@ -5141,15 +8328,28 @@ "description": "An assignment of a function term (e.g. reaction or pathway) that is executed by a gene product, or which the gene product plays an active role in. Functional annotations can be assigned manually by curators, or automatically in workflows. In the context of NMDC, all function annotation is performed automatically, typically using HMM or Blast type methods", "properties": { "feature_category": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "A Sequence Ontology term that describes the category of a feature" }, "has_function": { "pattern": "^(KEGG_PATHWAY:\\w{2,4}\\d{5}|KEGG.REACTION:R\\d+|RHEA:\\d{5}|MetaCyc:[A-Za-z0-9+_.%-:]+|EC:\\d{1,2}(\\.\\d{0,3}){0,3}|GO:\\d{7}|MetaNetX:(MNXR\\d+|EMPTY)|SEED:\\w+|KEGG\\.ORTHOLOGY:K\\d+|EGGNOG:\\w+|PFAM:PF\\d{5}|TIGRFAM:TIGR\\d+|SUPFAM:\\w+|CATH:[1-6]\\.[0-9]+\\.[0-9]+\\.[0-9]+|PANTHER.FAMILY:PTHR\\d{5}(\\:SF\\d{1,3})?)$", - "type": "string" + "type": [ + "string", + "null" + ] }, "subject": { - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5159,6 +8359,17 @@ "type": "string" }, "was_generated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "provenance for the annotation.", "pattern": "^(nmdc):(wfmgan)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})(\\.[0-9]{1,})$", "type": "string" @@ -5182,6 +8393,14 @@ "type": "string" }, "metagenome_annotation_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "description": "The identifier for the analysis activity that generated the functional annotation results, where the analysis activity is an instance of the/an appropriate subclass of WorkflowExecution", "pattern": "^(nmdc):(wfmgan|wfmtan)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})(\\.[0-9]{1,})$", "type": "string" @@ -5236,11 +8455,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -5249,7 +8474,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5272,7 +8500,10 @@ "properties": { "encodes": { "description": "The gene product encoded by this feature. Typically this is used for a CDS feature or gene feature which will encode a protein. It can also be used by a nc transcript ot gene feature that encoded a ncRNA", - "type": "string" + "type": [ + "string", + "null" + ] }, "end": { "description": "The end of the feature in positive 1-based integer coordinates", @@ -5280,18 +8511,31 @@ "type": "integer" }, "feature_category": { - "$ref": "#/$defs/ControlledIdentifiedTermValue", + "anyOf": [ + { + "$ref": "#/$defs/ControlledIdentifiedTermValue" + }, + { + "type": "null" + } + ], "description": "A Sequence Ontology term that describes the category of a feature" }, "feature_type": { "description": "TODO: Yuri to write", - "type": "string" + "type": [ + "string", + "null" + ] }, "phase": { "description": "The phase for a coding sequence entity. For example, phase of a CDS as represented in a GFF3 with a value of 0, 1 or 2.", "maximum": 2, "minimum": 0, - "type": "integer" + "type": [ + "integer", + "null" + ] }, "seqid": { "description": "The ID of the landmark used to establish the coordinate system for the current feature.", @@ -5304,7 +8548,10 @@ }, "strand": { "description": "The strand on which a feature is located. Has a value of '+' (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5329,7 +8576,10 @@ "properties": { "has_raw_value": { "description": "The raw value for a geolocation should follow {latitude} {longitude}", - "type": "string" + "type": [ + "string", + "null" + ] }, "latitude": { "description": "latitude", @@ -5470,15 +8720,24 @@ "properties": { "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "display_order": { "description": "When rendering information, this attribute to specify the order in which the information should be rendered.", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5488,7 +8747,10 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -5537,11 +8799,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -5553,7 +8821,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5679,25 +8950,45 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, @@ -5721,35 +9012,71 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_stranded": { "description": "Is the (RNA) library stranded or non-stranded (unstranded).", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "library_preparation_kit": { - "type": "string" + "type": [ + "string", + "null" + ] }, "library_type": { "$ref": "#/$defs/LibraryTypeEnum" }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "nucl_acid_amp": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "A link to a literature reference, electronic resource or a standard operating procedure (SOP), that describes the enzymatic amplification (PCR, TMA, NASBA) of specific nucleic acids" }, "pcr_cond": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Description of reaction conditions and components of polymerase chain reaction performed during library preparation" }, "pcr_cycles": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "pcr_primers": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "PCR primers that were used to amplify the sequence of the targeted gene, locus or subfragment. This field should contain all the primers used for a single PCR reaction if multiple forward or reverse primers are present in a single PCR reaction. The primer sequence should be reported in uppercase letters" }, "processing_institution": { @@ -5757,11 +9084,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -5769,7 +9106,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "stranded_orientation": { "$ref": "#/$defs/StrandedOrientationEnum", @@ -5838,65 +9178,132 @@ "description": "", "properties": { "bin_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "bin_quality": { - "type": "string" + "type": [ + "string", + "null" + ] }, "completeness": { - "type": "number" + "type": [ + "number", + "null" + ] }, "contamination": { - "type": "number" + "type": [ + "number", + "null" + ] }, "eukaryotic_evaluation": { - "$ref": "#/$defs/EukEval", + "anyOf": [ + { + "$ref": "#/$defs/EukEval" + }, + { + "type": "null" + } + ], "description": "Contains results from evaluating if a Metagenome-Assembled Genome is of eukaryotic lineage." }, "gene_count": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "gtdbtk_class": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_domain": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_family": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_genus": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_order": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_phylum": { - "type": "string" + "type": [ + "string", + "null" + ] }, "gtdbtk_species": { - "type": "string" + "type": [ + "string", + "null" + ] }, "members_id": { - "type": "string" + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "num_16s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_23s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_5s": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "num_t_rna": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "number_of_contig": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "total_bases": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -5964,22 +9371,37 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "binned_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -5993,7 +9415,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6009,7 +9434,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6023,34 +9451,59 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "input_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "low_depth_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "mags_list": { "items": { "$ref": "#/$defs/MagBin" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6058,14 +9511,20 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", "type": "string" }, "too_short_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6075,10 +9534,16 @@ "type": "string" }, "unbinned_contig_num": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -6164,7 +9629,10 @@ "properties": { "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "alternative_identifiers": { "description": "A list of alternative identifiers for the entity.", @@ -6172,7 +9640,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "analyte_category": { "$ref": "#/$defs/AnalyteCategoryEnum", @@ -6188,7 +9659,10 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "eluent_introduction_category": { "$ref": "#/$defs/EluentIntroductionCategoryEnum", @@ -6196,9 +9670,23 @@ }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_calibration": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "a calibration instance associated with a process", "pattern": "^(nmdc):calib-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" @@ -6206,13 +9694,19 @@ "has_chromatography_configuration": { "description": "The identifier of the associated ChromatographyConfiguration, providing information about how a sample was introduced into the mass spectrometer.", "pattern": "^(nmdc):chrcon-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6233,7 +9727,10 @@ "has_mass_spectrometry_configuration": { "description": "The identifier of the associated MassSpectrometryConfiguration.", "pattern": "^(nmdc):mscon-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -6241,7 +9738,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6253,18 +9753,34 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "processing_institution": { @@ -6272,11 +9788,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6284,7 +9810,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6324,7 +9853,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", @@ -6344,7 +9876,10 @@ "items": { "$ref": "#/$defs/MassAnalyzerEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mass_spectrometry_acquisition_strategy": { "$ref": "#/$defs/MassSpectrometryAcquisitionStrategyEnum", @@ -6355,7 +9890,10 @@ "items": { "$ref": "#/$defs/MassSpectrumCollectionModeEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", @@ -6370,7 +9908,10 @@ "items": { "$ref": "#/$defs/ResolutionCategoryEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6425,14 +9966,23 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "highest_similarity_score": { - "type": "number" + "type": [ + "number", + "null" + ] }, "metabolite_identified": { "description": "the specific metabolite identifier", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -6500,19 +10050,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6529,6 +10091,9 @@ }, { "type": "string" + }, + { + "type": "null" } ], "description": "a calibration instance associated with a process", @@ -6538,7 +10103,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6552,7 +10120,10 @@ "items": { "$ref": "#/$defs/MetaboliteIdentification" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -6560,7 +10131,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6569,18 +10143,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6588,7 +10175,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -6602,7 +10192,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgms)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -6673,19 +10266,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6701,13 +10306,19 @@ "pattern": "^gold:Ga[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6723,7 +10334,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6737,22 +10351,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6760,7 +10390,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -6774,7 +10407,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -6845,59 +10481,101 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "asm_score": { "description": "A score for comparing metagenomic assembly quality from same sample.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contig_bp": { "description": "Total size in bp of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contigs": { "description": "The sum of the (length*log(length)) of all contigs, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l50": { "description": "Given a set of contigs, the L50 is defined as the sequence length of the shortest contig at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all contigs of that length or longer contains at least 90% of the sum of the lengths of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_logsum": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_max": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n50": { "description": "Given a set of contigs, each with its own length, the N50 count is defined as the smallest number_of_contigs whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n90": { "description": "Given a set of contigs, each with its own length, the N90 count is defined as the smallest number of contigs whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_powsum": { "description": "Powersum of all contigs is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -6905,15 +10583,24 @@ }, "gap_pct": { "description": "The gap size percentage of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_avg": { "description": "Average of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_std": { "description": "Standard deviation of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "git_url": { "description": "The url that points to the exact github location of a workflow.", @@ -6923,7 +10610,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -6939,7 +10629,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -6948,30 +10641,52 @@ }, "insdc_assembly_identifiers": { "pattern": "^insdc.sra:[A-Z]+[0-9]+(\\.[0-9]+)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "num_aligned_reads": { "description": "The sequence count number of input reads aligned to assembled contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "num_input_reads": { "description": "The sequence count number of input reads for assembly.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -6979,55 +10694,94 @@ }, "scaf_bp": { "description": "Total size in bp of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l50": { "description": "Given a set of scaffolds, the L50 is defined as the sequence length of the shortest scaffold at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all scaffolds of that length or longer contains at least 90% of the sum of the lengths of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l_gt50k": { "description": "Total size in bp of all scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_logsum": { "description": "The sum of the (length*log(length)) of all scaffolds, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_max": { "description": "Maximum scaffold length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n50": { "description": "Given a set of scaffolds, each with its own length, the N50 count is defined as the smallest number of scaffolds whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n90": { "description": "Given a set of scaffolds, each with its own length, the N90 count is defined as the smallest number of scaffolds whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n_gt50k": { "description": "Total sequence count of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_pct_gt50k": { "description": "Total sequence size percentage of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_powsum": { "description": "Powersum of all scaffolds is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaffolds": { "description": "Total sequence count of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7041,7 +10795,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7112,19 +10869,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7138,7 +10907,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7154,7 +10926,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7163,18 +10938,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7182,7 +10970,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7196,7 +10987,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7267,19 +11061,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7293,7 +11099,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7309,13 +11118,19 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_peptide_quantifications": { "items": { "$ref": "#/$defs/PeptideQuantification" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7324,18 +11139,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7343,7 +11171,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7357,7 +11188,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgms)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7428,19 +11262,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7456,13 +11302,19 @@ "pattern": "^gold:Ga[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7478,7 +11330,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7492,22 +11347,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7515,7 +11386,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7529,7 +11403,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7600,59 +11477,101 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "asm_score": { "description": "A score for comparing metagenomic assembly quality from same sample.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contig_bp": { "description": "Total size in bp of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "contigs": { "description": "The sum of the (length*log(length)) of all contigs, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l50": { "description": "Given a set of contigs, the L50 is defined as the sequence length of the shortest contig at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all contigs of that length or longer contains at least 90% of the sum of the lengths of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_logsum": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_max": { "description": "Maximum contig length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n50": { "description": "Given a set of contigs, each with its own length, the N50 count is defined as the smallest number_of_contigs whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_n90": { "description": "Given a set of contigs, each with its own length, the N90 count is defined as the smallest number of contigs whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "ctg_powsum": { "description": "Powersum of all contigs is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7660,15 +11579,24 @@ }, "gap_pct": { "description": "The gap size percentage of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_avg": { "description": "Average of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "gc_std": { "description": "Standard deviation of GC content of all contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "git_url": { "description": "The url that points to the exact github location of a workflow.", @@ -7678,7 +11606,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7694,7 +11625,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7703,30 +11637,52 @@ }, "insdc_assembly_identifiers": { "pattern": "^insdc.sra:[A-Z]+[0-9]+(\\.[0-9]+)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "num_aligned_reads": { "description": "The sequence count number of input reads aligned to assembled contigs.", - "type": "number" + "type": [ + "number", + "null" + ] }, "num_input_reads": { "description": "The sequence count number of input reads for assembly.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7734,55 +11690,94 @@ }, "scaf_bp": { "description": "Total size in bp of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l50": { "description": "Given a set of scaffolds, the L50 is defined as the sequence length of the shortest scaffold at 50% of the total genome length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l90": { "description": "The L90 statistic is less than or equal to the L50 statistic; it is the length for which the collection of all scaffolds of that length or longer contains at least 90% of the sum of the lengths of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_l_gt50k": { "description": "Total size in bp of all scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_logsum": { "description": "The sum of the (length*log(length)) of all scaffolds, times some constant. Increase the contiguity, the score will increase", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_max": { "description": "Maximum scaffold length.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n50": { "description": "Given a set of scaffolds, each with its own length, the N50 count is defined as the smallest number of scaffolds whose length sum makes up half of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n90": { "description": "Given a set of scaffolds, each with its own length, the N90 count is defined as the smallest number of scaffolds whose length sum makes up 90% of genome size.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_n_gt50k": { "description": "Total sequence count of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_pct_gt50k": { "description": "Total sequence size percentage of scaffolds greater than 50 KB.", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaf_powsum": { "description": "Powersum of all scaffolds is the same as logsum except that it uses the sum of (length*(length^P)) for some power P (default P=0.25).", - "type": "number" + "type": [ + "number", + "null" + ] }, "scaffolds": { "description": "Total sequence count of all scaffolds.", - "type": "number" + "type": [ + "number", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7796,7 +11791,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7867,19 +11865,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -7893,7 +11903,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -7909,7 +11922,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -7923,22 +11939,38 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -7946,7 +11978,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -7960,7 +11995,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -7989,25 +12027,44 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -8023,7 +12080,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "The mixed sample.", @@ -8031,7 +12091,10 @@ "pattern": "^(nmdc):procsm-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8043,22 +12106,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8066,7 +12145,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8088,7 +12170,14 @@ "description": "A fluid mixture of substances that flow though a chromatographic stationary phase.", "properties": { "duration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The elapsed time of an activity." }, "substances_used": { @@ -8096,7 +12185,10 @@ "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8106,7 +12198,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of a substance." } }, @@ -8168,19 +12267,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -8197,6 +12308,9 @@ }, { "type": "string" + }, + { + "type": "null" } ], "description": "a calibration instance associated with a process", @@ -8206,7 +12320,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -8222,7 +12339,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8231,18 +12351,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8250,7 +12383,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -8264,7 +12400,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgms)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -8289,7 +12428,10 @@ "properties": { "add_date": { "description": "The date on which the information was added to the database.", - "type": "string" + "type": [ + "string", + "null" + ] }, "alternative_identifiers": { "description": "A list of alternative identifiers for the entity.", @@ -8297,7 +12439,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "analyte_category": { "$ref": "#/$defs/AnalyteCategoryEnum", @@ -8313,11 +12458,17 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "gold_sequencing_project_identifiers": { "description": "identifiers for corresponding sequencing project in GOLD", @@ -8325,13 +12476,19 @@ "pattern": "^gold:Gp[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -8355,7 +12512,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8368,35 +12528,60 @@ "pattern": "^bioproject:PRJ[DEN][A-Z][0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "insdc_experiment_identifiers": { "items": { "pattern": "^insdc.sra:(E|D|S)RX[0-9]{6,}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_used": { "description": "What instrument was used during DataGeneration or MaterialProcessing.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mod_date": { "description": "The last date on which the database information was modified.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "ncbi_project_name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "processing_institution": { @@ -8404,11 +12589,21 @@ "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8416,14 +12611,31 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "target_gene": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Targeted gene or locus name for marker gene studies" }, "target_subfragment": { - "$ref": "#/$defs/TextValue", + "anyOf": [ + { + "$ref": "#/$defs/TextValue" + }, + { + "type": "null" + } + ], "description": "Name of subfragment of a gene or locus. Important to e.g. identify special regions on marker genes like V6 on 16S rRNA" }, "type": { @@ -8465,11 +12677,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8478,7 +12696,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8515,11 +12736,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8528,7 +12755,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8565,11 +12795,17 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8578,7 +12814,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8604,26 +12843,44 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "best_protein": { "description": "the specific protein identifier most correctly associated with the peptide sequence", - "type": "string" + "type": [ + "string", + "null" + ] }, "min_q_value": { "description": "smallest Q-Value associated with the peptide sequence as provided by MSGFPlus tool", - "type": "number" + "type": [ + "number", + "null" + ] }, "peptide_sequence": { - "type": "string" + "type": [ + "string", + "null" + ] }, "peptide_spectral_count": { "description": "sum of filter passing MS2 spectra associated with the peptide sequence within a given LC-MS/MS data file", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "peptide_sum_masic_abundance": { "description": "combined MS1 extracted ion chromatograms derived from MS2 spectra associated with the peptide sequence from a given LC-MS/MS data file using the MASIC tool", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8645,23 +12902,38 @@ "properties": { "email": { "description": "An email address for an entity such as a person. This should be the primary email address used.", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_raw_value": { "description": "The full name of the Investigator in format FIRST LAST.", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "The full name of the Investigator. It should follow the format FIRST [MIDDLE NAME| MIDDLE INITIAL] LAST, where MIDDLE NAME| MIDDLE INITIAL is optional.", - "type": "string" + "type": [ + "string", + "null" + ] }, "orcid": { "description": "The ORCID of a person.", - "type": "string" + "type": [ + "string", + "null" + ] }, "profile_image_url": { "description": "A url that points to an image of a person.", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8676,7 +12948,10 @@ "pattern": "^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/(?!.*[Dd][Oo][Ii]\\.[Oo][Rr][Gg]).*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "required": [ @@ -8756,25 +13031,45 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string" + } + ], "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, @@ -8801,22 +13096,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -8824,7 +13135,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8848,14 +13162,31 @@ "description": "A portion of any matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical.", "properties": { "final_concentration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "When solutions A (containing substance X) and B are combined together, this slot captures the concentration of X in the combination" }, "known_as": { - "type": "string" + "type": [ + "string", + "null" + ] }, "mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "A physical quality that inheres in a bearer by virtue of the proportion of the bearer's amount of matter." }, "sample_state_information": { @@ -8863,7 +13194,14 @@ "description": "The chemical phase of a pure sample, or the state of a mixed sample" }, "source_concentration": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "When solutions A (containing substance X) and B are combined together, this slot captures the concentration of X in solution A" }, "substance_role": { @@ -8878,7 +13216,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of a substance." } }, @@ -8898,23 +13243,42 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "biomaterial_purity": { - "$ref": "#/$defs/QuantityValue" + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "dna_absorb1": { "description": "260/280 measurement of DNA sample purity", - "type": "number" + "type": [ + "number", + "null" + ] }, "dna_concentration": { "maximum": 2000, "minimum": 0, - "type": "number" + "type": [ + "number", + "null" + ] }, "external_database_identifiers": { "description": "Link to corresponding identifier in external database", @@ -8922,7 +13286,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -8931,7 +13298,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -8982,23 +13352,38 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "best_protein": { "description": "the specific protein identifier most correctly grouped to its associated peptide sequences", - "type": "string" + "type": [ + "string", + "null" + ] }, "peptide_sequence_count": { "description": "count of peptide sequences grouped to the best_protein", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "protein_spectral_count": { "description": "sum of filter passing MS2 spectra associated with the best protein within a given LC-MS/MS data file", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "protein_sum_masic_abundance": { "description": "combined MS1 extracted ion chromatograms derived from MS2 spectra associated with the best protein from a given LC-MS/MS data file using the MASIC tool", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9020,7 +13405,10 @@ "properties": { "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9030,7 +13418,10 @@ "type": "string" }, "url": { - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -9067,21 +13458,33 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -9089,7 +13492,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -9097,7 +13503,10 @@ "pattern": "^(nmdc):(procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_process_parts": { "description": "The MaterialProcessing steps that are discrete parts of the ProtocolExecution.", @@ -9114,7 +13523,10 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", @@ -9124,11 +13536,21 @@ "$ref": "#/$defs/ProtocolCategoryEnum" }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9136,7 +13558,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9172,23 +13597,38 @@ "properties": { "has_maximum_numeric_value": { "description": "The maximum value part, expressed as number, of the quantity value when the value covers a range.", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_minimum_numeric_value": { "description": "The minimum value part, expressed as number, of the quantity value when the value covers a range.", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_numeric_value": { "description": "The number part of the quantity", - "type": "number" + "type": [ + "number", + "null" + ] }, "has_raw_value": { "description": "Unnormalized atomic string representation, should in syntax {number} {unit}", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_unit": { "description": "The unit of the quantity", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -9275,19 +13715,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -9301,7 +13753,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -9317,7 +13772,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -9326,18 +13784,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9345,7 +13816,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -9359,7 +13833,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -9430,19 +13907,31 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "ended_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", - "type": "string" + "type": [ + "string", + "null" + ] }, "execution_resource": { "$ref": "#/$defs/ExecutionResourceEnum", @@ -9456,7 +13945,10 @@ "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -9472,7 +13964,10 @@ "pattern": "^(nmdc):(dobj)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -9481,42 +13976,73 @@ }, "input_base_count": { "description": "The nucleotide base count number of input reads for QC analysis.", - "type": "number" + "type": [ + "number", + "null" + ] }, "input_read_bases": { "description": "TODO ", - "type": "number" + "type": [ + "number", + "null" + ] }, "input_read_count": { "description": "The sequence count number of input reads for QC analysis.", - "type": "number" + "type": [ + "number", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "output_base_count": { "description": "After QC analysis nucleotide base count number.", - "type": "number" + "type": [ + "number", + "null" + ] }, "output_read_bases": { "description": "TODO", - "type": "number" + "type": [ + "number", + "null" + ] }, "output_read_count": { "description": "After QC analysis sequence count number.", - "type": "number" + "type": [ + "number", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -9524,7 +14050,10 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "started_at_time": { "pattern": "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$", @@ -9538,7 +14067,10 @@ "type": "string" }, "version": { - "type": "string" + "type": [ + "string", + "null" + ] }, "was_informed_by": { "pattern": "^(nmdc):(omprc|dgns)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", @@ -9990,7 +14522,10 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contained_in": { "$ref": "#/$defs/ContainerCategoryEnum", @@ -9998,17 +14533,26 @@ }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -10016,7 +14560,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "An output from a process.", @@ -10024,7 +14571,10 @@ "pattern": "^(nmdc):procsm-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -10033,18 +14583,31 @@ }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -10052,17 +14615,30 @@ }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "substances_used": { "description": "The substance(s) that a processed sample is stored in.", "items": { "$ref": "#/$defs/PortionOfSubstance" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -10098,7 +14674,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_identifiers": { "description": "Unique identifier for a study submitted to additional resources. Matches that which has been submitted to NMDC", @@ -10106,48 +14685,75 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_names": { "description": "A list of alternative names used to refer to the entity. The distinction between name and alternative names is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alternative_titles": { "description": "A list of alternative titles for the entity. The distinction between title and alternative titles is application-specific.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "associated_dois": { "description": "A list of DOIs associated with a resource, such as a list of DOIS associated with a Study.", "items": { "$ref": "#/$defs/Doi" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "description": { "description": "A brief, link-free summary of a Study", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem": { "description": "An ecosystem is a combination of a physical environment (abiotic factors) and all the organisms (biotic factors) that interact with this environment. Ecosystem is in position 1/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_category": { "description": "Ecosystem categories represent divisions within the ecosystem based on specific characteristics of the environment from where an organism or sample is isolated. Ecosystem category is in position 2/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_subtype": { "description": "Ecosystem subtypes represent further subdivision of Ecosystem types into more distinct subtypes. Ecosystem subtype is in position 4/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "ecosystem_type": { "description": "Ecosystem types represent things having common characteristics within the Ecosystem Category. These common characteristics based grouping is still broad but specific to the characteristics of a given environment. Ecosystem type is in position 3/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "emsl_project_identifiers": { "description": "Identifiers that link a NMDC study to the EMSL user facility website hosting the project description of an EMSL user project", @@ -10155,14 +14761,20 @@ "pattern": "^emsl\\.project:[0-9]{5}$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "funding_sources": { "description": "A list of organizations, along with the award numbers, that underwrite financial support for projects of a particular type. Typically, they process applications and award funds to the chosen qualified applicants.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gnps_task_identifiers": { "description": "identifiers that link a NMDC study to a web-based report about metabolomics analysis progress and results", @@ -10170,7 +14782,10 @@ "pattern": "^gnps\\.task:[a-f0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "gold_study_identifiers": { "description": "identifiers for corresponding project(s) in GOLD", @@ -10178,14 +14793,20 @@ "pattern": "^gold:Gs[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_credit_associations": { "description": "This slot links a study to a credit association. The credit association will be linked to a person value and to a CRediT Contributor Roles term. Overall semantics: person should get credit X for their participation in the study", "items": { "$ref": "#/$defs/CreditAssociation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "homepage_website": { "description": "The website address (URL) of an entity's homepage.", @@ -10194,7 +14815,10 @@ "type": "string" }, "maxItems": 1, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -10207,7 +14831,10 @@ "pattern": "^bioproject:PRJ[DEN][A-Z][0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "jgi_portal_study_identifiers": { "description": "Identifiers that link a NMDC study to a website hosting raw and analyzed data for a JGI proposal. The suffix of the curie can used to query the GOLD API and is interoperable with an award DOI from OSTI and a GOLD study identifier.", @@ -10215,7 +14842,10 @@ "pattern": "^jgi.proposal:\\d+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mgnify_project_identifiers": { "description": "identifiers for corresponding project in MGnify", @@ -10223,25 +14853,40 @@ "pattern": "^mgnify.proj:[A-Z]+[0-9]+$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "neon_study_identifiers": { "items": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { - "type": "string" + "type": [ + "string", + "null" + ] }, "objective": { "description": "The scientific objectives associated with the entity. It SHOULD correspond to scientific norms for objectives field in a structured abstract.", - "type": "string" + "type": [ + "string", + "null" + ] }, "part_of": { "description": "Links a study or consortium to a parent (or umbrella) study or consortium.", @@ -10249,25 +14894,44 @@ "pattern": "^(nmdc):sty-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "principal_investigator": { - "$ref": "#/$defs/PersonValue", + "anyOf": [ + { + "$ref": "#/$defs/PersonValue" + }, + { + "type": "null" + } + ], "description": "Principal Investigator who led the study and/or generated the dataset." }, "protocol_link": { "items": { "$ref": "#/$defs/Protocol" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "related_identifiers": { "description": "Unique identifier for a study submitted to additional resources. Similar, but not necessarily identical to that which has been submitted to NMDC", - "type": "string" + "type": [ + "string", + "null" + ] }, "specific_ecosystem": { "description": "Specific ecosystems represent specific features of the environment like aphotic zone in an ocean or gastric mucosa within a host digestive system. Specific ecosystem is in position 5/5 in a GOLD path.", - "type": "string" + "type": [ + "string", + "null" + ] }, "study_category": { "$ref": "#/$defs/StudyCategoryEnum", @@ -10278,11 +14942,17 @@ "items": { "$ref": "#/$defs/ImageValue" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "title": { "description": "A name given to the entity that differs from the name/label programmatically assigned to it. For example, when extracting study information for GOLD, the GOLD system has assigned a name/label. However, for display purposes, we may also wish the capture the title of the proposal that was used to fund the study.", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10297,7 +14967,10 @@ "pattern": "^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/(?!.*[Dd][Oo][Ii]\\.[Oo][Rr][Gg]).*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "required": [ @@ -10327,29 +15000,48 @@ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\\-\\/\\.,]*$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contained_in": { "$ref": "#/$defs/ContainerCategoryEnum", "description": "A type of container." }, "container_size": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The volume of the container an analyte is stored in or an activity takes place in" }, "description": { "description": "a human-readable description of a thing", - "type": "string" + "type": [ + "string", + "null" + ] }, "end_date": { "description": "The date on which any process or activity was ended", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_failure_categorization": { "items": { "$ref": "#/$defs/FailureCategorization" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_input": { "description": "An input to a process.", @@ -10365,7 +15057,10 @@ "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_output": { "description": "The subsample.", @@ -10373,7 +15068,10 @@ "pattern": "^(nmdc):(procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "id": { "description": "A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI", @@ -10385,26 +15083,49 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "mass": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The output mass of the SubSampling Process." }, "name": { "description": "A human readable label for an entity", - "type": "string" + "type": [ + "string", + "null" + ] }, "processing_institution": { "$ref": "#/$defs/ProcessingInstitutionEnum", "description": "The organization that processed the sample." }, "protocol_link": { - "$ref": "#/$defs/Protocol" + "anyOf": [ + { + "$ref": "#/$defs/Protocol" + }, + { + "type": "null" + } + ] }, "qc_comment": { "description": "Slot to store additional comments about laboratory or workflow output. For workflow output it may describe the particular workflow stage that failed. (ie Failed at call-stage due to a malformed fastq file).", - "type": "string" + "type": [ + "string", + "null" + ] }, "qc_status": { "$ref": "#/$defs/StatusEnum", @@ -10415,14 +15136,27 @@ "items": { "$ref": "#/$defs/SamplePortionEnum" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "start_date": { "description": "The date on which any process or activity was started", - "type": "string" + "type": [ + "string", + "null" + ] }, "temperature": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The value of a temperature measurement or temperature used in a process." }, "type": { @@ -10433,7 +15167,14 @@ "type": "string" }, "volume": { - "$ref": "#/$defs/QuantityValue", + "anyOf": [ + { + "$ref": "#/$defs/QuantityValue" + }, + { + "type": "null" + } + ], "description": "The output volume of the SubSampling Process." } }, @@ -10512,11 +15253,17 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "language": { "description": "Should use ISO 639-1 code e.g. \"en\", \"fr\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10565,7 +15312,10 @@ "properties": { "has_raw_value": { "description": "The value that was specified for an annotation in raw form, i.e. a string. E.g. \"2 cm\" or \"2-4 cm\"", - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { "description": "the class_uri of the class that has been instantiated", @@ -10827,27 +15577,39 @@ "items": { "$ref": "#/$defs/Biosample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "calibration_set": { "description": "This property links a database object to the set of calibrations within it.", "items": { "$ref": "#/$defs/CalibrationInformation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "chemical_entity_set": { "description": "This property links a database object to the set of chemical entities within it.", "items": { "$ref": "#/$defs/ChemicalEntity" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "collecting_biosamples_from_site_set": { "items": { "$ref": "#/$defs/CollectingBiosamplesFromSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "configuration_set": { "description": "This property links a database object to the set of configurations within it.", @@ -10861,7 +15623,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_generation_set": { "description": "This property links a database object to the set of data generations within it.", @@ -10875,47 +15640,68 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "data_object_set": { "description": "This property links a database object to the set of data objects within it.", "items": { "$ref": "#/$defs/DataObject" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "field_research_site_set": { "items": { "$ref": "#/$defs/FieldResearchSite" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_agg": { "items": { "$ref": "#/$defs/FunctionalAnnotationAggMember" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "functional_annotation_set": { "description": "This property links a database object to the set of all functional annotations", "items": { "$ref": "#/$defs/FunctionalAnnotation" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "genome_feature_set": { "description": "This property links a database object to the set of all features", "items": { "$ref": "#/$defs/GenomeFeature" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instrument_set": { "description": "This property links a database object to the set of instruments within it.", "items": { "$ref": "#/$defs/Instrument" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "material_processing_set": { "description": "This property links a database object to the set of material processing within it.", @@ -10950,35 +15736,50 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] }, "processed_sample_set": { "description": "This property links a database object to the set of processed samples within it.", "items": { "$ref": "#/$defs/ProcessedSample" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "protocol_execution_set": { "description": "This property links a database object to the set of protocol executions within it.", "items": { "$ref": "#/$defs/ProtocolExecution" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "storage_process_set": { "description": "This property links a database object to the set of storage processes within it.", "items": { "$ref": "#/$defs/StorageProcess" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "study_set": { "description": "This property links a database object to the set of studies within it.", "items": { "$ref": "#/$defs/Study" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "workflow_execution_set": { "description": "This property links a database object to the set of workflow executions.", @@ -11022,7 +15823,10 @@ } ] }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "NMDC", diff --git a/nmdc_schema/nmdc_materialized_patterns.yaml b/nmdc_schema/nmdc_materialized_patterns.yaml index b5fb7c5853..1b672cceec 100644 --- a/nmdc_schema/nmdc_materialized_patterns.yaml +++ b/nmdc_schema/nmdc_materialized_patterns.yaml @@ -5214,6 +5214,7 @@ slots: - this slot needs some basic textual annotations and constraints from_schema: https://w3id.org/nmdc/nmdc range: string + multivalued: true bin_name: name: bin_name from_schema: https://w3id.org/nmdc/nmdc diff --git a/src/data/invalid/DissolvingProcess-minimal-no-solvent.yaml b/src/data/invalid/DissolvingProcess-minimal-no-solvent.yaml index 483ce19123..47b97acd87 100644 --- a/src/data/invalid/DissolvingProcess-minimal-no-solvent.yaml +++ b/src/data/invalid/DissolvingProcess-minimal-no-solvent.yaml @@ -5,6 +5,7 @@ has_input: has_output: - nmdc:procsm-13-S67F substances_used: + - eenie meenie miney moe # backporting from bmeluch 991d779904e1a91fd6ef5f75b4b685d1035e2f6c duration: type: nmdc:QuantityValue has_numeric_value: 2