A couple of questions on OWL modeling

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

Received on Friday, 22 November 2013 10:23:56 UTC