diff --git a/src/allotropy/allotrope/models/adm/chromatography/rec/_2024/_03/chromatography_detectors.py b/src/allotropy/allotrope/models/adm/chromatography/rec/_2024/_03/chromatography_detectors.py new file mode 100644 index 000000000..701b1cb1a --- /dev/null +++ b/src/allotropy/allotrope/models/adm/chromatography/rec/_2024/_03/chromatography_detectors.py @@ -0,0 +1,148 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import ( + OrderedItem, + TQuantityValue, +) +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueCounts, + TQuantityValueCountsTimesSecond, + TQuantityValueMilliDegreeAngle, + TQuantityValueMillivolt, + TQuantityValueMillivoltTimesSecond, + TQuantityValueNanoCoulomb, + TQuantityValueNanoCoulombTimesSecond, + TQuantityValueNanometer, + TQuantityValuePicoAmpere, + TQuantityValuePicoAmpereTimesSecond, + TQuantityValueRelativeFluorescenceUnit, +) + + +@dataclass(frozen=True, kw_only=True) +class ChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemCounts(OrderedItem): + peak_height: TQuantityValueCounts | None = None + peak_area: TQuantityValueCountsTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemMillidegrees(OrderedItem): + peak_height: TQuantityValueMilliDegreeAngle | None = None + peak_area: TQuantityValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemMillivolts(OrderedItem): + peak_height: TQuantityValueMillivolt | None = None + peak_area: TQuantityValueMillivoltTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemNanocoulombs(OrderedItem): + peak_height: TQuantityValueNanoCoulomb | None = None + peak_area: TQuantityValueNanoCoulombTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemPicoamperes(OrderedItem): + peak_height: TQuantityValuePicoAmpere | None = None + peak_area: TQuantityValuePicoAmpereTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItemRfu(OrderedItem): + peak_height: TQuantityValueRelativeFluorescenceUnit | None = None + peak_area: TQuantityValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +PeakItem = ( + PeakItemCounts + | PeakItemMillidegrees + | PeakItemMillivolts + | PeakItemNanocoulombs + | PeakItemPicoamperes + | PeakItemRfu +) + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocumentItem: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataAggregateDocument: + processed_data_document: list[ProcessedDataDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class Counts: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class Millidegrees: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class Millivolts: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class Nanocoulombs: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class Picoamperes: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class Rfu: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None diff --git a/src/allotropy/allotrope/models/adm/conductivity/rec/_2024/_03/conductivity_cube_detection.py b/src/allotropy/allotrope/models/adm/conductivity/rec/_2024/_03/conductivity_cube_detection.py new file mode 100644 index 000000000..c2dc11c82 --- /dev/null +++ b/src/allotropy/allotrope/models/adm/conductivity/rec/_2024/_03/conductivity_cube_detection.py @@ -0,0 +1,57 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import OrderedItem +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueNanometer, + TQuantityValueSiemensPerMeter, + TQuantityValueSiemensPerMeterTimesSecond, +) + + +@dataclass(frozen=True, kw_only=True) +class ChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakItem(OrderedItem): + peak_height: TQuantityValueSiemensPerMeter | None = None + peak_area: TQuantityValueSiemensPerMeterTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocument: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class MeasurementDocumentItems: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_document: ProcessedDataDocument | None = None diff --git a/src/allotropy/allotrope/models/adm/liquid_chromatography/rec/_2024/_03/liquid_chromatography.tabular.py b/src/allotropy/allotrope/models/adm/liquid_chromatography/rec/_2024/_03/liquid_chromatography.tabular.py new file mode 100644 index 000000000..c3523cc3b --- /dev/null +++ b/src/allotropy/allotrope/models/adm/liquid_chromatography/rec/_2024/_03/liquid_chromatography.tabular.py @@ -0,0 +1,386 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field +from enum import Enum +from typing import Any + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import ( + OrderedItem, + TDateTimeStampValue, + TDateTimeValue, + TQuantityValue, + TStringValue, +) +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.adm.core.rec._2024._03.hierarchy import ( + CalculatedDataAggregateDocument, + DataSourceAggregateDocument, + ErrorAggregateDocument, + ImageAggregateDocument, + StatisticsAggregateDocument, + TechniqueAggregateDocument, + TechniqueDocument, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueCentimeter, + TQuantityValueCounts, + TQuantityValueCountsTimesSecond, + TQuantityValueCubicMillimeter, + TQuantityValueHertz, + TQuantityValueMicrometer, + TQuantityValueMilliAbsorbanceUnit, + TQuantityValueMilliAbsorbanceUnitTimesMilliliter, + TQuantityValueMilliAbsorbanceUnitTimesSecond, + TQuantityValueMilliliter, + TQuantityValueMillimeter, + TQuantityValueMillivolt, + TQuantityValueMillivoltTimesSecond, + TQuantityValueNanoCoulomb, + TQuantityValueNanoCoulombTimesSecond, + TQuantityValueNanometer, + TQuantityValuePercent, + TQuantityValuePicoAmpere, + TQuantityValuePicoAmpereTimesSecond, + TQuantityValueSecondTime, + TQuantityValueSiemensPerMeter, + TQuantityValueSiemensPerMeterTimesSecond, + TQuantityValueUnitless, +) + + +@dataclass(frozen=True, kw_only=True) +class ChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class ChromatographyColumnDocument: + chromatography_column_part_number: TStringValue | None = None + chromatography_column_serial_number: TStringValue | None = None + chromatography_column_length: TQuantityValueCentimeter | None = None + column_inner_diameter: TQuantityValueMillimeter | None = None + chromatography_column_chemistry_type: TStringValue | None = None + chromatography_column_particle_size: TQuantityValueMicrometer | None = None + product_manufacturer: TStringValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + device_identifier: TStringValue | None = None + device_type: TStringValue | None = None + detection_type: TStringValue | None = None + product_manufacturer: TStringValue | None = None + brand_name: TStringValue | None = None + equipment_serial_number: TStringValue | None = None + model_number: TStringValue | None = None + firmware_version: TStringValue | None = None + detector_offset_setting: TQuantityValue | None = None + detector_sampling_rate_setting: TQuantityValueHertz | None = None + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_wavelength_setting: TQuantityValueNanometer | None = None + electronic_absorbance_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_reference_bandwidth_setting: TQuantityValueNanometer | None = ( + None + ) + electronic_absorbance_reference_wavelength_setting: TQuantityValueNanometer | None = ( + None + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceDocumentItem(OrderedItem): + device_type: TStringValue + device_identifier: TStringValue | None = None + model_number: TStringValue | None = None + product_manufacturer: TStringValue | None = None + brand_name: TStringValue | None = None + equipment_serial_number: TStringValue | None = None + firmware_version: TStringValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class DiagnosticTraceDocumentItem: + description: Any + + +@dataclass(frozen=True, kw_only=True) +class InjectionDocument: + autosampler_injection_volume_setting__chromatography_: TQuantityValueCubicMillimeter = field( + metadata={"json_name": "autosampler injection volume setting (chromatography)"} + ) + injection_identifier: TStringValue + injection_time: TDateTimeValue + + +@dataclass(frozen=True, kw_only=True) +class MassChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class PeakItem(OrderedItem): + peak_end: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None + identifier: TStringValue | None = None + relative_peak_height: TQuantityValuePercent | None = None + written_name: TStringValue | None = None + peak_height: TQuantityValueCounts | TQuantityValueMilliAbsorbanceUnit | TQuantityValueMillivolt | TQuantityValueNanoCoulomb | TQuantityValuePicoAmpere | TQuantityValueSiemensPerMeter | None = ( + None + ) + capacity_factor__chromatography_: TQuantityValueUnitless | None = field( + default=None, metadata={"json_name": "capacity factor (chromatography)"} + ) + peak_area: TQuantityValueCountsTimesSecond | TQuantityValueMilliAbsorbanceUnitTimesMilliliter | TQuantityValueMilliAbsorbanceUnitTimesSecond | TQuantityValueMillivoltTimesSecond | TQuantityValueNanoCoulombTimesSecond | TQuantityValuePicoAmpereTimesSecond | TQuantityValueSiemensPerMeterTimesSecond | None = ( + None + ) + relative_peak_area: TQuantityValuePercent | None = None + retention_time: TQuantityValueSecondTime | None = None + retention_volume: TQuantityValueMilliliter | None = None + peak_start: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None + peak_selectivity__chromatography_: TQuantityValueUnitless | None = field( + default=None, metadata={"json_name": "peak selectivity (chromatography)"} + ) + chromatographic_peak_resolution: TQuantityValueUnitless | None = None + chromatographic_peak_resolution_using_baseline_peak_widths: TQuantityValueUnitless | None = ( + None + ) + chromatographic_peak_resolution_using_peak_width_at_half_height: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "chromatographic peak resolution using peak width at half-height" + }, + ) + chromatographic_peak_resolution_using_statistical_moments: TQuantityValueUnitless | None = ( + None + ) + number_of_theoretical_plates__chromatography_: TQuantityValueUnitless | None = ( + field( + default=None, + metadata={"json_name": "number of theoretical plates (chromatography)"}, + ) + ) + number_of_theoretical_plates_measured_at_60_7__of_peak_height: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "number of theoretical plates measured at 60.7 % of peak height" + }, + ) + number_of_theoretical_plates_measured_at_32_4__of_peak_height: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "number of theoretical plates measured at 32.4 % of peak height" + }, + ) + number_of_theoretical_plates_measured_at_13_4__of_peak_height: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "number of theoretical plates measured at 13.4 % of peak height" + }, + ) + number_of_theoretical_plates_measured_at_4_4__of_peak_height: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "number of theoretical plates measured at 4.4 % of peak height" + }, + ) + number_of_theoretical_plates_by_tangent_method: TQuantityValueUnitless | None = None + number_of_theoretical_plates_by_peak_width_at_half_height: TQuantityValueUnitless | None = ( + None + ) + number_of_theoretical_plates_by_peak_width_at_half_height__jp14_: TQuantityValueUnitless | None = field( + default=None, + metadata={ + "json_name": "number of theoretical plates by peak width at half height (JP14)" + }, + ) + peak_width_at_4_4__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 4.4 % of height"} + ) + peak_width_at_13_4__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 13.4 % of height"} + ) + peak_width_at_32_4__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 32.4 % of height"} + ) + peak_width_at_60_7__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 60.7 % of height"} + ) + peak_width_at_half_height: TQuantityValueSecondTime | None = None + peak_width_at_5__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 5 % of height"} + ) + peak_width_at_baseline: TQuantityValueSecondTime | None = None + peak_width_at_inflection: TQuantityValueSecondTime | None = None + peak_width_at_10__of_height: TQuantityValueSecondTime | None = field( + default=None, metadata={"json_name": "peak width at 10 % of height"} + ) + peak_width: TQuantityValueSecondTime | None = None + statistical_skew__chromatography_: TQuantityValueUnitless | None = field( + default=None, metadata={"json_name": "statistical skew (chromatography)"} + ) + asymmetry_factor_measured_at_5__height: TQuantityValueUnitless | None = field( + default=None, metadata={"json_name": "asymmetry factor measured at 5 % height"} + ) + asymmetry_factor_measured_at_10__height: TQuantityValueUnitless | None = field( + default=None, metadata={"json_name": "asymmetry factor measured at 10 % height"} + ) + asymmetry_factor_squared_measured_at_10__height: TQuantityValueUnitless | None = ( + field( + default=None, + metadata={"json_name": "asymmetry factor squared measured at 10 % height"}, + ) + ) + asymmetry_factor_squared_measured_at_4_4__height: TQuantityValueUnitless | None = ( + field( + default=None, + metadata={"json_name": "asymmetry factor squared measured at 4.4 % height"}, + ) + ) + asymmetry_factor_measured_at_4_4__height: TQuantityValueUnitless | None = field( + default=None, + metadata={"json_name": "asymmetry factor measured at 4.4 % height"}, + ) + asymmetry_factor_measured_at_baseline: TQuantityValueUnitless | None = None + chromatographic_peak_asymmetry_factor: TQuantityValueUnitless | None = None + + +class SampleRoleType(Enum): + control_sample_role = "control sample role" + standard_sample_role = "standard sample role" + validation_sample_role = "validation sample role" + experiment_sample_role = "experiment sample role" + sample_role = "sample role" + spiked_sample_role = "spiked sample role" + blank_role = "blank role" + unknown_sample_role = "unknown sample role" + calibration_sample_role = "calibration sample role" + unspiked_sample_role = "unspiked sample role" + specimen_role = "specimen role" + quality_control_sample_role = "quality control sample role" + reference_sample_role = "reference sample role" + + +@dataclass(frozen=True, kw_only=True) +class ThreeDimensionalUltravioletSpectrumDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class DeviceSystemDocument: + asset_management_identifier: TStringValue | None = None + description: Any | None = None + brand_name: TStringValue | None = None + product_manufacturer: TStringValue | None = None + device_identifier: TStringValue | None = None + model_number: TStringValue | None = None + equipment_serial_number: TStringValue | None = None + firmware_version: TStringValue | None = None + device_document: list[DeviceDocumentItem] | None = None + pump_model_number: TStringValue | None = None + detector_model_number: TStringValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class DiagnosticTraceAggregateDocument: + diagnostic_trace_document: list[DiagnosticTraceDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class SampleDocument: + sample_identifier: TStringValue + description: Any | None = None + batch_identifier: TStringValue | None = None + sample_role_type: SampleRoleType | None = None + written_name: TStringValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocument: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocumentItem(OrderedItem): + peak_list: PeakList | None = None + data_processing_document: dict[str, Any] | None = None + data_source_aggregate_document: DataSourceAggregateDocument | None = None + processed_data_identifier: TStringValue | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataAggregateDocument: + processed_data_document: list[ProcessedDataDocumentItem] + + +@dataclass(frozen=True, kw_only=True) +class MeasurementDocumentItem: + device_control_aggregate_document: DeviceControlAggregateDocument + sample_document: SampleDocument + chromatography_column_document: ChromatographyColumnDocument + measurement_time: TDateTimeStampValue | None = None + measurement_identifier: TStringValue | None = None + detection_type: TStringValue | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + calculated_data_aggregate_document: CalculatedDataAggregateDocument | None = None + statistics_aggregate_document: StatisticsAggregateDocument | None = None + image_aggregate_document: ImageAggregateDocument | None = None + error_aggregate_document: ErrorAggregateDocument | None = None + injection_document: InjectionDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_document: ProcessedDataDocument | None = None + three_dimensional_ultraviolet_spectrum_data_cube: ThreeDimensionalUltravioletSpectrumDataCube | None = field( + default=None, + metadata={"json_name": "three-dimensional ultraviolet spectrum data cube"}, + ) + mass_chromatogram_data_cube: MassChromatogramDataCube | None = None + + +@dataclass(frozen=True, kw_only=True) +class MeasurementAggregateDocument: + measurement_document: list[MeasurementDocumentItem] + diagnostic_trace_aggregate_document: DiagnosticTraceAggregateDocument | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None + calculated_data_aggregate_document: CalculatedDataAggregateDocument | None = None + statistics_aggregate_document: StatisticsAggregateDocument | None = None + image_aggregate_document: ImageAggregateDocument | None = None + error_aggregate_document: ErrorAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class LiquidChromatographyDocumentItem(TechniqueDocument): + measurement_aggregate_document: MeasurementAggregateDocument | None = None + + +@dataclass(frozen=True, kw_only=True) +class LiquidChromatographyAggregateDocument(TechniqueAggregateDocument): + liquid_chromatography_document: list[LiquidChromatographyDocumentItem] + device_system_document: DeviceSystemDocument | None = None + + +@dataclass(kw_only=True) +class Model: + field_asm_manifest: str = field(metadata={"json_name": "$asm.manifest"}) + liquid_chromatography_aggregate_document: LiquidChromatographyAggregateDocument | None = ( + None + ) diff --git a/src/allotropy/allotrope/models/adm/mass_spectrometry/rec/_2024/_03/mass_chromatogram_cube_detection.py b/src/allotropy/allotrope/models/adm/mass_spectrometry/rec/_2024/_03/mass_chromatogram_cube_detection.py new file mode 100644 index 000000000..2d4768752 --- /dev/null +++ b/src/allotropy/allotrope/models/adm/mass_spectrometry/rec/_2024/_03/mass_chromatogram_cube_detection.py @@ -0,0 +1,62 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import OrderedItem +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueCounts, + TQuantityValueCountsTimesSecond, + TQuantityValueNanometer, +) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + + +@dataclass(frozen=True, kw_only=True) +class MassChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class PeakItem(OrderedItem): + peak_height: TQuantityValueCounts | None = None + peak_area: TQuantityValueCountsTimesSecond | None = None + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocumentItem: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataAggregateDocument: + processed_data_document: list[ProcessedDataDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class MeasurementDocumentItems: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + mass_chromatogram_data_cube: MassChromatogramDataCube | None = None + processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None diff --git a/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_cube_detection.py b/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_cube_detection.py new file mode 100644 index 000000000..6ce14d4b0 --- /dev/null +++ b/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_cube_detection.py @@ -0,0 +1,68 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import OrderedItem +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueMilliAbsorbanceUnit, + TQuantityValueMilliAbsorbanceUnitTimesMilliliter, + TQuantityValueMilliAbsorbanceUnitTimesSecond, + TQuantityValueNanometer, +) + + +@dataclass(frozen=True, kw_only=True) +class ChromatogramDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_wavelength_setting: TQuantityValueNanometer | None = None + electronic_absorbance_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_reference_bandwidth_setting: TQuantityValueNanometer | None = ( + None + ) + electronic_absorbance_reference_wavelength_setting: TQuantityValueNanometer | None = ( + None + ) + + +@dataclass(frozen=True, kw_only=True) +class PeakItem(OrderedItem): + peak_height: TQuantityValueMilliAbsorbanceUnit | None = None + peak_area: TQuantityValueMilliAbsorbanceUnitTimesMilliliter | TQuantityValueMilliAbsorbanceUnitTimesSecond | None = ( + None + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocument: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class MeasurementDocumentItems: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + chromatogram_data_cube: ChromatogramDataCube | None = None + processed_data_document: ProcessedDataDocument | None = None diff --git a/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_spectrum_detection.py b/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_spectrum_detection.py new file mode 100644 index 000000000..a788c25c6 --- /dev/null +++ b/src/allotropy/allotrope/models/adm/ultraviolet_absorbance/rec/_2024/_03/ultraviolet_absorbance_spectrum_detection.py @@ -0,0 +1,71 @@ +# generated by allotropy.schema_gen + +from __future__ import annotations + +from dataclasses import dataclass, field + +from allotropy.allotrope.models.adm.core.rec._2024._03.core import OrderedItem +from allotropy.allotrope.models.adm.core.rec._2024._03.cube import ( + TDatacube, + TDatacubeStructure, +) +from allotropy.allotrope.models.shared.definitions.quantity_values import ( + TQuantityValueMilliAbsorbanceUnit, + TQuantityValueMilliAbsorbanceUnitTimesMilliliter, + TQuantityValueMilliAbsorbanceUnitTimesSecond, + TQuantityValueNanometer, +) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlDocumentItem(OrderedItem): + detector_wavelength_setting: TQuantityValueNanometer | None = None + detector_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_wavelength_setting: TQuantityValueNanometer | None = None + electronic_absorbance_bandwidth_setting: TQuantityValueNanometer | None = None + electronic_absorbance_reference_bandwidth_setting: TQuantityValueNanometer | None = ( + None + ) + electronic_absorbance_reference_wavelength_setting: TQuantityValueNanometer | None = ( + None + ) + + +@dataclass(frozen=True, kw_only=True) +class PeakItem(OrderedItem): + peak_height: TQuantityValueMilliAbsorbanceUnit | None = None + peak_area: TQuantityValueMilliAbsorbanceUnitTimesMilliliter | TQuantityValueMilliAbsorbanceUnitTimesSecond | None = ( + None + ) + + +@dataclass(frozen=True, kw_only=True) +class ThreeDimensionalUltravioletSpectrumDataCube(TDatacube): + cube_structure: TDatacubeStructure | None = field( + default=None, metadata={"json_name": "cube-structure"} + ) + + +@dataclass(frozen=True, kw_only=True) +class DeviceControlAggregateDocument: + device_control_document: list[DeviceControlDocumentItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class PeakList: + peak: list[PeakItem] | None = None + + +@dataclass(frozen=True, kw_only=True) +class ProcessedDataDocument: + peak_list: PeakList | None = None + + +@dataclass(frozen=True, kw_only=True) +class MeasurementDocumentItems: + device_control_aggregate_document: DeviceControlAggregateDocument | None = None + three_dimensional_ultraviolet_spectrum_data_cube: ThreeDimensionalUltravioletSpectrumDataCube | None = field( + default=None, + metadata={"json_name": "three-dimensional ultraviolet spectrum data cube"}, + ) + processed_data_document: ProcessedDataDocument | None = None diff --git a/src/allotropy/allotrope/schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema.json b/src/allotropy/allotrope/schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema.json new file mode 100644 index 000000000..90d66aaec --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema.json @@ -0,0 +1,1188 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "millivolts": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "voltage" + }, + "unit": { + "const": "mV" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mV" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mV.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + }, + "nanocoulombs": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "electric charge" + }, + "unit": { + "const": "nC" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nC" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nC.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + }, + "picoamperes": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "electric current" + }, + "unit": { + "const": "pA" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/pA" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/pA.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + }, + "millidegrees": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "angle" + }, + "unit": { + "const": "m°" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/m°" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/m°.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + }, + "counts": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "count" + }, + "unit": { + "const": "Counts" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/Counts" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/Counts.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + }, + "rfu": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "fluorescence" + }, + "unit": { + "const": "RFU" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/RFU" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/RFU.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/allotropy/allotrope/schemas/adm/conductivity/REC/2024/03/conductivity-cube-detection.schema.json b/src/allotropy/allotrope/schemas/adm/conductivity/REC/2024/03/conductivity-cube-detection.schema.json new file mode 100644 index 000000000..24e9cd07a --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/conductivity/REC/2024/03/conductivity-cube-detection.schema.json @@ -0,0 +1,197 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/conductivity/REC/2024/03/conductivity-cube-detection.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "measurementDocumentItems": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "electric conductivity" + }, + "unit": { + "const": "S/m" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data document": { + "type": "object", + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/S~1m" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/[S~1m].s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + }, + "minItems": 1 + } + } +} \ No newline at end of file diff --git a/src/allotropy/allotrope/schemas/adm/liquid-chromatography/REC/2024/03/liquid-chromatography.tabular.schema.json b/src/allotropy/allotrope/schemas/adm/liquid-chromatography/REC/2024/03/liquid-chromatography.tabular.schema.json new file mode 100644 index 000000000..2c24c5425 --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/liquid-chromatography/REC/2024/03/liquid-chromatography.tabular.schema.json @@ -0,0 +1,1004 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/liquid-chromatography/REC/2024/03/liquid-chromatography.tabular.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "allOf": [ + { + "properties": { + "liquid chromatography aggregate document": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/hierarchy.schema#/$defs/techniqueAggregateDocument" + }, + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002524", + "$asm.pattern": "aggregate datum", + "properties": { + "device system document": { + "properties": { + "pump model number": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002530", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "detector model number": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002489", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + } + } + }, + "liquid chromatography document": { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/hierarchy.schema#/$defs/techniqueDocument" + }, + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002525", + "properties": { + "measurement aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002374", + "$asm.pattern": "aggregate datum", + "properties": { + "measurement document": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "properties": { + "chromatography column document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002607", + "$asm.pattern": "aggregate datum", + "properties": { + "chromatography column part number": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002532", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "chromatography column serial number": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002533", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "chromatography column length": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002029", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/cm" + } + ] + }, + "column inner diameter": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002030", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mm" + } + ] + }, + "chromatography column chemistry type": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002026", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "chromatography column particle size": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002561", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/µm" + } + ] + }, + "product manufacturer": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001258", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + } + } + }, + "device control aggregate document": { + "type": "object", + "properties": { + "device control document": { + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "detector offset setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001249", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "detector sampling rate setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001250", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/Hz" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "injection document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002529", + "$asm.pattern": "aggregate datum", + "required": [ + "autosampler injection volume setting (chromatography)", + "injection identifier", + "injection time" + ], + "properties": { + "autosampler injection volume setting (chromatography)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001267", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mm^3" + } + ] + }, + "injection identifier": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002535", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "injection time": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002536", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#dateTime", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tDateTimeValue" + } + } + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak end": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001180", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mL" + } + ] + } + ] + }, + "identifier": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000917", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "relative peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000949", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/%25" + } + ] + }, + "written name": { + "$asm.property-class": "http://purl.obolibrary.org/obo/IAO_0000590", + "$asm.pattern": "value datum", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tStringValue" + }, + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "capacity factor (chromatography)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001234", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "relative peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001165", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/%25" + } + ] + }, + "retention time": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001089", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + }, + "retention volume": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001089", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mL" + } + ] + }, + "peak start": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001178", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mL" + } + ] + } + ] + }, + "peak selectivity (chromatography)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001235", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + }, + "oneOf": [ + { + "required": [ + "retention time" + ] + }, + { + "required": [ + "retention volume" + ] + } + ], + "anyOf": [ + { + "properties": { + "chromatographic peak resolution": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001230", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using baseline peak widths": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001231", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using peak width at half-height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001232", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using statistical moments": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001233", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates (chromatography)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001239", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 60.7 % of peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002780", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 32.4 % of peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002781", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 13.4 % of peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002782", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 4.4 % of peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002783", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by tangent method": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001240", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by peak width at half height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001241", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by peak width at half height (JP14)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002807", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "peak width at 4.4 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002784", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 13.4 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002785", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 32.4 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002786", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 60.7 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002787", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at half height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001266", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 5 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001265", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at baseline": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001264", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at inflection": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002761", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 10 % of height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002511", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001075", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "statistical skew (chromatography)": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001238", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 5 % height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001237", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 10 % height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002512", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor squared measured at 10 % height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002778", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor squared measured at 4.4 % height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002777", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 4.4 % height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002776", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at baseline": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002779", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak asymmetry factor": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001236", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/(unitless)" + } + ] + } + } + } + ] + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + } + }, + "required": [ + "chromatography column document" + ] + }, + { + "anyOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-cube-detection.schema#/$defs/measurementDocumentItems" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-spectrum-detection.schema#/$defs/measurementDocumentItems" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/conductivity/REC/2024/03/conductivity-cube-detection.schema#/$defs/measurementDocumentItems" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/mass-spectrometry/REC/2024/03/mass-chromatogram-cube-detection.schema#/$defs/measurementDocumentItems" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema#/$defs/millivolts" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema#/$defs/nanocoulombs" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2024/03/chromatography-detectors.schema#/$defs/picoamperes" + } + ] + } + ] + }, + "minItems": 1 + } + } + } + } + } + ] + }, + "required": [ + "analyst" + ], + "minItems": 1 + } + }, + "required": [ + "liquid chromatography document" + ] + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/asm" + } + ], + "required": [ + "$asm.manifest" + ] +} \ No newline at end of file diff --git a/src/allotropy/allotrope/schemas/adm/mass-spectrometry/REC/2024/03/mass-chromatogram-cube-detection.schema.json b/src/allotropy/allotrope/schemas/adm/mass-spectrometry/REC/2024/03/mass-chromatogram-cube-detection.schema.json new file mode 100644 index 000000000..810e3d517 --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/mass-spectrometry/REC/2024/03/mass-chromatogram-cube-detection.schema.json @@ -0,0 +1,200 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/mass-spectrometry/REC/2024/03/mass-chromatogram-cube-detection.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "measurementDocumentItems": { + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "mass chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002877", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "count" + }, + "unit": { + "const": "Counts" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data aggregate document": { + "type": "object", + "properties": { + "processed data document": { + "type": "array", + "items": { + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/Counts" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/Counts.s" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-cube-detection.schema.json b/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-cube-detection.schema.json new file mode 100644 index 000000000..b3f845bcf --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-cube-detection.schema.json @@ -0,0 +1,251 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-cube-detection.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "measurementDocumentItems": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001254", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001253", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance reference bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001251", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance reference wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001252", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "chromatogram data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 1, + "maxItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "absorbance" + }, + "unit": { + "const": "mAU" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data document": { + "type": "object", + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU.s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU.mL" + } + ] + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-spectrum-detection.schema.json b/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-spectrum-detection.schema.json new file mode 100644 index 000000000..d2aa7709b --- /dev/null +++ b/src/allotropy/allotrope/schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-spectrum-detection.schema.json @@ -0,0 +1,247 @@ +{ + "$id": "http://purl.allotrope.org/json-schemas/adm/ultraviolet-absorbance/REC/2024/03/ultraviolet-absorbance-spectrum-detection.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "measurementDocumentItems": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002375", + "$asm.pattern": "aggregate datum", + "properties": { + "device control aggregate document": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002722", + "$asm.pattern": "aggregate datum", + "properties": { + "device control document": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002723", + "$asm.pattern": "aggregate datum", + "properties": { + "detector wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002456", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "detector bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002477", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001254", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001253", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance reference bandwidth setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001251", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + }, + "electronic absorbance reference wavelength setting": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001252", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/nm" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } + } + }, + "three-dimensional ultraviolet spectrum data cube": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002551", + "$asm.pattern": "datacube", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "minItems": 2, + "maxItems": 2, + "prefixItems": [ + { + "properties": { + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + }, + "@componentDatatype": { + "const": "double" + } + } + }, + { + "properties": { + "concept": { + "const": "wavelength" + }, + "unit": { + "const": "nm" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + }, + "measures": { + "minItems": 1, + "maxItems": 1, + "contains": { + "oneOf": [ + { + "properties": { + "concept": { + "const": "absorbance" + }, + "unit": { + "const": "mAU" + }, + "@componentDatatype": { + "const": "double" + } + } + } + ] + } + } + } + } + } + } + ] + }, + "processed data document": { + "type": "object", + "properties": { + "peak list": { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "$asm.pattern": "aggregate datum", + "properties": { + "peak": { + "type": "array", + "$asm.array-ordered": true, + "$asm.array-mixed": false, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "type": "object", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "$asm.pattern": "aggregate datum", + "properties": { + "peak height": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU" + } + ] + }, + "peak area": { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "$asm.pattern": "quantity datum", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU.s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2024/03/units.schema#/$defs/mAU.mL" + } + ] + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2024/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0 + } + } + } + } + } + } + } + } +} \ No newline at end of file