PREFIX owl: <http://www.w3.org/2002/07/owl#>
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#>
PREFIX FDC: <https://fdc.nal.usda.gov/>
PREFIX OBI: <http://purl.obolibrary.org/obo/OBI_>
PREFIX PATO: <http://purl.obolibrary.org/obo/PATO_>
PREFIX PTFI: <https://foodperiodictable.org/>
PREFIX biolink: <https://w3id.org/biolink/>
PREFIX example: <https://example.org/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX mifc: <https://w3id.org/kaiiam/mifc/>
PREFIX schema: <http://schema.org/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://w3id.org/kaiiam/mifc> a owl:Ontology ;
  rdfs:label "mifc" ;
  rdfs:comment "A minimum information standard checklist formalizing the description of food composition data and related metadata." ;
  rdfs:seeAlso <https://kaiiam.github.io/mifc> ;
  dcterms:license "MIT" ;
  vann:preferredNamespacePrefix "mifc" ;
  vann:preferredNamespaceUri "https://w3id.org/kaiiam/mifc/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "FDC" ;
    sh:namespace "https://fdc.nal.usda.gov/"^^xsd:anyURI
  ] , [
    sh:prefix "OBI" ;
    sh:namespace "http://purl.obolibrary.org/obo/OBI_"^^xsd:anyURI
  ] , [
    sh:prefix "PATO" ;
    sh:namespace "http://purl.obolibrary.org/obo/PATO_"^^xsd:anyURI
  ] , [
    sh:prefix "PTFI" ;
    sh:namespace "https://foodperiodictable.org/"^^xsd:anyURI
  ] , [
    sh:prefix "biolink" ;
    sh:namespace "https://w3id.org/biolink/"^^xsd:anyURI
  ] , [
    sh:prefix "example" ;
    sh:namespace "https://example.org/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "mifc" ;
    sh:namespace "https://w3id.org/kaiiam/mifc/"^^xsd:anyURI
  ] , [
    sh:prefix "schema" ;
    sh:namespace "http://schema.org/"^^xsd:anyURI
  ] .

schema:Component a owl:Class ;
  rdfs:comment "Metadata about components of nutritional interest measured from foods." ;
  rdfs:subClassOf mifc:NamedThing , [
    a owl:Restriction ;
    owl:onProperty mifc:component_sample_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_sample_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_type_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_type_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_recorded_value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_recorded_value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_measurement_unit ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_measurement_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_data_points_number ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_data_points_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_record_date ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_record_date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_analysis_date ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_analysis_date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_comment ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_comment ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_derivation_type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_derivation_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_limit_of_quantitation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_limit_of_quantitation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_minimum_value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_minimum_value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_maximum_value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_maximum_value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_median_value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_median_value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_standard_deviation ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_sample_aggregation_standard_deviation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_measurement_protocol_doi ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_measurement_protocol_doi ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_measurement_method ;
    owl:allValuesFrom mifc:CompoundAnalyticalMeasurementMethod
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_measurement_method ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_laboratory_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:compound_analytical_laboratory_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_quality_control_remeasurement ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:component_quality_control_remeasurement ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_aliquot_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_aliquot_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_batch_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_batch_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

mifc:Container a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty mifc:components ;
    owl:allValuesFrom schema:Component
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:foods ;
    owl:allValuesFrom schema:Food
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenances ;
    owl:allValuesFrom schema:Provenance
  ] .

schema:Food a owl:Class ;
  rdfs:comment "Metadata about foods analyzed for components of nutritional interest." ;
  rdfs:subClassOf mifc:NamedThing , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_scientific_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_scientific_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_icncp_group_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_icncp_group_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_icncp_cultivar_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_icncp_cultivar_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_animal_breed_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_animal_breed_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_ncbi_taxon_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_primary_type_ncbi_taxon_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_upc_code ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_upc_code ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_preservation_state ;
    owl:allValuesFrom mifc:FoodPreservationState
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_preservation_state ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_storage_temperature_state ;
    owl:allValuesFrom mifc:FoodStorageTemperatureState
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_storage_temperature_state ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_ripeness_state ;
    owl:allValuesFrom mifc:FoodRipenessState
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_ripeness_state ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_cooking_method ;
    owl:allValuesFrom mifc:FoodCookingMethod
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_origin_country ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_origin_country ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_city ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_city ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_country ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_country ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_country_subdivision ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_country_subdivision ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_date ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_location_type ;
    owl:allValuesFrom mifc:FoodAcquisitionLocationType
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_location_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_location_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_location_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_latitude ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_latitude ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_longitude ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_longitude ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_agent_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_agent_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_organization ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_acquisition_organization ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_city ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_city ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_country ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_country ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_country_subdivision ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_distributor_country_subdivision ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_expiration_date ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_expiration_date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_sell_by_date ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_sell_by_date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_category_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_category_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_additional_types ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_additional_types ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_aliquot_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_aliquot_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_batch_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_laboratory_sample_batch_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_brand_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_brand_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_lot_number ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_lot_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_label_weight ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_label_weight ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_label_weight_unit ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:food_label_weight_unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

mifc:NamedThing a owl:Class ;
  skos:closeMatch schema:Thing ;
  rdfs:subClassOf [
    a owl:Class ;
    owl:unionOf ( schema:Component schema:Food schema:Provenance )
  ] .

schema:Provenance a owl:Class ;
  rdfs:comment "Supplemental data about the provenance of a Food and Component dataset collection standardized using MIFC." ;
  rdfs:subClassOf mifc:NamedThing , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_dataset_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_dataset_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_mifc_version_tag ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_mifc_version_tag ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_contributor_orcid ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_contributor_orcid ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_organization_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty mifc:provenance_organization_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

mifc:component_analysis_date a owl:DatatypeProperty ;
  rdfs:comment "A datetime value representing the date in which a component of nutritional interest was analyzed." ;
  skos:note "Use this field if the exact date of analysis is known if there is date ambiguity use component_record_date." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_comment a owl:DatatypeProperty ;
  rdfs:comment "A comment relating to an analyzed component of nutritional interest." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_data_points_number a owl:DatatypeProperty ;
  rdfs:comment "An integer representing the number of individual samples that comprise a component sample. 1 if an individual sample >1 if an aggregation of samples." ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

mifc:component_derivation_type a owl:DatatypeProperty ;
  rdfs:comment "A controlled vocabulary term denoting how a component of nutritional interest was generated, (e.g., Analytical or Calculated)." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_limit_of_quantitation a owl:DatatypeProperty ;
  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 during the analysis of a component of nutritional interest." ;
  skos:note "LoB, (used in the description) is the highest apparent analyte concentration expected to be found when replicates of a blank sample containing no analyte are tested. Description reference from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2556583/." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_measurement_unit a owl:DatatypeProperty ;
  rdfs:comment "A unit code representing the unit of measurement in which a component_recorded_value is measured." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_quality_control_remeasurement a owl:DatatypeProperty ;
  rdfs:comment "A boolean value denoting TRUE if a component_recorded_value was measured more than once for internal laboratory quality control purposes." ;
  skos:note "This could be alternatively be modeled with an integer rather than a boolean." ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

mifc:component_record_date a owl:DatatypeProperty ;
  rdfs:comment "A datetime value representing recorded date pertaining to an analyzed sample." ;
  skos:note "Allows for ambiguity of date record relative to component_analysis_date. Use this if a date for a record is know but it is unclear if it is specifically the date of analysis." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_recorded_value a owl:DatatypeProperty ;
  rdfs:comment "A float representing a recorded value of a component of nutritional interest measured from a laboratory sample derived from a food sample." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:component_sample_id a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the primary identifier for a sample of the class Component. Note that component_sample_id does not need be unique in a given dataset and should be used to relate Food and Component records via food_sample_id from the Food class." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_type a owl:DatatypeProperty ;
  rdfs:comment "A controlled vocabulary term representing the type of component of nutritional interest analyzed from a food sample." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:component_type_label a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the label of a controlled vocabulary term representing an analyzed component_type from a food sample." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:compound_analytical_laboratory_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the name of a laboratory that conducted the analytical analysis of a component of nutritional interest." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:compound_analytical_measurement_method a owl:ObjectProperty ;
  rdfs:comment "A controlled vocabulary term denoting the method used to conduct an analytical analysis on a sample, (e.g., HPLC)." ;
  rdfs:range mifc:CompoundAnalyticalMeasurementMethod ;
  a owl:FunctionalProperty .

mifc:compound_analytical_measurement_protocol_doi a owl:DatatypeProperty ;
  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 ;
  a owl:FunctionalProperty .

mifc:compound_sample_aggregation_maximum_value a owl:DatatypeProperty ;
  rdfs:comment "A float representing the maximum measured compound value of an aggregation of compound samples." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:compound_sample_aggregation_median_value a owl:DatatypeProperty ;
  rdfs:comment "A float representing the median measured compound value of an aggregation of compound samples." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:compound_sample_aggregation_minimum_value a owl:DatatypeProperty ;
  rdfs:comment "A float representing the minimum measured compound value of an aggregation of compound samples." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:compound_sample_aggregation_standard_deviation a owl:DatatypeProperty ;
  rdfs:comment "A float representing the standard deviation of a measured compound value of an aggregation of compound samples." ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:food_acquisition_agent_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the name of the agent (person, device or other type of service) that acquired the food sample." ;
  skos:exactMatch PTFI:Collector_Name ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_city a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the city in which a food sample was acquired." ;
  skos:closeMatch PTFI:Collection_Location ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_country a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the country code from which a food sample was acquired." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_country_subdivision a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the country subdivision from which a food sample was acquired (e.g., state or province)." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_date a owl:DatatypeProperty ;
  rdfs:comment "A datetime value representing the date a food sample was acquired." ;
  skos:exactMatch PTFI:Collection_Date ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_latitude a owl:DatatypeProperty ;
  rdfs:comment "A float representing the latitude of the place from which the food sample was acquired." ;
  skos:exactMatch PTFI:Collection_Latitude ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:food_acquisition_location_name a owl:DatatypeProperty ;
  rdfs:comment "A string describing the name of the location from which a food sample was acquired (e.g., \"Safeway\")." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_acquisition_location_type a owl:ObjectProperty ;
  rdfs:comment "A string describing the type of location from which a food sample was acquired (e.g., a supermarket)." ;
  skos:exactMatch PTFI:Collection_Type ;
  rdfs:range mifc:FoodAcquisitionLocationType ;
  a owl:FunctionalProperty .

mifc:food_acquisition_longitude a owl:DatatypeProperty ;
  rdfs:comment "A float representing the longitude of the place from which the food sample was acquired." ;
  skos:exactMatch PTFI:Collection_Longitude ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

mifc:food_acquisition_organization a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the name of the organization responsible for acquired the food sample." ;
  skos:exactMatch PTFI:Collector_Organization ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_additional_types a owl:DatatypeProperty ;
  rdfs:comment "A list of controlled vocabulary denoting the label(s) of additional food types, not including the food_primary_type that are in a food sample." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_brand_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting a name identifying a product, service, or organization selling and or distributing the primary food material." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_category_label a owl:DatatypeProperty ;
  rdfs:comment "A string or controlled vocabulary denoting the label of the food group or category of the primary food material." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_cooking_method a owl:ObjectProperty ;
  rdfs:comment "An enumerated set of controlled vocabulary terms representing the any cooking method(s) applied to a food sample prior to analysis (e.g., \"baked\")." ;
  rdfs:range mifc:FoodCookingMethod .

mifc:food_distributor_city a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the city of a distributor organization from which a food sample was acquired." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_distributor_country a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the country code of a distributor organization from which a food sample was acquired." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

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

mifc:food_expiration_date a owl:DatatypeProperty ;
  rdfs:comment "A datetime value representing the food expiration data as shown on the labeling information of the food sample." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_label_weight a owl:DatatypeProperty ;
  rdfs:comment "A float denoting the mass, (or weight on earth) as specified on the product label of a sampled primary food material." ;
  skos:note "This field should be used in along with food_acquisition_label_weight_unit to express the units the food_label_weight was measured." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_label_weight_unit a owl:DatatypeProperty ;
  rdfs:comment "A unit code representing the unit of measurement in which a food_label_weight is measured." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_laboratory_sample_aliquot_id a owl:DatatypeProperty ;
  rdfs:comment "A string denoting an identifier of a unique aliquot of a food laboratory sample which was prepared from a food sample." ;
  skos:note "Only use this attribute if identifiers are assigned to aliquots/sub-samples of food laboratory samples denoted by their food_laboratory_sample_id." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_laboratory_sample_batch_id a owl:DatatypeProperty ;
  rdfs:comment "A string denoting an identifier of a batch of laboratory samples analysed together." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_laboratory_sample_id a owl:DatatypeProperty ;
  rdfs:comment "A string denoting an identifier of a laboratory sample which was prepared from a food sample." ;
  skos:note "Only use this attribute if a separate ID is assigned to laboratory samples derived from food samples. Otherwise just use the food_sample_id." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_lot_number a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the identifying lot number number assigned by a manufacturer to a particular quantity, (or lot) of the sampled primary food material." ;
  skos:note "A lot number can also be referred to as lot code." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_origin_country a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the country code from which a food sample originates." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_preservation_state a owl:ObjectProperty ;
  rdfs:comment "An enumerated set of controlled vocabulary terms representing the preservation state(s) of a food sample (e.g., \"raw\")." ;
  rdfs:range mifc:FoodPreservationState ;
  a owl:FunctionalProperty .

schema:name a owl:DatatypeProperty ;
  rdfs:comment "A controlled vocabulary term representing the primary food material which was sampled." ;
  skos:note "The food_primary_type could be sourced from one of various food vocabularies such as USDA's FDC vocabulary, FoodEx2, LanguaL, or FoodOn." ;
  skos:exactMatch FDC:NDB_number ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_animal_breed_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the breed name of the primary food material." ;
  skos:note "This slot should only be used in cases where food material is an animal with a recognizable breed name that is managed by a national breed registry, breed association, or similar organization. E.g., \"Wagyu\" for the Wagu cattle breed." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_icncp_cultivar_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the cultivar name of the primary food material as specified by the International Code of Nomenclature for Cultivated Plants (ICNCP)." ;
  skos:note "The ICNCP only applies to algae, fungi, and plant species. If present this slot should be used in addition to the food_primary_type_icncp_group_name slot." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_icncp_group_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the Group (or cultivar-group) formal taxon category of the primary food material as specified by the International Code of Nomenclature for Cultivated Plants (ICNCP)." ;
  skos:note "This slot requires discussion as it alternatively be included as part of the food_primary_type_scientific_name slot." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_label a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the label of a controlled vocabulary term representing the primary food material which was sampled." ;
  skos:closeMatch PTFI:Specimen_Food_Product_Name ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_ncbi_taxon_id a owl:DatatypeProperty ;
  rdfs:comment "A curie from the ontology representation of the NCBI organismal taxonomy (NCBITaxon) describing the taxonomic identifier of the primary food material." ;
  skos:note "To do specify an NCBITaxon curie as the range for the slot." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_primary_type_scientific_name a owl:DatatypeProperty ;
  rdfs:comment "A string denoting the scientific name, (in binomial nomenclature) of an organism that a food material is primarily composed of." ;
  skos:note "This slot should only be used in cases where food materials are single ingredient foods or have a limited number of additives e.g. \"salted Nori seaweed\" or \"filleted anchovies canned in oil\"." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_ripeness_state a owl:ObjectProperty ;
  rdfs:comment "An enumerated set of controlled vocabulary terms representing the qualitative freshness state of a food sample when prepared for analysis." ;
  rdfs:range mifc:FoodRipenessState ;
  a owl:FunctionalProperty .

mifc:food_sell_by_date a owl:DatatypeProperty ;
  rdfs:comment "A datetime value representing a date that indicates to stores how long to display a food product for sale for inventory management purposes." ;
  skos:note "Definition sourced from https://www.fsis.usda.gov/food-safety/safe-food-handling-and-preparation/food-safety-basics/food-product-dating." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:food_storage_temperature_state a owl:ObjectProperty ;
  rdfs:comment "An enumerated set of controlled vocabulary terms representing the qualitative temperature state at which a food sample was stored prior to acquisition (e.g., \"Refrigerated\")." ;
  rdfs:range mifc:FoodStorageTemperatureState ;
  a owl:FunctionalProperty .

mifc:food_upc_code a owl:DatatypeProperty ;
  rdfs:comment "An string denoting a Universal Product Code (UPC) barcode of a food sample." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:provenance_contributor_orcid a owl:DatatypeProperty ;
  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 ;
  a owl:FunctionalProperty .

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

mifc:provenance_mifc_version_tag a owl:DatatypeProperty ;
  rdfs:comment "A string corresponding to a named MIFC release number (e.g., \"v1.0.1\")." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

mifc:provenance_organization_name a owl:DatatypeProperty ;
  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 ;
  a owl:FunctionalProperty .

mifc:components a owl:ObjectProperty ;
  rdfs:range schema:Component .

mifc:foods a owl:ObjectProperty ;
  rdfs:range schema:Food .

mifc:provenances a owl:ObjectProperty ;
  rdfs:range schema:Provenance .

mifc:CompoundAnalyticalMeasurementMethod a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:CompoundAnalyticalMeasurementMethod.FLUOROMETRIC mifc:CompoundAnalyticalMeasurementMethod.GC mifc:CompoundAnalyticalMeasurementMethod.GLC mifc:CompoundAnalyticalMeasurementMethod.GRAVIMETRIC OBI:0002116 mifc:CompoundAnalyticalMeasurementMethod.KJELDAHL mifc:CompoundAnalyticalMeasurementMethod.NEPHELOMETRY )
  ] .

mifc:CompoundAnalyticalMeasurementMethod.FLUOROMETRIC a owl:NamedIndividual ;
  skos:notation "Fluorometric" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:CompoundAnalyticalMeasurementMethod.GC a owl:NamedIndividual ;
  skos:notation "GC" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:CompoundAnalyticalMeasurementMethod.GLC a owl:NamedIndividual ;
  skos:notation "GLC" ;
  rdfs:comment "gas-liquid chromatography" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:CompoundAnalyticalMeasurementMethod.GRAVIMETRIC a owl:NamedIndividual ;
  skos:notation "Gravimetric" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

OBI:0002116 a owl:NamedIndividual ;
  skos:notation "HPLC" ;
  rdfs:comment "High performance liquid chromotography" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:CompoundAnalyticalMeasurementMethod.KJELDAHL a owl:NamedIndividual ;
  skos:notation "Kjeldahl" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:CompoundAnalyticalMeasurementMethod.NEPHELOMETRY a owl:NamedIndividual ;
  skos:notation "Nephelometry" ;
  a mifc:CompoundAnalyticalMeasurementMethod .

mifc:FoodAcquisitionLocationType a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:FoodAcquisitionLocationType.BIOBANK mifc:FoodAcquisitionLocationType.FIELD mifc:FoodAcquisitionLocationType.FRESH_MARKET mifc:FoodAcquisitionLocationType.OTHER mifc:FoodAcquisitionLocationType.SMALL_GROCERY mifc:FoodAcquisitionLocationType.SUPERMARKET mifc:FoodAcquisitionLocationType.UNKNOWN )
  ] .

mifc:FoodAcquisitionLocationType.BIOBANK a owl:NamedIndividual ;
  skos:notation "biobank" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.FIELD a owl:NamedIndividual ;
  skos:notation "field" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.FRESH_MARKET a owl:NamedIndividual ;
  skos:notation "fresh market" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.OTHER a owl:NamedIndividual ;
  skos:notation "other" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.SMALL_GROCERY a owl:NamedIndividual ;
  skos:notation "small grocery" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.SUPERMARKET a owl:NamedIndividual ;
  skos:notation "supermarket" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodAcquisitionLocationType.UNKNOWN a owl:NamedIndividual ;
  skos:notation "unknown" ;
  a mifc:FoodAcquisitionLocationType .

mifc:FoodCookingMethod a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:FoodCookingMethod.BAKED mifc:FoodCookingMethod.BLANCHED mifc:FoodCookingMethod.BOILED mifc:FoodCookingMethod.BRAISED mifc:FoodCookingMethod.BROILED mifc:FoodCookingMethod.COOKED mifc:FoodCookingMethod.DRY_HEAT_COOKED mifc:FoodCookingMethod.DRY_ROASTED mifc:FoodCookingMethod.FRIED mifc:FoodCookingMethod.GRILLED mifc:FoodCookingMethod.HEATED mifc:FoodCookingMethod.MICROWAVED mifc:FoodCookingMethod.MOIST_HEAT_COOKED mifc:FoodCookingMethod.OIL_ROASTED mifc:FoodCookingMethod.PAN_BROILED mifc:FoodCookingMethod.PAN_BROWNED mifc:FoodCookingMethod.PAN_FRIED mifc:FoodCookingMethod.PARBOILED mifc:FoodCookingMethod.PARTIALLY_FRIED mifc:FoodCookingMethod.POACHED mifc:FoodCookingMethod.PRECOOKED mifc:FoodCookingMethod.REFRIED mifc:FoodCookingMethod.ROASTED mifc:FoodCookingMethod.SAUTEED mifc:FoodCookingMethod.SIMMERED mifc:FoodCookingMethod.SLOW_ROASTED mifc:FoodCookingMethod.SMOKED mifc:FoodCookingMethod.SPIT_ROASTED mifc:FoodCookingMethod.STEAMED mifc:FoodCookingMethod.STEWED mifc:FoodCookingMethod.STIR_FRIED mifc:FoodCookingMethod.TOASTED mifc:FoodCookingMethod.UNCOOKED mifc:FoodCookingMethod.UNHEATED )
  ] .

mifc:FoodCookingMethod.BAKED a owl:NamedIndividual ;
  skos:notation "baked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.BLANCHED a owl:NamedIndividual ;
  skos:notation "blanched" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.BOILED a owl:NamedIndividual ;
  skos:notation "boiled" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.BRAISED a owl:NamedIndividual ;
  skos:notation "braised" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.BROILED a owl:NamedIndividual ;
  skos:notation "broiled" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.COOKED a owl:NamedIndividual ;
  skos:notation "cooked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.DRY_HEAT_COOKED a owl:NamedIndividual ;
  skos:notation "dry-heat cooked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.DRY_ROASTED a owl:NamedIndividual ;
  skos:notation "dry-roasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.FRIED a owl:NamedIndividual ;
  skos:notation "fried" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.GRILLED a owl:NamedIndividual ;
  skos:notation "grilled" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.HEATED a owl:NamedIndividual ;
  skos:notation "heated" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.MICROWAVED a owl:NamedIndividual ;
  skos:notation "microwaved" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.MOIST_HEAT_COOKED a owl:NamedIndividual ;
  skos:notation "moist-heat cooked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.OIL_ROASTED a owl:NamedIndividual ;
  skos:notation "oil-roasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PAN_BROILED a owl:NamedIndividual ;
  skos:notation "pan-broiled" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PAN_BROWNED a owl:NamedIndividual ;
  skos:notation "pan-browned" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PAN_FRIED a owl:NamedIndividual ;
  skos:notation "pan-fried" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PARBOILED a owl:NamedIndividual ;
  skos:notation "parboiled" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PARTIALLY_FRIED a owl:NamedIndividual ;
  skos:notation "partially fried" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.POACHED a owl:NamedIndividual ;
  skos:notation "poached" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.PRECOOKED a owl:NamedIndividual ;
  skos:notation "precooked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.REFRIED a owl:NamedIndividual ;
  skos:notation "refried" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.ROASTED a owl:NamedIndividual ;
  skos:notation "roasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.SAUTEED a owl:NamedIndividual ;
  skos:notation "sauteed" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.SIMMERED a owl:NamedIndividual ;
  skos:notation "simmered" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.SLOW_ROASTED a owl:NamedIndividual ;
  skos:notation "slow-roasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.SMOKED a owl:NamedIndividual ;
  skos:notation "smoked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.SPIT_ROASTED a owl:NamedIndividual ;
  skos:notation "spit-roasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.STEAMED a owl:NamedIndividual ;
  skos:notation "steamed" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.STEWED a owl:NamedIndividual ;
  skos:notation "stewed" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.STIR_FRIED a owl:NamedIndividual ;
  skos:notation "stir-fried" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.TOASTED a owl:NamedIndividual ;
  skos:notation "toasted" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.UNCOOKED a owl:NamedIndividual ;
  skos:notation "uncooked" ;
  a mifc:FoodCookingMethod .

mifc:FoodCookingMethod.UNHEATED a owl:NamedIndividual ;
  skos:notation "unheated" ;
  a mifc:FoodCookingMethod .

mifc:FoodPreservationState a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:FoodPreservationState.AIR_DRIED mifc:FoodPreservationState.ARTIFICIALLY_DRIED mifc:FoodPreservationState.BRINED mifc:FoodPreservationState.CANDIED mifc:FoodPreservationState.CANNED mifc:FoodPreservationState.CURED mifc:FoodPreservationState.DRIED mifc:FoodPreservationState.FERMENTED mifc:FoodPreservationState.FREEZE_DRIED mifc:FoodPreservationState.FRESH mifc:FoodPreservationState.HEAT_TREATED mifc:FoodPreservationState.IRRADIATED mifc:FoodPreservationState.JELLIED mifc:FoodPreservationState.KIPPERED mifc:FoodPreservationState.NATURALLY_DRIED mifc:FoodPreservationState.PASTEURIZED mifc:FoodPreservationState.PICKLED mifc:FoodPreservationState.RAW mifc:FoodPreservationState.SHELF_STABLE mifc:FoodPreservationState.SUN_DRIED mifc:FoodPreservationState.ULTRAVIOLET_LIGHT_EXPOSED )
  ] .

mifc:FoodPreservationState.AIR_DRIED a owl:NamedIndividual ;
  skos:notation "air-dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.ARTIFICIALLY_DRIED a owl:NamedIndividual ;
  skos:notation "artificially dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.BRINED a owl:NamedIndividual ;
  skos:notation "brined" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.CANDIED a owl:NamedIndividual ;
  skos:notation "candied" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.CANNED a owl:NamedIndividual ;
  skos:notation "canned" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.CURED a owl:NamedIndividual ;
  skos:notation "cured" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.DRIED a owl:NamedIndividual ;
  skos:notation "dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.FERMENTED a owl:NamedIndividual ;
  skos:notation "fermented" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.FREEZE_DRIED a owl:NamedIndividual ;
  skos:notation "freeze-dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.FRESH a owl:NamedIndividual ;
  skos:notation "fresh" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.HEAT_TREATED a owl:NamedIndividual ;
  skos:notation "heat treated" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.IRRADIATED a owl:NamedIndividual ;
  skos:notation "irradiated" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.JELLIED a owl:NamedIndividual ;
  skos:notation "jellied" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.KIPPERED a owl:NamedIndividual ;
  skos:notation "kippered" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.NATURALLY_DRIED a owl:NamedIndividual ;
  skos:notation "naturally dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.PASTEURIZED a owl:NamedIndividual ;
  skos:notation "pasteurized" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.PICKLED a owl:NamedIndividual ;
  skos:notation "pickled" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.RAW a owl:NamedIndividual ;
  skos:notation "raw" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.SHELF_STABLE a owl:NamedIndividual ;
  skos:notation "shelf stable" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.SUN_DRIED a owl:NamedIndividual ;
  skos:notation "sun-dried" ;
  a mifc:FoodPreservationState .

mifc:FoodPreservationState.ULTRAVIOLET_LIGHT_EXPOSED a owl:NamedIndividual ;
  skos:notation "ultraviolet light exposed" ;
  a mifc:FoodPreservationState .

mifc:FoodRipenessState a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:FoodRipenessState.OVERRIPE mifc:FoodRipenessState.RIPE mifc:FoodRipenessState.SLIGHTLY_RIPE mifc:FoodRipenessState.UNRIPE )
  ] .

mifc:FoodRipenessState.OVERRIPE a owl:NamedIndividual ;
  skos:notation "overripe" ;
  a mifc:FoodRipenessState .

mifc:FoodRipenessState.RIPE a owl:NamedIndividual ;
  skos:notation "ripe" ;
  a mifc:FoodRipenessState .

mifc:FoodRipenessState.SLIGHTLY_RIPE a owl:NamedIndividual ;
  skos:notation "slightly ripe" ;
  a mifc:FoodRipenessState .

mifc:FoodRipenessState.UNRIPE a owl:NamedIndividual ;
  skos:notation "unripe" ;
  a mifc:FoodRipenessState .

mifc:FoodStorageTemperatureState a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( mifc:FoodStorageTemperatureState.CHILLED mifc:FoodStorageTemperatureState.FOODSAFE_CHILLED mifc:FoodStorageTemperatureState.FROZEN mifc:FoodStorageTemperatureState.REFRIGERATED )
  ] .

mifc:FoodStorageTemperatureState.CHILLED a owl:NamedIndividual ;
  skos:notation "chilled" ;
  a mifc:FoodStorageTemperatureState .

mifc:FoodStorageTemperatureState.FOODSAFE_CHILLED a owl:NamedIndividual ;
  skos:notation "foodsafe chilled" ;
  a mifc:FoodStorageTemperatureState .

mifc:FoodStorageTemperatureState.FROZEN a owl:NamedIndividual ;
  skos:notation "frozen" ;
  a mifc:FoodStorageTemperatureState .

mifc:FoodStorageTemperatureState.REFRIGERATED a owl:NamedIndividual ;
  skos:notation "refrigerated" ;
  a mifc:FoodStorageTemperatureState .

dcterms:license a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:closeMatch a owl:AnnotationProperty .

skos:note a owl:AnnotationProperty .

skos:exactMatch a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
