Hi,

I am building a "nutritional knowledge base" and I have stumbled about a few 
things I would like to ask an opinion about, especially from the OWL-savy 
people.

The first question is: to model restrictions on the value of a datatype 
property, is the only way to go for the definition of a corresponding datatype ?
For instance, if I have an hasProteinPercentage data property, and I want to 
define the class of high-protein food, I can go by defining the high-percentage 
data type and then basically: HighProteinFood hasProteinPercentage --only-- 
high-percentage (Note that the -- -- indicates I'm putting placeholder syntax).

Another question. This is actually an interesting case (at least for me). I 
have an individual (which is a real world individual, like a packaged cheese I 
hold in my hand) whose ingredients are (example) "Salt", "Any fat cheese".
How would you model this ? Would you go for an anonymous individual ?
Like in: myCheese hasIngredient -- anon -- of type Fat Cheese.

Finally, how would you model quantities of ingredients ?
let's say that food x (normalized to 100g) contains 10g of salt.
One option (the one I would prefer) is to have the food having an "Component" 
kind of entity, and this "Component" being characterized by a quantity and an 
substance (salt).
Another option could be to have cardinalities restrictions (hasIngredient 
exactly 10 salt). I have seen used this approach but I think it is not 
appropriate. having 10g of salt is not the same has saying "ha person has one 
and only one head". If it was 11g, it would not change the entity type, really. 
Plus not all numbers are integer.

Any hints/opinions ?

best,
Andrea Splendiani




Reply via email to