FoodOntology / foodon

The core repository for the FOODON food ontology project. This holds the key classes of the ontology; larger files and the results of text-mining projects will be stored in other repos.
Creative Commons Attribution 4.0 International
177 stars 36 forks source link

Homogeneity between fruit peel and root, tuber or bulb peel only #83

Open francois178 opened 4 years ago

francois178 commented 4 years ago

Hello, I have two questions about peel:

1°) consistency Fruit peel (anatomical part) is defined with an equivalent to 'output of some food peeling process'. This makes sense Root, tuber or bulb, peel only has not this equivalence but in this cas it will be an output of food peeling process also. (furthermore it could be labeled in the same way as fruits: Root, tuber or bulb peel (anatomical part) Is there any rational or is there any place for improvement for this topic?

2°) Fruit core link to process Intuitively, one could see raw fruit as an input of food peeling process leading to two outputs: peel and core. Core is not defined with an equivalence to 'output of some food peeling process'. Is this due to the fact that core is disjoint from peel and it is expected that inference occurs? Or to would make sense to connect core, peel and raw fruit through peeling process?

Thanks!

image

ddooley commented 4 years ago

Yes "Root, tuber or bulb, peel only" should have that same 'specified output of' some 'food peeling process' too. I'll add that axiom now.
About peel and core - Your last point sounds right to me. The 'food peeling process' outputs both the peel and the peeled fruit when given some input fruit. So the equivalency axioms should probably shift those to necessary (subClassOf) but not sufficient (not equivalent) conditions. Does that work for you? For 'root, tuber or bulb, peel only' we could say "'output of' some ('food peeling process' and 'has specified input' some 'root, tuber or bulb with peel')

Are you building up to a nice example of logic applied to this domain?

francois178 commented 4 years ago

Yes, this should work. Thank you! Is there any way to contribute?

Yes, I am working on an example applied to this domain. I am working on converting recipies to "algorithms" with atomic operations in order to schedule operation for several recipies (eg. batchcooking) distributed to several operators (eg. family members), and later to propose variants of recipies. I am also interested in the modeling of the physical and chemical reactions accuring during the coocking process. The first step is to interpret the recipies and several approaches are possible, ontology being one of them. This rises a lot of questions and I will certainly open other 'issues' if this is the good place for that. I will make a first rustic prototyp in python (I will probably use owlready2 lib). This proto could be helpfull to test parts the ontologic model.

ddooley commented 4 years ago

Indeed, issues board is great for any FoodOn term specific requests, updates, fixes or suggestions; general design questions can be posted there, or we have a FoodOn google group at: https://groups.google.com/forum/#!forum/foodon-consortium which you can sign up to; I've posted a number of design commentaries there.

You could contribute via pull requests directly, but some aspects are daunting. At moment the FoodOn build process is somewhat complex, but briefly: the github repo's /src/ontology/foodon-edit.owl file is the main file which may have terms that one is editing - but the other source files for terms are all the OBOFoundry ontology import files (driven by OntoFox config files) in /src/ontology/imports/ folder. A special one that holds all FoodOn food products is "foodon_product_import.owl" which is edited directly.

Is your ontology work a class or thesis, or is this commercial or agency-driven modelling?

ddooley commented 4 years ago

Note, you may be interested in Exact2, a laboratory procedure ontology which is not quite OBOFoundry compatible, and needs improvement, but it shows how laboratory process has many relevant aspects to food recipe procedure.

francois178 commented 4 years ago

answer to: Is your ontology work a class or thesis, or is this commercial or agency-driven modelling?

Actually, it is none. At professional side, I am investigating usage of ontologies for time series annotation and knowledge management. Then I am learning ontologies and looking also what is done for medicine. At private side, I spend a lot of time cooking and I am also coming from a farmers family (eg for the traceability part). I have a lot of books and spending a lot of time planning my meals. I want also something to help planing batch cooking and distributing tasks to my family members. Open source ontologies are a good opportunity to formalise the knowledge in this domain. I will have a look to Exact2. If it works, the app could be posted to an app store but this is not the main purpose of the work. (for commercial app, it would certainly be faster for me to use spoonacular for instance)

For the moment, I did not managed to connect to the discussion group.

francois178 commented 4 years ago

I am working a complete example with oranges. Orange peel (raw) is an interesting point to start: image It is subclassed to 'fruit peel (anatomical part)' and output of some 'food peeling process' This sounds good but fruit peel (anatomical part)' has also equivalent defined with output of some 'food peeling process'. If fruit peel is subclassed from output of food peeling process, I imagine it can be removed from orange peel (raw) because subclassing fruit peel (anatomical part) will contain it?

Now, looking at orange juice, it has subclass (derives from some fruit, peel removed, core, pit or seed removed -- which is not related to a process neither to fruit anatomical parts). Directly juice could be related to the fruit core but it is not output of a food peeling process but a fruit squeeze process.

This illustrate that is not as easy to define fruit core as an output of food peeling process. Fruit core can be output of several process. It could be related with a or relation, then the juice class refines this by filtering one process only?

Furthermore, orange core is a complicated one because it still contains skin and pith that can been removed in another peeling process to obtain supremes (which are not defined in the orange food product, they can be sold as it).

francois178 commented 4 years ago

Here is a simple concept map to summarise:

image

Separation between juice and core is very questionable. It is the fruit core in another form. Juice could be core with a liquid/semiliquid property.

ddooley commented 4 years ago

I think we can make a distinction for oranges of the exocarp and mesocarp vs some of the other membrane material that you still get with squeezing / crushing etc. I'll look into that, visa vis Plant Ontology. I'm a bit busy these next few days so may not be able to get back right away.

But I really like this level of detail - this is exactly what FoodOn wants to exhibit so thanks for putting this under the microscope. We will incorporate changes, including moving equivalentTo expressions into subClassOf where appropriate.

ddooley commented 4 years ago

Just turning back to this, more time on it next week. But I'd say that core can be define with respect to plant ontology parts. Juice would be described with Pato liquid qualities and we'd say it 'derives from' some core. That would leave some "wiggle room" about whether the juice had pulp in it.

francois178 commented 4 years ago

This could be interesting. I was trying to understand why lemon food product was so different from orange food product for instance because in usage they are very close. This lead me to the case of yuzu (not present for the moment in foodon). Yuzu is very close to lemon or orange also but contains a huge quantity of seeds so that it is barely impossible to eat the core. Generally, juice is more often used.I am wondering if it makes sense to say that orange, lemon, pomelo, yuzu, ... are subclasses of citrus food product that contains all the common information (eg candied peel is used for almost of them but I never saw it for kumquat) and that some qualities or properties can just trace the specific aspects.

ddooley commented 4 years ago

Yes, that sounds like the way to go. At moment in FoodOn I didn't do the manual curation on lemon area like I did in the orange area. But all citrus fruit should follow the same pattern. Another thing to note is that FoodOn food products mostly originated as SIREN database food items that were indexed with LanguaL descriptors. So some foods like orange had alot more content to them than others, like lemons. We're curating each section of foods a second time to clean up or enhance the modelling that wasn't in SIREN.

ddooley commented 4 years ago

So as posted on the foodon consortium discussion list, we're posing a design question about to what extent multi-component foods get placed as subClassOf 'food product by organism' branch explicitly, or alternately how much they would be reasoned to be under there, or just remain in their "multi-comonent food product" branch.

Currently the food product by organism branch explicitly lists food products that are simple process output of an organism (e.g. a harvested whole raw orange, a sliced or peeled orange), as well as a variety of multicomponent / multi-source foods (like orange marmalade or 'tapenade provencale'). I think it makes sense to primarily list (or have inferred) multicomponent / multi-source foods under the multi-component food class (a food with at least 2 ingredients), but perhaps also have some of those inferred to be under "food product by organism". The question is how can we limit ingredient criteria so that the "food product by organism" subclasses don't end up containing too much? How do we prevent 'tapenade provencale" from being inferred as an "oregano food product" when oregano is an ingredient?

One possibility is that for a multi-component product to end up under a "food product by organism" class, the organism or part must be listed as a defining ingredient. Other defining or required/optional ingredients may be included. If this is too broad, we could we could limit further to say a "food product by organism" may only have one defining ingredient.

On a related subject, below is a model for citrus fruit and underlying orange fruit product. I'm thinking "orange (whole or parts)" should be renamed "orange substance". We would do this to have a home under orange food product for things that are just orange and no other ingredient (and this would include orange juice), and the above inferred multi-component orange products. The same pattern would apply for many other kinds of product. Bean food product already uses this pattern.

food_nutrition_informatic_model

This next diagram makes the point that we can add a process layer to the thing or noun focused hierarchy above.

food_nutrition_processual_model