PREFIX mifc: <https://w3id.org/kaiiam/mifc/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

mifc:NamedThing a rdfs:Class .

mifc:id a rdf:Property ;
  rdfs:range xsd:string .

mifc:laboratory_sample_id a rdf:Property ;
  rdfs:comment "A string denoting an identifier of a laboratory sample which was prepared from a food sample." ;
  rdfs:range xsd:string .

mifc:laboratory_sample_aliquot_id a rdf:Property ;
  rdfs:comment "A string denoting an identifier of a unique aliquot of a laboratory sample which was prepared from a food sample." ;
  rdfs:range xsd:string .

mifc:laboratory_sample_batch_id a rdf:Property ;
  rdfs:comment "A string denoting an identifier of a batch of laboratory samples analysed together." ;
  rdfs:range xsd:string .

<http://schema.org/Provenance> a rdfs:Class ;
  rdfs:comment "Supplemental data about the provenance of a Food and Component dataset collection standardized using MIFC." ;
  rdfs:subClassOf mifc:NamedThing .

mifc:organization_name a rdf:Property ;
  rdfs:comment "A string corresponding to a \"|\" delimited list of organizations who created or help to create to a MIFC formatted dataset. E.g., \"USDA\"." ;
  rdfs:range xsd:string .

mifc:contributor_orcid a rdf:Property ;
  rdfs:comment "A string corresponding to a \"|\" delimited list of ORCIDs of people who contributed to a MIFC formatted dataset. See https://orcid.org/." ;
  rdfs:range xsd:string .

mifc:dataset_label a rdf:Property ;
  rdfs:comment "A string corresponding to the labeled name of dataset (e.g., \"Standard Reference (SR) Legacy\")." ;
  rdfs:range xsd:string .

mifc:mifc_version_tag a rdf:Property ;
  rdfs:comment "A string corresponding to a named MIFC release number (e.g., \"v1.0.1\")." ;
  rdfs:range xsd:string .

<http://schema.org/Food> a rdfs:Class ;
  rdfs:comment "Metadata about foods" ;
  rdfs:subClassOf mifc:NamedThing .

mifc:food_acquisition_organization a rdf:Property ;
  rdfs:comment "A string denoting the name of the organization responsible for acquired the primary_food_type." ;
  rdfs:range xsd:string .

mifc:food_acquisition_agent_name a rdf:Property ;
  rdfs:comment "A string denoting the name of the agent (person, device or other type of service) that acquired the primary_food_type." ;
  rdfs:range xsd:string .

mifc:primary_food_type_upc_code a rdf:Property ;
  rdfs:comment "An integer denoting a Universal Product Code (UPC) barcode." ;
  rdfs:range xsd:integer .

<http://schema.org/name> a rdf:Property ;
  rdfs:comment "A controlled vocabulary term representing the primary food material which was sampled. E.g., using a food vocabulary like USDA's FDC or FoodOn" ;
  rdfs:range xsd:string .

mifc:food_acquisition_latitude a rdf:Property ;
  rdfs:comment "A float representing the latitude of the place from which the primary_food_type was acquired." ;
  rdfs:range xsd:float .

mifc:primary_food_type_label a rdf:Property ;
  rdfs:comment "A string denoting the label of a controlled vocabulary term representing the primary food material which was sampled." ;
  rdfs:range xsd:string .

mifc:food_distributor_country_subdivision a rdf:Property ;
  rdfs:comment "A string denoting the country subdivision of a distributor organization from which a primary_food_type was acquired, (e.g., state or province)." ;
  rdfs:range xsd:string .

mifc:food_acquisition_city a rdf:Property ;
  rdfs:comment "A string denoting the city in which a primary_food_type was acquired." ;
  rdfs:range xsd:string .

mifc:food_distributor_city a rdf:Property ;
  rdfs:comment "A string denoting the city of a distributor organization from which a primary_food_type was acquired." ;
  rdfs:range xsd:string .

mifc:food_distributor_country a rdf:Property ;
  rdfs:comment "A string denoting the country code of a distributor organization from which a primary_food_type was acquired." ;
  rdfs:range xsd:string .

mifc:food_acquisition_country a rdf:Property ;
  rdfs:comment "A string denoting the country code from which a primary_food_type was acquired." ;
  rdfs:range xsd:string .

mifc:food_preparation_state a rdf:Property ;
  rdfs:comment "A controlled vocabulary term representing the preparation state of the primary_food_type (e.g., raw)." ;
  rdfs:range mifc:FoodPreparationState .

mifc:food_expiration_date a rdf:Property ;
  rdfs:comment "A datetime value representing the food expiration data as shown on the labeling information of the primary_food_type." ;
  rdfs:range xsd:string .

mifc:food_acquisition_country_subdivision a rdf:Property ;
  rdfs:comment "A string denoting the country subdivision from which a primary_food_type was acquired (e.g., state or province)." ;
  rdfs:range xsd:string .

mifc:food_acquisition_date a rdf:Property ;
  rdfs:comment "A datetime value representing the date a primary_food_type was acquired." ;
  rdfs:range xsd:string .

mifc:food_acquisition_location_type a rdf:Property ;
  rdfs:comment "A string describing the type of location from which a primary_food_type sample was acquired (e.g., a supermarket)." ;
  rdfs:range mifc:FoodAcquisitionLocationType .

mifc:food_acquisition_longitude a rdf:Property ;
  rdfs:comment "A float representing the longitude of the place from which the primary_food_type was acquired." ;
  rdfs:range xsd:float .

mifc:Container a rdfs:Class .

mifc:foods a rdf:Property ;
  rdfs:range <http://schema.org/Food> .

mifc:components a rdf:Property ;
  rdfs:range <http://schema.org/Component> .

mifc:provenances a rdf:Property ;
  rdfs:range <http://schema.org/Provenance> .

<http://schema.org/Component> a rdfs:Class ;
  rdfs:comment "Metadata about measured components of nutritional interest" ;
  rdfs:subClassOf mifc:NamedThing .

mifc:measured_compound_unit a rdf:Property ;
  rdfs:comment "A unit code representing the units of measurement in which a measured food component value from a primary_food_type sample was sampled." ;
  rdfs:range xsd:string .

mifc:measured_compound_analysis_date a rdf:Property ;
  rdfs:comment "A datetime value representing the date in which a measured_compound was analyzed." ;
  rdfs:range xsd:string .

mifc:laboratory_sample_aggregation_measured_compound_standard_deviation a rdf:Property ;
  rdfs:comment "A float representing the standard deviation of a measured compound value of an aggregation of samples." ;
  rdfs:range xsd:float .

mifc:measured_compound_data_points_number a rdf:Property ;
  rdfs:comment "An integer representing the number of individual samples that comprise a measured_compound sample. 1 if an individual sample >1 if an aggregation of samples." ;
  rdfs:range xsd:integer .

mifc:measured_compound a rdf:Property ;
  rdfs:comment "A controlled vocabulary term representing an analyzed component from a primary_food_type food sample." ;
  rdfs:range xsd:string .

mifc:laboratory_sample_aggregation_maximum_measured_compound_value a rdf:Property ;
  rdfs:comment "A float representing the maximum measured compound value of an aggregation of samples." ;
  rdfs:range xsd:float .

mifc:measured_compound_denominator_unit a rdf:Property ;
  rdfs:comment "A unit code representing the denominator units of a measured measured_compound, e.g., g (for portion of per 100g)." ;
  rdfs:range xsd:string .

mifc:compound_value_remeasured_for_quality_control a rdf:Property ;
  rdfs:comment "A boolean value denoting TRUE if a measured_compound_value was measured more than once for internal laboratory quality control purposes." ;
  rdfs:range xsd:boolean .

mifc:measured_compound_derivation_type a rdf:Property ;
  rdfs:comment "A controlled vocabulary term denoting how the measured_compound was generated, (e.g., Analytical or Calculated)." ;
  rdfs:range xsd:string .

mifc:measured_compound_label a rdf:Property ;
  rdfs:comment "A string denoting the label of a controlled vocabulary term representing an analyzed component from a primary_food_type food sample." ;
  rdfs:range xsd:string .

mifc:analytical_analysis_measurement_method a rdf:Property ;
  rdfs:comment "A controlled vocabulary term denoting method used to conduct an analytical analysis on a sample, (e.g., HPLC)." ;
  rdfs:range mifc:AnalyticalMeasurementMethod .

mifc:measured_compound_value a rdf:Property ;
  rdfs:comment "A float representing an individual instance of a measured food compound value from an individual primary_food_type sample." ;
  rdfs:range xsd:float .

mifc:laboratory_sample_aggregation_median_measured_compound_value a rdf:Property ;
  rdfs:comment "A float representing the median measured compound value of an aggregation of samples." ;
  rdfs:range xsd:float .

mifc:measured_compound_record_date a rdf:Property ;
  rdfs:comment "A datetime value representing a known recorded date pertaining to an analyzed sample." ;
  rdfs:range xsd:string .

mifc:analytical_analysis_measurement_protocol_doi a rdf:Property ;
  rdfs:comment "A string denoting a digital object identifier link to a measurement protocol used to conduct an analytical analysis on a sample." ;
  rdfs:range xsd:string .

mifc:laboratory_conducting_analytical_analysis a rdf:Property ;
  rdfs:comment "A string denoting the name of a laboratory that conducted the analytical analysis of a measured_compound." ;
  rdfs:range xsd:string .

mifc:laboratory_sample_aggregation_minimum_measured_compound_value a rdf:Property ;
  rdfs:comment "A float representing the minimum measured compound value of an aggregation of samples." ;
  rdfs:range xsd:float .

mifc:measured_compound_comment a rdf:Property ;
  rdfs:comment "A comment relating to measured component." ;
  rdfs:range xsd:string .

mifc:measured_compound_denominator_value a rdf:Property ;
  rdfs:comment "A float representing the denominator value (or portion size) of a measured measured_compound, e.g., 100 (for portion of per 100g)." ;
  rdfs:range xsd:float .

mifc:measured_compound_limit_of_quantitation a rdf:Property ;
  rdfs:comment "A string representing the lowest analyte concentration likely to be reliably distinguished from the Limit of Blank (LoB) and at which detection is feasible. Where LoB is the highest apparent analyte concentration expected to be found when replicates of a blank sample containing no analyte are tested." ;
  rdfs:range xsd:string .

mifc:AnalyticalMeasurementMethod a rdfs:Class .

<http://purl.obolibrary.org/obo/OBI_0002116> a mifc:AnalyticalMeasurementMethod ;
  rdfs:comment "High performance liquid chromotography" .

mifc:AnalyticalMeasurementMethod.GLC a mifc:AnalyticalMeasurementMethod ;
  rdfs:comment "gas-liquid chromatography" .

mifc:AnalyticalMeasurementMethod.GC a mifc:AnalyticalMeasurementMethod .

mifc:AnalyticalMeasurementMethod.NEPHELOMETRY a mifc:AnalyticalMeasurementMethod .

mifc:AnalyticalMeasurementMethod.GRAVIMETRIC a mifc:AnalyticalMeasurementMethod .

mifc:AnalyticalMeasurementMethod.FLUOROMETRIC a mifc:AnalyticalMeasurementMethod .

mifc:AnalyticalMeasurementMethod.KJELDAHL a mifc:AnalyticalMeasurementMethod .

mifc:FoodPreparationState a rdfs:Class .

mifc:FoodPreparationState.RAW a mifc:FoodPreparationState .

mifc:FoodPreparationState.FRESH a mifc:FoodPreparationState .

mifc:FoodPreparationState.CHILLED a mifc:FoodPreparationState .

mifc:FoodPreparationState.FOODSAFE_CHILLED a mifc:FoodPreparationState .

mifc:FoodPreparationState.FRESH_CHILLED a mifc:FoodPreparationState .

mifc:FoodPreparationState.FROZEN a mifc:FoodPreparationState .

mifc:FoodPreparationState.FRESH_FROZEN a mifc:FoodPreparationState .

mifc:FoodPreparationState.UNRIPE a mifc:FoodPreparationState .

mifc:FoodPreparationState.SLIGHTLY_RIPE a mifc:FoodPreparationState .

mifc:FoodPreparationState.RIPE a mifc:FoodPreparationState .

mifc:FoodPreparationState.OVERRIPE a mifc:FoodPreparationState .

mifc:FoodPreparationState.DRIED a mifc:FoodPreparationState .

mifc:FoodPreparationState.NATURALLY_DRIED a mifc:FoodPreparationState .

mifc:FoodPreparationState.ARTIFICIALLY_DRIED a mifc:FoodPreparationState .

mifc:FoodPreparationState.HEAT_TREATED a mifc:FoodPreparationState .

mifc:FoodPreparationState.IRRADIATED a mifc:FoodPreparationState .

mifc:FoodAcquisitionLocationType a rdfs:Class .

mifc:FoodAcquisitionLocationType.FIELD a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.FRESH_MARKET a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.SMALL_GROCERY a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.SUPERMARKET a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.BIOBANK a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.UNKNOWN a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.OTHER a mifc:FoodAcquisitionLocationType .
