Changes

Jump to navigation Jump to search
781 bytes removed ,  12:15, 26 August 2018
Line 87: Line 87:     
==== Ingredient ====
 
==== Ingredient ====
The ingredient classes are the sets that represent the individuals. Each normalised individual will be mapped to a single class. Each ingredient class has a necessary and sufficient condition consisting of a single data property.
+
The ingredient classes are the sets that represent the individuals. Each normalised individual will be mapped to a single class.  
   −
<nowiki>DataPropertyAssertion(  :hasName :Butter xsd:string[pattern ".*n:.Butter"])</nowiki>
+
===== URI =====
 +
Each class has a unique URI. We use the canonical ingredient name for this URI plus a namespace prefix, for example: OFF_Butter
   −
A class consists of:
+
===== Necessary condition =====
* '''name''' - written as OFF_INGREDIENT. The name is in principle in english. (what to do if there does not exist an translation?)
+
Each ingredient class has a necessary and sufficient condition (equivalent class expression) consisting of a single data property (one can also specify multiple data properties here if one does not want to do the normalisation):
* '''annotations''':
  −
** '''label''' - describing the class. One for each language. The names as used by wikipedia can be used. Often the label is similar
  −
** '''wikipedia''' - a link to the english page of the corresponding ingredient on Wikipedia.
  −
** '''wikidata''' - the link to the english wikidata entry.
  −
** '''openFoodFacts ingredient''' - a world link to the corresponding ingredient page on OFF.
  −
** '''comment''' - an comment in english can be added to explain the decisions made.
  −
* '''equivalent class expression''' - this can be used to relate the class-name to the instance-name. It is by this that the inference works. It is not clear if this should be used to create equivalent classes.
     −
Producers take a lot of freedom in describing the ingredients they use. This implies that an approach is needed to standardise the ingredients that are found in the ingredients list.
+
<nowiki>DataPropertyAssertion(  :hasName :Butter xsd:string[pattern ".*n:.Butter"])</nowiki>
   −
* '''Main ingredient name''' - an ingredient might appear under different names, the synonyms. Of these multiple names one will be chosen as main ingredient name. The main ingredient name will be defined in a single language.
+
===== Annotations =====
 +
A class can further be described by annotations, such as:
 +
* '''label''' - a user friendly name of the class, probably the canonical name of the ingredient with a corresponding language code. It is possible to add names for eah language. These labels can then serve as translation strings.
 +
* '''wikipedia''' - a link to the corresponding ingredient on Wikipedia. Preferably this link is in english, but other language inks can be added as well
 +
* '''wikidata''' - the link to the english wikidata entry.
 +
* '''openFoodFacts ingredients''' - a  link to the corresponding world ingredient page on OFF.
 +
** '''comment''' - an comment in english can be added to explain how the ingredient is defined.
   −
* '''Synonyms''' - any synonym will be a separate entry
+
===== Axioms =====
 
  −
* '''Translations''' - an ingredient can be translated in multiple languages. However one must be careful that one ingredient is the really the same in another language. Legislation or actual production processes can be different. It might be possible to alert the user to such cases. Not all ingredients will be translatable in all languages
  −
 
  −
* '''Compound ingredients''' - sometimes an ingredient list will contain a compound ingredient, i.e. an ingredient (product?) that consists of other ingredients.
      
==== Super classes ====
 
==== Super classes ====
3,393

edits

Navigation menu