Research Article

FoodWiki: Ontology-Driven Mobile Safe Food Consumption System

Algorithm 1

MatchingScore(Concept , Concept ).
(1) if (() or (hasSynonym() ≡ ) or ( ≡ hasSynonym())) then return degree = EXACT;
(2) if  ([hasGroup() ≡ ) and (hasIs_a() ≡ hasAdditiveType()]  or  [hasGroup(hasSynonym()) ≡ )
   and hasIs_a(hasSynonym()) ≡ hasAdditiveType()])  then return degree = PLUGIN;
(3) if  ([hasGroup() ≡ ) and hasIs_a() ≡ hasAdditiveType()]  or  [hasGroup(hasSynonym()) ≡ )
   and hasIs_a(hasSynonym()) ≡ hasAdditiveType()])  then return degree = SUBSUME;
(4) if (() or (hasSynonym() ≠ ) or ( ≠ hasSynonym()) or (hasGroup() ≠ ) or (hasGroup() ≠ ))
   then return degree = DISSIMILAR;
(Finding the relation and score of a match during the CME, where   and    denote  the concepts,  respectively,
of the Semantically Enhanced Consumer Intolerance List and the Selected Product Ingredients List being tested for matching.)