diff --git a/src/main/resources/gas-chromatography.tabular.embed.schema.json b/src/main/resources/gas-chromatography.tabular.embed.schema.json index 5dc2237..68b7aab 100644 --- a/src/main/resources/gas-chromatography.tabular.embed.schema.json +++ b/src/main/resources/gas-chromatography.tabular.embed.schema.json @@ -1,1607 +1,1068 @@ { - "$id" : "http://purl.allotrope.org/json-schemas/adm/gas-chromatography/REC/2022/09/gas-chromatography.tabular.embed.schema", - "properties" : { - "gas chromatography aggregate document" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002605", - "$asm.pattern" : "aggregate datum", - "properties" : { - "gas chromatography document" : { - "type" : "array", - "$asm.array-ordered" : false, - "$asm.array-mixed" : false, - "$asm.pattern" : "indexed datum", - "items" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002606", - "$asm.pattern" : "aggregate datum", - "required" : [ "submitter", "device method identifier", "analyst" ], - "properties" : { - "submitter" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002531", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" + "$id": "http://purl.allotrope.org/json-schemas/adm/gas-chromatography/REC/2025/03/gas-chromatography.tabular.schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "allOf": [ + { + "properties": { + "gas chromatography aggregate document": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/hierarchy.schema#/$defs/techniqueAggregateDocument" + }, + { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002605", + "properties": { + "device system document": { + "properties": { + "detector model number": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002489", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" } } - } ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "chromatography column length" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002029", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "m", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Meter" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "column inner diameter" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002030", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "mm", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Millimeter" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "chromatography column fill type" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002608", - "$asm.pattern" : "class datum", - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "enum" : [ "monolithic column", "weak cation-exchange column", "analytical column", "open-tubular column", "capillary column", "capillary electrophoresis column", "packed column", "support-coated open-tubular column", "cation-exchange column", "porous-layer open-tubular column", "array column", "guard column", "weak anion-exchange column", "chromatography column", "strong cation-exchange column", "spin column", "high-performance liquid chromatography column", "strong anion-exchange column", "anion-exchange column", "ion-exchange column", "wall-coated open-tubular column" ], - "$asm.value-sub-class-of" : "http://purl.allotrope.org/ontologies/equipment#AFE_0000217" - }, - "chromatography column film thickness" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002609", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "µm", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Micrometer" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "chromatography column particle size" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002561", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "µm", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Micrometer" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } }, - "required" : [ "chromatography column serial number" ] - }, - "sample document" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002083", - "$asm.pattern" : "aggregate datum", - "properties" : { - "sampling type" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002610", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "sample identifier" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001118", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "description" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0000922", - "$asm.pattern" : "any datum" - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - } - }, - "required" : [ "sample identifier" ] - }, - "injection document" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002529", - "$asm.pattern" : "aggregate datum", - "required" : [ "injection identifier", "injection time", "injection volume setting" ], - "properties" : { - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "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", - "oneOf" : [ { - "type" : "string", - "format" : "date-time" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string", - "format" : "date-time" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "injection volume setting" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001577", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" + "gas chromatography document": { + "$asm.array-mixed": false, + "$asm.array-ordered": true, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/hierarchy.schema#/$defs/techniqueDocument" }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "μL", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Microliter" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - }, - "detector control aggregate document" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002527", - "$asm.pattern" : "aggregate datum", - "properties" : { - "detector control document" : { - "type" : "array", - "$asm.array-ordered" : true, - "$asm.array-mixed" : false, - "$asm.pattern" : "indexed datum", - "items" : - { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002528", - "$asm.pattern" : "aggregate datum", - "required" : [ "detection type" ], - "properties" : { - "@index" : { - "type" : "integer", - "minimum" : 1, - "maximum" : 2147483647 - }, - "detection type" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002534", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] + { + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002606", + "properties": { + "device method identifier": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002016", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" }, - "detector sampling rate setting" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001250", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "Hz", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Hertz" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - } - , - "minItems" : 1 - } - } - }, - "device method identifier" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002016", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "analyst" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001116", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "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", - "$asm.array-ordered" : true, - "$asm.array-mixed" : false, - "$asm.pattern" : "indexed datum", - "items" : - { - "@index" : { - "type" : "integer", - "minimum" : 1, - "maximum" : 2147483647 - }, - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002375", - "$asm.pattern" : "aggregate datum", - "required" : [ "chromatogram data cube", "detection type" ], - "properties" : { - "chromatogram data cube" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002550", - "$asm.pattern" : "datacube", - "type" : "object", - "properties" : { - "label" : { - "type" : "string" - }, - "cube-structure" : { - "type" : "object", - "properties" : { - "dimensions" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "@componentDatatype" : { - "description" : "Subset of XSD datatypes supported in simple models", - "default" : "double", - "enum" : [ "double", "float", "decimal", "integer", "byte", "int", "short", "long", "string", "boolean", "dateTime" ] - }, - "concept" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit" - }, - "scale" : { - "enum" : [ "nominal", "ordinal", "cardinal", "interval", "range" ] - }, - "$asm.fill-value" : { - "type" : [ "string", "number", "integer", "boolean" ] - } - }, - "required" : [ "@componentDatatype", "concept" ], - "allOf" : [ { - "$comment" : "constraint on fill values if component data type is any numeric type", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "double|float" - } - } - }, - "then" : { - "$asm.fill-value" : { - "oneOf" : [ { - "type" : "number" - }, { - "const" : "NaN" - }, { - "const" : "+Infinity" - }, { - "const" : "-Infinity" - } ], - "default" : 0.0 - } - } - }, { - "$comment" : "constraint on fill values if component data type is any numeric type", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "integer|decimal|long|int|short|byte" - } - } - }, - "then" : { - "$asm.fill-value" : { - "type" : "number", - "default" : 0 - } - } - }, { - "$comment" : "constraint on fill values if component data type is boolean", - "if" : { - "properties" : { - "@componentDatatype" : { - "const" : "boolean" - } - } - }, - "then" : { - "$asm.fill-value" : { - "type" : "boolean", - "default" : false - } - } - }, { - "$comment" : "constraint on fill values if component data type is string", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "string|dateTime|date" - } - } - }, - "then" : { - "$asm.fill-value" : { - "type" : "string", - "default" : "" - } - } - } ] - }, - "unique" : true, - "minItems" : 1, - "maxItems" : 1, - "prefixItems" : [ { - "properties" : { - "concept" : { - "const" : "acquisition time" - }, - "unit" : { - "const" : "s" - }, - "@componentDatatype" : { - "const" : "double" - } - } - } ] - }, - "measures" : { - "type" : "array", - "items" : { - "type" : "object", - "properties" : { - "@componentDatatype" : { - "description" : "Subset of XSD datatypes supported in simple models", - "default" : "double", - "enum" : [ "double", "float", "decimal", "integer", "byte", "int", "short", "long", "string", "boolean", "dateTime" ] - }, - "concept" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit" - }, - "scale" : { - "enum" : [ "nominal", "ordinal", "cardinal", "interval", "range" ] - }, - "$asm.fill-value" : { - "type" : [ "string", "number", "integer", "boolean" ] - } - }, - "required" : [ "@componentDatatype", "concept" ], - "allOf" : [ { - "$comment" : "constraint on fill values if component data type is any numeric type", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "double|float" - } - } - }, - "then" : { - "$asm.fill-value" : { - "oneOf" : [ { - "type" : "number" - }, { - "const" : "NaN" - }, { - "const" : "+Infinity" - }, { - "const" : "-Infinity" - } ], - "default" : 0.0 - } - } - }, { - "$comment" : "constraint on fill values if component data type is any numeric type", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "integer|decimal|long|int|short|byte" - } - } - }, - "then" : { - "$asm.fill-value" : { - "type" : "number", - "default" : 0 - } - } - }, { - "$comment" : "constraint on fill values if component data type is boolean", - "if" : { - "properties" : { - "@componentDatatype" : { - "const" : "boolean" - } - } - }, - "then" : { - "$asm.fill-value" : { - "type" : "boolean", - "default" : false - } - } - }, { - "$comment" : "constraint on fill values if component data type is string", - "if" : { - "properties" : { - "@componentDatatype" : { - "pattern" : "string|dateTime|date" + "measurement aggregate document": { + "properties": { + "measurement document": { + "items": { + "allOf": [ + { + "properties": { + "chromatogram data cube": { + "$asm.pattern": "datacube", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002550", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/cube.schema#/$defs/tDatacube" + }, + { + "properties": { + "cube-structure": { + "properties": { + "dimensions": { + "maxItems": 2, + "minItems": 1, + "prefixItems": [ + { + "oneOf": [ + { + "properties": { + "@componentDatatype": { + "const": "double" + }, + "concept": { + "const": "retention time" + }, + "unit": { + "const": "s" + } + } + }, + { + "properties": { + "@componentDatatype": { + "const": "double" + }, + "concept": { + "const": "retention volume" + }, + "unit": { + "const": "mL" + } + } + } + ] + } + ] + }, + "measures": { + "contains": { + "oneOf": [ + { + "properties": { + "@componentDatatype": { + "const": "double" + } + } + } + ] + }, + "maxItems": 1, + "minItems": 1 + } + } + } + } } - } + ] }, - "then" : { - "$asm.fill-value" : { - "type" : "string", - "default" : "" - } - } - } ] - }, - "unique" : true, - "minItems" : 1, - "maxItems" : 1, - "contains" : { - "oneOf" : [ { - "properties" : { - "concept" : { - "const" : "electric current" - }, - "unit" : { - "const" : "pA" - }, - "@componentDatatype" : { - "const" : "double" - } - } - } ] - } - } - }, - "required" : [ "dimensions", "measures" ] - }, - "data" : { - "allOf" : [ { - "properties" : { - "dimensions" : { - "type" : "array", - "items" : { - "oneOf" : [ { - "$comment" : "homogenous array of data used in explicit dimension arrays", - "oneOf" : [ { - "$comment" : "homogenous array of numbers", - "type" : "array", - "items" : { - "type" : "number" - } - }, { - "$comment" : "homogenous array of booleans", - "type" : "array", - "items" : { - "type" : "boolean" - } - }, { - "$comment" : "homogenous array of strings", - "type" : "array", - "items" : { - "type" : "string" - } - } ] - }, { - "type" : "object", - "properties" : { - "type" : { - "enum" : [ "linear", "logarithmic" ], - "default" : "linear" + "chromatography column document": { + "$asm.pattern": "aggregate datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002607", + "properties": { + "chromatography column chemistry type": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002026", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" }, - "start" : { - "type" : "number", - "default" : 1 + "chromatography column fill type": { + "$asm.pattern": "class datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002608", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tClass" + }, + { + "$asm.value-sub-class-of": "http://purl.allotrope.org/ontologies/equipment#AFE_0000217", + "enum": [ + "monolithic column", + "weak cation-exchange column", + "analytical column", + "open-tubular column", + "capillary column", + "capillary electrophoresis column", + "packed column", + "support-coated open-tubular column", + "cation-exchange column", + "porous-layer open-tubular column", + "array column", + "guard column", + "weak anion-exchange column", + "chromatography column", + "strong cation-exchange column", + "spin column", + "high-performance liquid chromatography column", + "strong anion-exchange column", + "anion-exchange column", + "ion-exchange column", + "wall-coated open-tubular column" + ], + "type": "string" + } + ] }, - "length" : { - "type" : "number" + "chromatography column length": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002029", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/m" + } + ] }, - "incr" : { - "type" : "number", - "default" : 1 - } - } - } ] - } - } - }, - "required" : [ "dimensions" ] - }, { - "oneOf" : [ { - "properties" : { - "measures" : { - "type" : "array", - "items" : { - "$comment" : "homogenous array of data used in explicit measure arrays, may contain null values", - "oneOf" : [ { - "$comment" : "homogenous array of numbers, may contain null values", - "type" : "array", - "items" : { - "anyOf" : [ { - "type" : "number" - }, { - "type" : "null" - } ] - } - }, { - "$comment" : "homogenous array of booleans, may contain null values", - "type" : "array", - "items" : { - "anyOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } - }, { - "$comment" : "homogenous array of strings, may contain null values", - "type" : "array", - "items" : { - "anyOf" : [ { - "type" : "string" - }, { - "type" : "null" - } ] + "chromatography column part number": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002532", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + }, + "chromatography column particle size": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002561", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/%C2%B5m" + } + ] + }, + "chromatography column serial number": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002533", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + }, + "column inner diameter": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002030", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/mm" + } + ] + }, + "custom information aggregate document": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/hierarchy.schema#/$defs/customInformationAggregateDocument" + } + ] + }, + "product manufacturer": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001258", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" } - } ] - } - } - }, - "required" : [ "measures" ] - }, { - "properties" : { - "points" : { - "type" : "array", - "items" : { - "$comment" : "heterogenous array of data used in point arrays", - "type" : "array", - "items" : { - "oneOf" : [ { - "type" : "number" - }, { - "type" : "boolean" - }, { - "type" : "string" - }, { - "type" : "null" - } ] - } - } - } - }, - "required" : [ "points" ] - } ] - } ] - } - } - }, - "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" : - { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0000413", - "$asm.pattern" : "aggregate datum", - "properties" : { - "@index" : { - "type" : "integer", - "minimum" : 1, - "maximum" : 2147483647 - }, - "relative peak analyte amount" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001172", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "%", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Percent" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + "type": "object" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak analyte amount" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001171", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "mg", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Milligram" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" + "device control aggregate document": { + "properties": { + "device control document": { + "items": { + "allOf": [ + { + "properties": { + "detector offset setting": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001249", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "detector sampling rate setting": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001250", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/Hz" + } + ] + } + } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 1 + } } }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "relative peak height" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0000949", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "%", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Percent" + "injection document": { + "$asm.pattern": "aggregate datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002529", + "properties": { + "injection identifier": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002535", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + }, + "injection time": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002536", + "$asm.type": "http://www.w3.org/2001/XMLSchema#dateTime", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tDateTimeValue" + }, + "injection volume setting": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001577", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/%CE%BCL" + } + ] + } }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + "required": [ + "injection volume setting", + "injection identifier", + "injection time" + ], + "type": "object" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "unadjusted relative retention" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001175", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" + "processed data aggregate document": { + "properties": { + "processed data document": { + "items": { + "properties": { + "peak list": { + "$asm.pattern": "aggregate datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000432", + "properties": { + "custom information aggregate document": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/hierarchy.schema#/$defs/customInformationAggregateDocument" + } + ] + }, + "peak": { + "$asm.array-mixed": false, + "$asm.array-ordered": true, + "$asm.pattern": "indexed datum", + "items": { + "allOf": [ + { + "$asm.pattern": "aggregate datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000413", + "anyOf": [ + { + "properties": { + "chromatographic peak resolution": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001230", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using baseline peak widths": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001231", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using peak width at half-height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001232", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak resolution using statistical moments": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001233", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates (chromatography)": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001239", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 60.7 % of peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002780", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 32.4 % of peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002781", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 13.4 % of peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002782", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates measured at 4.4 % of peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002783", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by tangent method": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001240", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by peak width at half height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001241", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "number of theoretical plates by peak width at half height (JP14)": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002807", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "peak width at 4.4 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002784", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 13.4 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002785", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 32.4 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002786", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 60.7 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002787", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at half height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001266", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 5 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001265", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at baseline": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001264", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at inflection": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002761", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width at 10 % of height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002511", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "peak width": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001075", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + } + } + }, + { + "properties": { + "statistical skew (chromatography)": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001238", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 5 % height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001237", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 10 % height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002512", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor squared measured at 10 % height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002778", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor squared measured at 4.4 % height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002777", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at 4.4 % height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002776", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "asymmetry factor measured at baseline": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002779", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + }, + { + "properties": { + "chromatographic peak asymmetry factor": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001236", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + } + } + } + ], + "oneOf": [ + { + "required": [ + "retention time" + ] + }, + { + "required": [ + "retention volume" + ] + } + ], + "properties": { + "capacity factor (chromatography)": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001234", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + }, + "custom information aggregate document": { + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/hierarchy.schema#/$defs/customInformationAggregateDocument" + } + ] + }, + "identifier": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000917", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + }, + "peak area": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001073", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "peak end": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001180", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/mL" + } + ] + } + ] + }, + "peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000948", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + } + ] + }, + "peak selectivity (chromatography)": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001235", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/(unitless)" + } + ] + }, + "peak start": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001178", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "oneOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/mL" + } + ] + } + ] + }, + "relative peak area": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001165", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/%25" + } + ] + }, + "relative peak height": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0000949", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/%25" + } + ] + }, + "retention time": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001089", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/s" + } + ] + }, + "retention volume": { + "$asm.pattern": "quantity datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0001089", + "allOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tQuantityValue" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/qudt/REC/2025/03/units.schema#/$defs/mL" + } + ] + }, + "written name": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.obolibrary.org/obo/IAO_0000590", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + } + }, + "type": "object" + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/orderedItem" + } + ] + }, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + } + } + } + } } }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "capacity factor (chromatography)" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001234", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "(unitless)", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Unitless" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" + "sample document": { + "properties": { + "sampling type": { + "$asm.pattern": "value datum", + "$asm.property-class": "http://purl.allotrope.org/ontologies/result#AFR_0002610", + "$asm.type": "http://www.w3.org/2001/XMLSchema#string", + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/tStringValue" + } } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] + } }, - "adjusted relative retention" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001176", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + "required": [ + "injection document", + "chromatography column document" + ] + }, + { + "anyOf": [ + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/absorbance/REC/2025/03/absorbance-cube-detector.schema#/$defs/measurementDocumentItems" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak start" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001178", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/absorbance/REC/2025/03/absorbance-spectrum-detector.schema#/$defs/measurementDocumentItems" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak selectivity (chromatography)" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001235", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "(unitless)", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Unitless" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/conductivity/REC/2025/03/conductivity-cube-detector.schema#/$defs/measurementDocumentItems" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "relative peak area" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001165", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "%", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#Percent" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/conductance/REC/2025/03/conductance-cube-detector.schema#/$defs/measurementDocumentItems" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak height" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0000948", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "pA", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#PicoAmpere" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/fluorescence/REC/2025/03/fluorescence-cube-detector.schema#/$defs/measurementDocumentItems" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "number of theoretical plates (chromatography)" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001239", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "(unitless)", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Unitless" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2025/03/chromatography-detectors.schema#/$defs/millivolts" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak end" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001180", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2025/03/chromatography-detectors.schema#/$defs/nanocoulombs" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "peak area" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001073", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "pA.s", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#PicoAmpereTimesSecond" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/chromatography/REC/2025/03/chromatography-detectors.schema#/$defs/picoamperes" }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "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", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } - } - } ] - }, - "retention time" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001089", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "chromatographic peak asymmetry factor" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001236", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "(unitless)", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Unitless" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - }, - "chromatographic peak resolution" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001230", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "(unitless)", - "$asm.unit-iri" : "http://purl.allotrope.org/ontology/qudt-ext/unit#Unitless" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - }, - "anyOf" : [ { - "properties" : { - "peak width at half height" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001266", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - }, { - "properties" : { - "peak width at 5% of height" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001265", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - }, { - "properties" : { - "peak width at baseline" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001264", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - }, { - "properties" : { - "peak width at 10 % of height" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002511", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/mass-spectrometry/REC/2025/03/mass-spectrometry-cube-detector.schema#/$defs/measurementDocumentItems" } - } - }, { - "properties" : { - "peak width" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001075", - "$asm.pattern" : "quantity datum", - "type" : "object", - "properties" : { - "value" : { - "type" : "number" - }, - "unit" : { - "description" : "A unit is referenced by its QUDT symbol. It MUST be unique within the QUDT units defined in the vocabularies declared in the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://purl.allotrope.org/ontology/qudt-ext/schema#symbol", - "$asm.type" : "http://qudt.org/schema/qudt#Unit", - "const" : "s", - "$asm.unit-iri" : "http://qudt.org/vocab/unit#SecondTime" - }, - "@type" : { - "description" : "A class reference is the SKOS preferred label of a class. This label MUST be unique within the transitive closure of the vocabulary referenced by the manifest.", - "type" : "string", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class" - } - }, - "$asm.type" : "http://qudt.org/schema/qudt#QuantityValue", - "required" : [ "value", "unit" ] - } - } - } ], - "required" : [ "retention time" ] - } - , - "minItems" : 0 - } - } - }, - "detection type" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002534", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" - }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + } + ] } } - } ] + } } - } + }, + "required": [ + "analyst", + "device method identifier" + ] } - , - "minItems" : 1 - } - } - } - } - }, - "minItems" : 1 - }, - "device system document" : { - "type" : "object", - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0002526", - "$asm.pattern" : "aggregate datum", - "required" : [ "asset management identifier" ], - "properties" : { - "asset management identifier" : { - "$asm.property-class" : "http://purl.allotrope.org/ontologies/result#AFR_0001976", - "$asm.pattern" : "value datum", - "$asm.type" : "http://www.w3.org/2001/XMLSchema#string", - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "required" : [ "@type", "value" ], - "properties" : { - "value" : { - "type" : "string" + ] }, - "@type" : { - "type" : "string", - "$asm.type" : "http://www.w3.org/2000/01/rdf-schema#Class", - "$asm.lookup-property" : "http://www.w3.org/2004/02/skos/core#prefLabel" - } + "minItems": 1, + "type": "array" } - } ] + }, + "required": [ + "gas chromatography document" + ] } - } + ] } } + }, + { + "$ref": "http://purl.allotrope.org/json-schemas/adm/core/REC/2025/03/core.schema#/$defs/asm" } - } + ], + "required": [ + "$asm.manifest" + ] } \ No newline at end of file