@prefix adms:  <http://www.w3.org/ns/adms#> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix food:  <http://data.lirmm.fr/ontologies/food#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .

food:code  a         rdf:Property ;
        rdfs:domain  food:FoodProduct ;
        rdfs:label   "Identifier: usually a barcode such as EAN-13 (European Article Numbering) or UPC-A (Universal Product Code)" .

food:chromiumPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: chromium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:containsIngredient
        a             rdf:Property ;
        rdfs:comment  "Value is an object of the class Ingredient so that we can specify the quantity, the unit, and the nature of the ingredient (string or other Food object)\n\ne.g. 1 clove of garlic -> quantity = 1, unit = clove, ingredient = garlic (or Food object for garlic)" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Specifies an ingredient contained in the Food object" ;
        rdfs:range    food:Ingredient .

food:Mark  a           foaf:Person ;
        foaf:homepage  <http://data.lirmm.fr/ontologies/food> ;
        foaf:name      "Mark Harrison" .

food:ironPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: ironPer100g (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:silicaPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Dish ;
        rdfs:label   "Nutrition data: silica (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:iodinePer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: iodine (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:bicarbonatePer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: bicarbonate (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminDPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin D (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:seleniumPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: selenium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:omega3Fatper100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: omega 3 fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminB1Per100g
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that vitamin B1 is also known as thiamin" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: vitamin B1 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:sugarsPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "Nutrition data: sugars (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range  rdfs:Literal .

food:vitaminB9Per100g
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that vitamin B9 is also known as folacin or folic acid or vitamin M" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: vitamin B9 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:NutritionData  a  owl:Class , rdfs:Class ;
        rdfs:label  "Nutrition data for a food item (recipe, product or ingredient)" .

food:phosphorusPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: phosphorus (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:calciumPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: calcium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminAPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin A (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminB6Per100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin B6 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:LIRMM  a          dcterms:Agent ;
        foaf:homepage  <http://www.lirmm.fr> ;
        foaf:member    <http://data.lirmm.fr/ontologies/food#fran%C3%A7ois> ;
        foaf:name      "LIRMM" .

food:biotinPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that biotin is also known as vitamin H or vitamin B7" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: biotin (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:rank  a         owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Ingredient ;
        rdfs:label   "Rank of an ingredient in an ingredient list ordered by quantity (e.g. food products)" ;
        rdfs:range   xsd:integer .

food:sodiumPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "Nutrition data: sodium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range  rdfs:Literal .

food:netWeight  a   owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "net weight of a food product (g) " ;
        rdfs:range  rdfs:Literal .

food:transFatPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: trans fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminB12Per100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin B12 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:percent  a       rdf:Property ;
        rdfs:comment  "Useful in particular for food products" ;
        rdfs:domain   food:Ingredient ;
        rdfs:label    "Quantity of ingredient in percentage % of the total amount of ingredients in a Food" .

food:vitaminEPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin E (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:pantothenicAcidPer100g
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that pantothenic acid is also known as vitamin B5" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: pantothenic acid (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:vitaminB2Per100g
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that vitamin B2 is also known as riboflavin" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: vitamin B2 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:FoodProduct  a      owl:Class , rdfs:Class ;
        rdfs:label       "A manufactured food product" ;
        rdfs:subClassOf  food:Food .

food:unit  a          owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "e.g. 1 clove of garlic -> quantity = 1, unit = clove, ingredient = garlic (or Food object for garlic)" ;
        rdfs:domain   food:Ingredient ;
        rdfs:label    "Unit for the specified quantity" ;
        rdfs:range    xsd:string .

food:fluoridePer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: fluoride (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:carbonFootprintPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Carbon foorprint (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:EmmanuelNauer  a  foaf:Person ;
        foaf:homepage  <http://data.lirmm.fr/ontologies/food> ;
        foaf:name      "Emmanuel Nauer" .

food:ttl  a                 adms:SemanticDistribution ;
        dcterms:FileFormat  <http://data.lirmm.fr/ontologies/food> ;
        dcterms:license     <http://creativecommons.org/licenses/by/3.0/> ;
        adms:accessURL      "http://data.lirmm.fr/ontologies/food.ttl" ;
        adms:status         <http://purl.org/adms/status/Completed> .

food:vitaminPpPer100g
        a           rdf:Property ;
        rdfs:label  "vitaminPpPer100g" .

food:potassiumPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: potassium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:Ingredient  a    owl:Class , rdfs:Class ;
        rdfs:comment  "Represents an ingredient line in a recipe (for a Dish) or an ingredient listed in the ingredient list (for a Product).\n\nWe need to specify a quantity and unit, so the relation is not binary. So the value for the containsIngredient property of a Food object is an object of the IngredientAmount class (instead of a Food object or string directly). See http://www.w3.org/TR/swbp-n-aryRelations/ for details." ;
        rdfs:label    "An ingredient : a certain quantity of food that is part of another food" .

food:saltEquivalentPer100g
        a           owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "Nutrition data: equivalent in salt (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range  rdfs:Literal .

food:Recipe  a           owl:Class , rdfs:Class ;
        rdfs:comment     "A recipe as a set of ingredients together with the protocol to prepare the resulting food" ;
        rdfs:label       "Recipe" ;
        rdfs:subClassOf  owl:Thing .

<http://data.lirmm.fr/ontologies/food#St%C3%A9phaneGigandet>
        a              foaf:Person ;
        foaf:homepage  <http://data.lirmm.fr/ontologies/food> ;
        foaf:name      "Stéphane Gigandet" .

food:fatPer100g  a   owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminB3Per100g
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that vitamin B3 is also known as vitamin Pp or niacin or nicotinic acid" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: vitamin B3 (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

<http://data.lirmm.fr/ontologies/food>
        a                              owl:Ontology , adms:SemanticAsset ;
        dc:creator                     <http://data.lirmm.fr/ontologies/food#fran%C3%A7ois> , <http://data.lirmm.fr/ontologies/food#St%C3%A9phaneGigandet> , food:EmmanuelNauer , food:Mark ;
        dc:license                     "http://creativecommons.org/licenses/by/3.0/" ;
        dcterms:created                "2013-09-24"^^xsd:date ;
        dcterms:description            "This ontology models the Food domain. It allows to describe ingredients and food products." ;
        dcterms:modified               "2013-09-24"^^xsd:date ;
        dcterms:partOf                 <http://data.lirmm.fr/ontologies> ;
        dcterms:publisher              "http://data.lirmm.fr/ontologies/food#LIRMM" ;
        dcterms:status                 <http://purl.org/adms/status/UnderDevelopment> ;
        dcterms:title                  "Food Ontology" ;
        dcterms:type                   <http://purl.org/adms/assettype/Ontology> ;
        vann:preferredNamespacePrefix  "food" ;
        vann:preferredNamespaceUri     "http://data.lirmm.fr/ontologies/food#" ;
        foaf:homepage                  <http://data.lirmm.fr/ontologies/food.html> .

<http://data.lirmm.fr/ontologies/food#fran%C3%A7ois>
        a              foaf:Person ;
        foaf:homepage  <http://www.scharffe.fr> ;
        foaf:name      "François Scharffe" .

food:copperPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: copper (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminKPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: vitamin K (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:saturatedFatPer100g
        a           owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "Nutrition data: saturated fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range  rdfs:Literal .

food:monounsaturatedFatPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: monounsaturated fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:polyunsaturatedFatPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: polyunsaturated fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:carbohydratesPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: carbohydrates (in g) per 100g (or 100ml for liquids) " ;
        rdfs:range   xsd:decimal .

food:polyolsPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: polyols (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:proteinsPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: proteins (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:starchPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: starch (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:molybdenumPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: molybdenum (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:omega6FatPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: omega 6 fat (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:manganesePer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: manganese (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:Dish  a             owl:Class , rdfs:Class ;
        rdfs:label       "A dish is a food item with a recipe" ;
        rdfs:subClassOf  food:Food .

food:ingredientListAsText
        a             owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Full text of the list of ingredients of a Food item (Product or Dish). May contain more details than what can be listed in the containsIngredient properties." ;
        rdfs:domain   food:Food ;
        rdfs:label    "Text of the list of ingredients" ;
        rdfs:range    xsd:string .

food:quantity  a      owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "e.g. 1 clove of garlic -> quantity = 1, unit = clove, ingredient = garlic (or Food object for garlic)" ;
        rdfs:domain   food:Ingredient ;
        rdfs:label    "quantity of ingredient in any unit (unit specified in unit)" ;
        rdfs:range    rdfs:Literal .

food:rdf  a                 adms:SemanticDistribution ;
        dcterms:FileFormat  <http://data.lirmm.fr/ontologies/food> ;
        dcterms:license     <http://creativecommons.org/licenses/by/3.0/> ;
        adms:accessURL      "http://data.lirmm.fr/ontologies/food.rdf" ;
        adms:status         <http://purl.org/adms/status/Completed> .

food:food  a          rdf:Property ;
        rdfs:comment  "String or Food object" ;
        rdfs:domain   food:Ingredient ;
        rdfs:label    "Food that is an ingredient of another food" ;
        rdfs:range    food:Food .

food:magnesiumPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: magnesium (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:vitaminCPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "Note that vitamin C is also known as L-ascorbic acid" ;
        rdfs:domain   food:Food ;
        rdfs:label    "Nutrition data: vitamin C (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range    xsd:decimal .

food:Food  a             owl:Class , rdfs:Class ;
        rdfs:label       "Anything that can be eaten: a basic Food item (e.g. salt), a Dish made with a recipe, a manufactured Food Product" ;
        rdfs:subClassOf  owl:Thing .

food:fiberPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:label  "Nutrition data: fiber (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range  rdfs:Literal .

food:cholesterolPer100g
        a            owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: cholesterol (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:zincPer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: zinc (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:chloridePer100g  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: chloride (in g) per 100g (or 100ml for liquids)" ;
        rdfs:range   xsd:decimal .

food:energyPer100g  a  rdf:Property ;
        rdfs:domain  food:Food ;
        rdfs:label   "Nutrition data: energy (in kJ) per 100g (or 100ml for liquids)" .
