Class: TextureProduct
Soil texture analysis product, typically derived via hydrometer or similar instrument.
One row per sample with columns for sand, silt, and clay percentages.
Individual QC flags for each measurement using ProcessedDataFlag enum.
URI: basalt_schema:TextureProduct
classDiagram
class TextureProduct
click TextureProduct href "../TextureProduct/"
ProcessedData <|-- TextureProduct
click ProcessedData href "../ProcessedData/"
TextureProduct : clay_pct_id
TextureProduct --> "0..1" QuantityValue : clay_pct_id
click QuantityValue href "../QuantityValue/"
TextureProduct : core_section
TextureProduct --> "0..1" CoreSectionEnum : core_section
click CoreSectionEnum href "../CoreSectionEnum/"
TextureProduct : description
TextureProduct : filesize
TextureProduct : flag
TextureProduct --> "0..1" ProcessedDataFlag : flag
click ProcessedDataFlag href "../ProcessedDataFlag/"
TextureProduct : id
TextureProduct : lims_barcode
TextureProduct : md5checksum
TextureProduct : measure_type
TextureProduct --> "0..1" ProductMeasureType : measure_type
click ProductMeasureType href "../ProductMeasureType/"
TextureProduct : name
TextureProduct : project
TextureProduct : s3_base_url
TextureProduct : s3_bucket
TextureProduct : s3_key
TextureProduct : sample_id
TextureProduct --> "0..1" Sample : sample_id
click Sample href "../Sample/"
TextureProduct : sample_name
TextureProduct : sampling_set
TextureProduct : sand_pct_id
TextureProduct --> "0..1" QuantityValue : sand_pct_id
click QuantityValue href "../QuantityValue/"
TextureProduct : silt_pct_id
TextureProduct --> "0..1" QuantityValue : silt_pct_id
click QuantityValue href "../QuantityValue/"
TextureProduct : summary_metrics
Inheritance
- DataProduct
- ProcessedData
- TextureProduct
- ProcessedData
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| measure_type | 0..1 ProductMeasureType |
Whether the measurement recorded is a single measurement, one of a set of re... | direct |
| sand_pct_id | 0..1 QuantityValue |
direct | |
| silt_pct_id | 0..1 QuantityValue |
direct | |
| clay_pct_id | 0..1 QuantityValue |
direct | |
| flag | 0..1 ProcessedDataFlag |
direct | |
| summary_metrics | 0..1 String |
Lightweight per-product summary for common queries that avoid full file downl... | ProcessedData |
| lims_barcode | 0..1 String |
LIMS barcode identifier | ProcessedData |
| sample_id | 0..1 Sample |
Link back to the originating sample | ProcessedData |
| name | 1 String |
Human-readable name for the entity or activity | DataProduct |
| description | 0..1 String |
Human-readable description for the entity or activity | DataProduct |
| project | 0..1 Integer |
Identifier for the user project associated with the entity or activity | DataProduct |
| sampling_set | 0..1 Integer |
Sampling set number for grouping related samples collected together | DataProduct |
| core_section | 0..1 CoreSectionEnum |
The section of the core | DataProduct |
| sample_name | 0..1 String |
The name or label that is present on the shipped sample | DataProduct |
| s3_base_url | 0..1 String |
DataProduct | |
| s3_bucket | 0..1 String |
DataProduct | |
| s3_key | 1 String |
MinIO/S3 object key; required for all data products | DataProduct |
| filesize | 0..1 Integer |
Size of the file in bytes | DataProduct |
| md5checksum | 0..1 String |
DataProduct | |
| id | 1 Uuid |
DataProduct |
Identifier and Mapping Information
Schema Source
- from schema: https://EMSL-Computing.github.io/BASALT-Schema
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | basalt_schema:TextureProduct |
| native | basalt_schema:TextureProduct |
LinkML Source
Direct
name: TextureProduct
description: 'Soil texture analysis product, typically derived via hydrometer or similar
instrument.
One row per sample with columns for sand, silt, and clay percentages.
Individual QC flags for each measurement using ProcessedDataFlag enum.'
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
is_a: ProcessedData
slots:
- measure_type
attributes:
sand_pct_id:
name: sand_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
domain_of:
- TextureProduct
range: QuantityValue
silt_pct_id:
name: silt_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
domain_of:
- TextureProduct
range: QuantityValue
clay_pct_id:
name: clay_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
domain_of:
- TextureProduct
range: QuantityValue
flag:
name: flag
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
domain_of:
- WellReading
- BulkDensityProduct
- EnzymeProduct
- GWCMoistureProduct
- HydraulicPropertiesProduct
- PhosphorusAnalysisProduct
- RespirationProduct
- TextureProduct
- pHProduct
range: ProcessedDataFlag
Induced
name: TextureProduct
description: 'Soil texture analysis product, typically derived via hydrometer or similar
instrument.
One row per sample with columns for sand, silt, and clay percentages.
Individual QC flags for each measurement using ProcessedDataFlag enum.'
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
is_a: ProcessedData
attributes:
sand_pct_id:
name: sand_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
alias: sand_pct_id
owner: TextureProduct
domain_of:
- TextureProduct
range: QuantityValue
silt_pct_id:
name: silt_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
alias: silt_pct_id
owner: TextureProduct
domain_of:
- TextureProduct
range: QuantityValue
clay_pct_id:
name: clay_pct_id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
rank: 1000
alias: clay_pct_id
owner: TextureProduct
domain_of:
- TextureProduct
range: QuantityValue
flag:
name: flag
from_schema: https://EMSL-Computing.github.io/BASALT-Schema/products
alias: flag
owner: TextureProduct
domain_of:
- WellReading
- BulkDensityProduct
- EnzymeProduct
- GWCMoistureProduct
- HydraulicPropertiesProduct
- PhosphorusAnalysisProduct
- RespirationProduct
- TextureProduct
- pHProduct
range: ProcessedDataFlag
measure_type:
name: measure_type
description: Whether the measurement recorded is a single measurement, one of
a set of replicate measurements, or an average of several replicate measurements.
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: measure_type
owner: TextureProduct
domain_of:
- BulkDensityProduct
- ElementalAnalysisProduct
- EnzymeProduct
- GWCMoistureProduct
- HydraulicPropertiesProduct
- IonsAnalysisProduct
- MAOMProduct
- MicrobialBiomassProduct
- NitrogenAnalysisProduct
- PhosphorusAnalysisProduct
- RespirationProduct
- TextureProduct
- TomographyProduct
- WEOMProduct
- pHProduct
- XRFElementalProduct
- XRDPhaseProduct
range: ProductMeasureType
summary_metrics:
name: summary_metrics
description: "Lightweight per-product summary for common queries that avoid full\
\ file download.\nDirection: structured key-value pairs; per-type schemas TBD:\n\
\ ecoplate: well-level absorbance summaries (position, timepoint, absorbance)\n\
\ xrf: per-element concentration results + QC flag\n lcms: feature\
\ count, identification count, MSI-2 fraction\nInterim DB storage: JSONB column\
\ retained until formal typed class exists."
todos:
- make this inined/multivalued?
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: summary_metrics
owner: TextureProduct
domain_of:
- ProcessedData
range: string
required: false
lims_barcode:
name: lims_barcode
description: LIMS barcode identifier
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: lims_barcode
owner: TextureProduct
domain_of:
- ProcessedData
- Sample
range: string
required: false
sample_id:
name: sample_id
description: Link back to the originating sample
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: sample_id
owner: TextureProduct
domain_of:
- ProcessedData
- AMP2WellMetadata
- MetagenomicsProduct
range: Sample
required: false
name:
name: name
description: Human-readable name for the entity or activity.
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: name
owner: TextureProduct
domain_of:
- Activity
- Entity
- DataProduct
- DataGenerationActivity
- Instrument
- OntologyClass
- ContainerAxis
- Configuration
- MobilePhaseSegment
- MassSpectrometryStandardRun
- PurchasedMaterial
- LabProcessingActivity
- organism
- Site
- Sample
- SamplingActivity
- SoilSamplingActivity
- Study
- SoftwareControlledTermValue
range: string
required: true
description:
name: description
description: Human-readable description for the entity or activity
title: description
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: description
owner: TextureProduct
domain_of:
- Activity
- Entity
- DataProduct
- DataGenerationActivity
- DataProcessingActivity
- OntologyClass
- ContainerType
- LabDevice
- Configuration
- MassSpectrometryStandardRun
- PurchasedMaterial
- LabProcessingActivity
- organism
- Site
- Sample
- SamplingActivity
- SoilSamplingActivity
- Study
- TimestampValue
- TextValue
- SoftwareControlledTermValue
- ControlledTermValue
- QuantityValue
range: string
project:
name: project
description: 'Identifier for the user project associated with the entity or activity. '
title: Project
todos:
- should this be an ID? CURIE can use the one NMDC has https://bioregistry.io/reference/emsl.project:60141
where emsl.project is the CURIE prefix
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
aliases:
- study
- study_id
- project_id
- proposal
- proposal_id
rank: 1000
alias: project
owner: TextureProduct
domain_of:
- DataProduct
- AerosolArmSample
- AerosolSample
- CommerciallyPurchasedSample
- CultureEnvironmentalSample
- FieldDeployedTerraformSample
- MixedCultureSample
- MonetSoilSample
- OtherUndescribedSample
- PlantSample
- PureCultureSample
- SedimentSample
- SoilSample
- SynthesizedMaterialSample
- TerraformSample
- WaterSample
- SamplingActivity
range: integer
sampling_set:
name: sampling_set
description: 'Sampling set number for grouping related samples collected together.
This is a user-defined sequential integer that can be used to link samples collected
in the same sampling event or campaign.'
title: sampling set
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: sampling_set
owner: TextureProduct
domain_of:
- DataProduct
- MonetSoilSample
range: integer
core_section:
name: core_section
description: The section of the core.
title: core section
examples:
- value: TOP
- value: MID
- value: BTM
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: core_section
owner: TextureProduct
domain_of:
- DataProduct
- CoreSection
range: CoreSectionEnum
sample_name:
name: sample_name
description: 'The name or label that is present on the shipped sample. This should
be a human readable name.'
title: sample name
notes:
- This is typically an alias for the inherited 'name' slot on Sample classes.
Defined separately for compatibility with source data files using 'sample_name'
column headers.
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
aliases:
- samp_name
rank: 1000
alias: sample_name
owner: TextureProduct
domain_of:
- DataProduct
- AerosolArmSample
- AerosolSample
- CommerciallyPurchasedSample
- CultureEnvironmentalSample
- FieldDeployedTerraformSample
- MixedCultureSample
- MonetSoilSample
- OtherUndescribedSample
- PlantSample
- PureCultureSample
- SedimentSample
- SoilSample
- SynthesizedMaterialSample
- TerraformSample
- WaterSample
range: string
s3_base_url:
name: s3_base_url
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: s3_base_url
owner: TextureProduct
domain_of:
- DataProduct
range: string
s3_bucket:
name: s3_bucket
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: s3_bucket
owner: TextureProduct
domain_of:
- DataProduct
range: string
s3_key:
name: s3_key
description: MinIO/S3 object key; required for all data products
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: s3_key
owner: TextureProduct
domain_of:
- DataProduct
range: string
required: true
filesize:
name: filesize
description: Size of the file in bytes
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: filesize
owner: TextureProduct
domain_of:
- DataProduct
range: integer
md5checksum:
name: md5checksum
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
rank: 1000
alias: md5checksum
owner: TextureProduct
domain_of:
- DataProduct
range: string
id:
name: id
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
identifier: true
alias: id
owner: TextureProduct
domain_of:
- Activity
- Entity
- DataProduct
- DataGenerationActivity
- DataProcessingActivity
- AlternativeIdentifier
- FunctionalAnnotationIdentifier
- Instrument
- OntologyClass
- ContainerType
- Custodian
- InstrumentAlternativeIdentifier
- LabDevice
- SampleProcessing
- ProcessingSampleLink
- Configuration
- MobilePhaseSegment
- MassSpectrometryStandardRun
- PurchasedMaterial
- LabProcessingActivity
- organism
- MAOMProduct
- WEOMProduct
- Site
- Sample
- AerosolArmSample
- AerosolSample
- AMP2UserSample
- CommerciallyPurchasedSample
- CultureEnvironmentalSample
- EngineeredStrainSample
- FieldDeployedTerraformSample
- MixedCultureSample
- MonetSoilSample
- OtherUndescribedSample
- PlantSample
- PureCultureSample
- SedimentSample
- SoilSample
- SynthesizedMaterialSample
- TerraformSample
- WaterSample
- ProcessedSample
- CoreSection
- SamplingActivity
- AerosolArmSamplingActivity
- AerosolSamplingActivity
- CommerciallyPurchasedSamplingActivity
- CultureEnvironmentalSamplingActivity
- EngineeredStrainSamplingActivity
- FieldDeployedTerraformSamplingActivity
- MixedCultureSamplingActivity
- MonetSoilSamplingActivity
- OtherUndescribedSamplingActivity
- PlantSamplingActivity
- PureCultureSamplingActivity
- SedimentSamplingActivity
- SoilSamplingActivity
- SynthesizedMaterialSamplingActivity
- TerraformSamplingActivity
- WaterSamplingActivity
- Study
- ProjectParticipant
- TimestampValue
- TextValue
- SoftwareControlledTermValue
- ControlledTermValue
- PersonValue
- QuantityValue
- ConditioningValue
- zipDownload
range: uuid
required: true