@base . @prefix dcmit: . @prefix dcterms: . @prefix dctypes: . @prefix fo: . @prefix foaf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix skos: . @prefix v: . @prefix vs: . @prefix xsd: . @prefix dc: . @prefix provenance: . ############################################################################ # General description of the schema ############################################################################ fo: a owl:Ontology , provenance:Ontology ; dcterms:title "Food Ontology"@en-gb ; rdfs:label "Food Ontology"^^xsd:string ; rdfs:comment "A simple vocabulary for describing recipes, ingredients, menus and diets."@en-gb ; foaf:maker <#rija>, <#oliver>, <#philip>, <#andrew>, <#rob> ; dcterms:created "2011-07-08"^^xsd:date ; dcterms:license ; provenance:canonicalLocation "https://repo.dev.bbc.co.uk/services/linked-data/ontologies/domain/kl/food/food-ontology-1-1.ttl"^^xsd:string ; provenance:changeReason "Fix a typo of occassion"^^xsd:string ; dc:date "Date: 2014/03/18 16:30:00 " ; provenance:slug "fo"^^xsd:string ; provenance:version "1.1"^^xsd:double ; provenance:public "true"^^xsd:boolean ; owl:imports vs: , dc: , dcterms: , foaf: , provenance: ; owl:priorVersion ; owl:versionIRI ; owl:versionInfo "1.1"^^xsd:string . <#rija> a foaf:Person ; foaf:name "Rija Menage" . <#oliver> a foaf:Person ; foaf:name "Oliver Bartlett" . <#philip> a foaf:Person ; foaf:name "Philip Lamond" . <#andrew> a foaf:Person ; foaf:name "Andrew Robinson" . <#rob> a foaf:Person ; foaf:name "Rob Styles" . ############################################################################ # Classes ############################################################################ fo:Recipe a owl:Class ; owl:sameAs v:Recipe ; rdfs:label "Recipe"@en-gb ; rdfs:comment "A Recipe is a combination of ingredients and a method, created by a chef, that produces a food."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Method a owl:Class ; rdfs:subClassOf rdf:Seq ; rdfs:label "Method"@en-gb ; rdfs:comment "A Method is the way in which ingredients are combined, using particular techniques, in order to produce a food. A method is part of a recipe and is also an rdf:Seq."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Step a owl:Class ; rdfs:label "Step"@en-gb ; rdfs:comment "A Step is the lowest level of instruction used in a recipe. A sequence of steps form a method."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:StageSequence a owl:Class ; rdfs:subClassOf rdf:Seq ; rdfs:label "StageSequence"@en-gb ; rdfs:comment "Where a recipe has a number of stage, for example where a recipe states 'for the sauce' a stage sequence provides a way to sequence the stages (rdf:Seq) into the desired order."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Stage a owl:Class ; rdfs:label "Stage"@en-gb ; rdfs:comment "A Stage is a part of a recipe that may have its own ingredient list and/or method. It allows the different parts of a multi-part recipe to be modelled seperately, yet as part of the same recipe."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:IngredientList a owl:Class ; rdfs:subClassOf rdf:Seq ; rdfs:label "IngredientList"@en-gb ; rdfs:comment "An IngredientList is a sequence (rdf:Seq) of ingredients in the order they should be listed in the recipe."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Ingredient a owl:Class ; owl:sameAs v:Ingredient ; rdfs:label "Ingredient"@en-gb ; rdfs:comment "An Ingredient is the combination of a quantity and a food, giving the amount of something that should be used in the recipe."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Food a owl:Class ; rdfs:label "Food"@en-gb ; rdfs:comment "A Food is something that can be eaten. It may be a basic food such as salt or it may be the more complex result of another recipe, for example chicken stock. A recipe uses foods as part of ingredients and also produces foods to be eaten."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Collection a owl:Class ; rdfs:subClassOf dcmit:Collection ; rdfs:label "Collection"@en-gb ; rdfs:comment "A Collection is a group of recipes that are brought together because they have something in common. Some collections may result from automated queries such as all recipes that share a particular ingredient, other collections may be the result of editorial selection."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Diet a owl:Class ; rdfs:label "Diet"@en-gb ; rdfs:comment "A Diet is a way of selecting food that achieves a particular effect, such as eating in way that is pregnancy-friendly or avoiding foods that contain shellfish."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Menu a owl:Class ; rdfs:subClassOf fo:Collection ; rdfs:label "Menu"@en-gb ; rdfs:comment "A Menu is a collection of recipes, usually one or more per course, that have been selected to go well together. A Menu may also be related to a particular cuisine or occasion."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:ShoppingCategory a owl:Class ; rdfs:label "ShoppingCategory"@en-gb ; rdfs:comment "A Shopping Category is a classification given to a food to indicate where it may be found when shopping."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Technique a owl:Class ; rdfs:label "Technique"@en-gb ; rdfs:comment "A Technique is a way of working with an ingredient to produce a desired effect, for example, whipping cream."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Cuisine a owl:Class ; rdfs:label "Cuisine"@en-gb ; rdfs:comment "A Cuisine is a particular style of food, often based on a region. These classifications are often highly subjective."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Course a owl:Class ; rdfs:label "Course"@en-gb ; rdfs:comment "A Course is the sequence of a dish within a meal. For example a basic dinner party may consists of Starter, Main and Dessert courses."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Occasion a owl:Class ; rdfs:label "Occasion"@en-gb ; rdfs:comment "An Occasion is a recognised event or type of event that a particular food may be suitable for. An exmaple of a particular occassion might be Chinese New Year, whereas a more general occassion might a birthday."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:Season a owl:Class ; rdfs:label "Season"@en-gb ; rdfs:comment "A Season is a period of time that recurs annually during which a food is typically available or at its best."@en-gb ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . ############################################################################ # Object Properties ############################################################################ fo:ingredients a owl:ObjectProperty ; rdfs:label "ingredients"@en-gb ; rdfs:comment "The ingredients property relates a recipe or recipe stage to an ingredient list."@en-gb ; rdfs:range fo:IngredientList ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:food a owl:ObjectProperty ; rdfs:label "food"@en-gb ; rdfs:comment "The food property relates an ingredient to the food that is required."@en-gb ; rdfs:range fo:Food ; rdfs:domain fo:Ingredient ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:shopping_category a owl:ObjectProperty ; rdfs:label "shopping category"@en-gb ; rdfs:comment "The shopping category property relates a food to the shopping category where that food is likely to be found when shopping for it."@en-gb ; rdfs:range fo:ShoppingCategory ; rdfs:domain fo:Food ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:method a owl:ObjectProperty ; rdfs:label "method"@en-gb ; rdfs:comment "The method property relates a recipe or stage to the method used to make it."@en-gb ; rdfs:range fo:Method ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:produces a owl:ObjectProperty ; rdfs:label "produces"@en-gb ; rdfs:comment "The produces property relates a recipe to the food it produces."@en-gb ; rdfs:range fo:Food ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:stages a owl:ObjectProperty ; rdfs:label "stages"@en-gb ; rdfs:comment "The stages property relates a recipe to the sequence of stages it contains."@en-gb ; rdfs:range fo:StageSequence ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:canape a owl:ObjectProperty ; rdfs:label "canape"@en-gb ; rdfs:comment "The canape property relates a menu to a recipe that may be served as a canape."@en-gb ; rdfs:range fo:Recipe ; rdfs:domain fo:Menu ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:starter a owl:ObjectProperty ; rdfs:label "starter"@en-gb ; rdfs:comment "The starter property relates a menu to a recipe that may be served as a starter."@en-gb ; rdfs:range fo:Recipe ; rdfs:domain fo:Menu ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:main_course a owl:ObjectProperty ; rdfs:label "main course"@en-gb ; rdfs:comment "The main course property relates a menu to a recipe that may be served as a main course."@en-gb ; rdfs:range fo:Recipe ; rdfs:domain fo:Menu ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:side_dish a owl:ObjectProperty ; rdfs:label "side dish"@en-gb ; rdfs:comment "The side dish property relates a menu to a recipe that may be served as a side dish."@en-gb ; rdfs:range fo:Recipe ; rdfs:domain fo:Menu ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:dessert a owl:ObjectProperty ; rdfs:label "dessert"@en-gb ; rdfs:comment "The dessert property relates a menu to a recipe that may be served as a dessert."@en-gb ; rdfs:range fo:Recipe ; rdfs:domain fo:Menu ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:diet a owl:ObjectProperty ; rdfs:label "diet"@en-gb ; rdfs:comment "The diet property relates a recipe to a diet it may be suitable for."@en-gb ; rdfs:range fo:Diet ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:cuisine a owl:ObjectProperty ; rdfs:label "cuisine"@en-gb ; rdfs:comment "The cuisine property classifies a recipe as being an example of that cuisine."@en-gb ; rdfs:range fo:Cuisine ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:occasion a owl:ObjectProperty ; rdfs:label "occassion"@en-gb ; rdfs:comment "The occassion property relates a recipe to an occasion it may be appropriate for."@en-gb ; rdfs:range fo:Occasion ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:required_technique a owl:ObjectProperty ; rdfs:label "required technique"@en-gb ; rdfs:comment "The required technique property indicates that a particular technique is required in order to complete a recipe, method or step."@en-gb ; rdfs:range fo:Technique ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:serve_as a owl:ObjectProperty ; rdfs:label "serve as"@en-gb ; rdfs:comment "The serve as property relates a recipe to the course in a meal that it may be served as."@en-gb ; rdfs:range fo:Course ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:at_its_best a owl:ObjectProperty ; rdfs:label "at its best"@en-gb ; rdfs:comment "The at its best property tells us in what season a particular food is at its best."@en-gb ; rdfs:range fo:Season ; rdfs:domain fo:Food ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . ############################################################################ # Datatype Properties ############################################################################ fo:serves a owl:DatatypeProperty ; rdfs:label "serves"@en-gb ; rdfs:comment "The server property indicates what the recipe is intended to serve, this is often a human readable integer range such as '6-8'."@en-gb ; rdfs:range xsd:string ; rdfs:domain fo:Recipe ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:quantity a owl:DatatypeProperty ; rdfs:label "quantity"@en-gb ; rdfs:comment "A quantity provides a non-negative integer quantity that can be used as a measure of the food stuff for the ingredient."@en-gb ; rdfs:range xsd:nonNegativeInteger ; rdfs:domain fo:Ingredient ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:metric_quantity a owl:DatatypeProperty ; rdfs:label "metric quantity"@en-gb ; rdfs:comment "A metric quantity provides a value and metric unit in a human readable string for use in measuring out an ingredient."@en-gb ; rdfs:range xsd:string ; rdfs:domain fo:Ingredient ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:imperial_quantity a owl:DatatypeProperty ; rdfs:label "imperial quantity"@en-gb ; rdfs:comment "A metric quantity provides a value and imperial unit in a human readable string for use in measuring out an ingredient."@en-gb ; rdfs:range xsd:string ; rdfs:domain fo:Ingredient ; vs:term_status "testing" ; rdfs:isDefinedBy fo: . fo:instruction a owl:DatatypeProperty ; rdfs:label "instruction"@en-gb ; rdfs:comment "An instruction provides the human-readable text associated with a step in the method for a recipe."@en-gb ; rdfs:range xsd:string ; rdfs:domain fo:Step ; vs:term_status "testing" ; rdfs:isDefinedBy fo: .